GameDevelop/UnrealEngine

UnrealEngine - UPROPERTY / 코드 변경사항 에디터에 즉시 적용 / 라이브 코딩

Une_ 2024. 9. 10. 17:44

 

템플릿 프로젝트를 이것저것 수정해보면서 공부해보려고 했는데...

UPROPERTY로 변수 선언한 내용이 에디터에 반영되지 않아서 잠깐 헤맸습니다.


UPROPERTY

더보기

UPROPERTY() 매크로가 사용된 멤버변수는 언리얼 리플렉션 시스템 (= 프로퍼티 시스템)에 등록됩니다.

이로 인해서...

- 에디터의 디테일 패널에서 확인 할 수 있게 됩니다.

- 지정자를 추가하여 다양한 기능을 적용할 수 있습니다. (EditAnywhere, BlueprintReadWrite 등)

- 런타임 중에 이 변수의 값을 알 수 있게 됩니다.

- 가비지 콜렉션에 의해 생명주기가 관리됩니다.

 

코드
엔진

 

WeaponType 이 에디터에 노출이 되지 않고 있는데요.

 

라이브 코딩 쓰면 된다고 하길래... 요걸 시도해봤습니다.

라이브 코딩 옵션은 이미 켜져있었지만 적용이 안되는걸 보니 직접 실행해줘야 하는 듯 합니다.

라이브코딩 관련 옵션

 

 

직접 실행을 위해

Ctrl + Alt + F11 을 누르시거나 또는 하단의 버튼을 눌러주시고...

에디터 하단의 버튼

 

좀 기다리시면 아래 알림이 뜹니다.

라이브 코딩 성공 알림
라이브코딩 콘솔창

 

기본 템플릿 프로젝트인데 33초나 걸리네요...ㄷㄷ

 

 

 

라이브 코딩이 완료되면 아래와 같이 에디터에 코드 수정사항이 반영된 것을 볼 수 있습니다.

 

 

 

 

유니티에서는 코드 수정사항이 바로바로 반영되고, 길더라도 10초 정도 기다렸던 기억인데...

언리얼에서는 그렇지 않아서 당황스럽네요 ㅎㅎ;

 

+)

 

헤더 파일의 수정이나, 생성자에서 멤버 변수를 초기화 하는 등(CDO의 변경)의 수정이 있다면 에디터를 껐다 키는 것을 추천하고,

cpp 파일만 변경되었다면 라이브 코딩 기능으로 반영이 되는 듯 합니다.

 

좀 귀찮지만.. 웬만하면 에디터를 껐다 키는 것이 수정 사항이 안전하게 반영될 것으로 보입니다~