👤 김여울 (UI)
⚠️ 문제
- 총기, 총알, 발사방식 정보가 나오는 인게임 UI를 만들었지만, 총기 데이터 테이블이 연결되지 않음
- 데이터 테이블이 내 담당이 아니어서 건들지 않는 방법으로 해결하고자 했으나, UI와 데이터 연결에서 어려움 발생
- Primary Data Asset을 C++ 클래스로 변경하여 Soft Reference 방식으로 연결했지만, 설정과 연결에서 어려움이 있었음

🔍 원인
- 데이터 테이블이 UI에서 직접 참조되어 있지 않아 연결이 안 됨
- 기존의 블루프린트에서는 데이터 테이블을 PDA를 통해 직접 참조하려 했으나, 데이터 테이블과 PDA가 연결되지 않음
- Primary Data Asset을 C++ 클래스로 변경하여 Soft Reference 방식으로 연결하려 했지만, 이 과정에서 UI 코드와의 연동 문제가 발생
EquipWeaponClass
, PickUpWeaponClass
등의 값이 PDA로 참조되어야 하는데, 이 부분이 PDA 클래스로 정확히 연결되지 않음
🚧 조치
- PDA를 C++ 클래스로 변경
- WeaponDataAsset을 C++ 클래스로 변환하여 UI에서 이를 참조하도록 설정
- PDA의 값들을
TSoftObjectPtr<UWeaponDataAsset>
로 연결하고, UI에서는 이를 참조하여 무기 이름, 이미지, 탄약 등의 정보를 업데이트하도록 구현
- UI에서 PDA만 사용
- UI 코드에서 PDA만을 사용하도록 하고, 데이터 테이블의 값을 PDA 클래스에서 Soft Reference를 통해 불러오도록 변경
- Primary Data Asset을 각 WeaponDataRow에서 C++ 클래스로 설정
- DataTable에서 PDA 필드 추가하여 WeaponData와 WeaponDataAsset을 참조하게끔 수정
- 무기 정보 업데이트
- UI에서 WeaponName / Ammo / FireMode 등을 PDA에서 받아오도록 수정
- WeaponRow 구조체의 WeaponData 필드가 SoftReference 방식으로 설정되어, 실시간 데이터로 UI 업데이트를 처리하도록 함
- 픽업/이큅 액터에서 데이터 연결
- PickUpWeapon 및 EquipWeapon은 WeaponRow에 DT_Weapon과 RowName을 연결하여 무기 관련 정보를 올바르게 받아올 수 있도록 수정
💡 결과