EnableGDT
Gameplay Ability System의 디버거 UI를 보기 위해 EnableGDT를 호출하였더니 에러가 났다
check(RepNotifyCondition == Other.RepNotifyCondition);
데이터 변형 과정에서 로컬 객체와 복제된 객체의 상태가 일치하지 않아 발생한 오류이다
MyAttributeSet에서 GetLifetimeReplicatedProps(...)에서 매크로 단순화를 해주니 해결되었다.
// 수정 전
void UMyAttributeSet::GetLifetimeReplicatedProps(TArray<class FLifetimeProperty>& OutLifetimeProps) const
{
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
DOREPLIFETIME(UMyAttributeSet, Health);
DOREPLIFETIME(UMyAttributeSet, MaxHealth);
DOREPLIFETIME(UMyAttributeSet, Stamina);
DOREPLIFETIME(UMyAttributeSet, MaxStamina);
DOREPLIFETIME_CONDITION_NOTIFY(UMyAttributeSet, Defense, COND_None, REPNOTIFY_Always);
}
// 수정 후
void UMyAttributeSet::GetLifetimeReplicatedProps(TArray<class FLifetimeProperty>& OutLifetimeProps) const
{
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
DOREPLIFETIME_CONDITION_NOTIFY(UMyAttributeSet, Health, COND_None, REPNOTIFY_Always);
DOREPLIFETIME_CONDITION_NOTIFY(UMyAttributeSet, MaxHealth, COND_None, REPNOTIFY_Always);
DOREPLIFETIME_CONDITION_NOTIFY(UMyAttributeSet, Stamina, COND_None, REPNOTIFY_Always);
DOREPLIFETIME_CONDITION_NOTIFY(UMyAttributeSet, MaxStamina, COND_None, REPNOTIFY_Always);
DOREPLIFETIME_CONDITION_NOTIFY(UMyAttributeSet, Defense, COND_None, REPNOTIFY_Always);
}
'내일배움캠프-언리얼' 카테고리의 다른 글
| [내일배움캠프 - 언리얼] TIL - 66 (1) | 2026.03.17 |
|---|---|
| [내일배움캠프 - 언리얼] TIL - 65 (0) | 2026.03.12 |
| [내일배움캠프 - 언리얼] TIL - 63 (0) | 2026.03.09 |
| [내일배움캠프 - 언리얼] 기타 팁 (0) | 2026.03.06 |
| [내일배움캠프 - 언리얼] CH3 프로젝트 회고 (0) | 2026.03.05 |