본문으로 바로가기

[Unreal Editor] 2. Asset Action Utility

category UnrealEngine/Editor 2023. 12. 26. 09:06

우리가 언리얼 에디터에서 특정 에셋이나 액터들에 어떠한 '로직'을 행할 때 유용한 ScriptedAction이 있습니다.

 

이를 위해 언리얼 엔진에서는 다양한 Built-in Class를 제공 하고 있습니다.

  •  AssetActionUtility : 에셋들에 대한 액션
  • ActorActionUtility : 액터들에 대한 액션

이번엔 테스트를 위해 TestFunc가 호출되게 만들 것입니다.

 

언리얼 에디터에서 Add C++ Class를 하여 AssetActionUtility를 만들어줍니다.

 

우리는 우리가 만든 플러그인에 만들어야 하므로

PluginName(Editor) 로 변경하여 줍니다.

Class Type은 .h와 .cpp를 분리할 것 이므로 Public으로 합니다.

 

 

이로써 첫 AssetActionUtility가 만들어 졌습니다.

하지만 만들고 나면, AssetActionUtility.h 에서 컴파일 에러가 발생할 것입니다.

 

우리가 AssetActionUtility를 사용할 것이라고 Build.cs에게 알려야 합니다.

IDE에서 AssetActionUtility를 검색해 보면 다음과 같습니다.

 

 

Blutility는 모듈 이름이며, 우리가 만든 모듈이 이 Blutility를 사용한다고 알려주어야 합니다.

우리가 만든 플러그인의 Build.cs를 확인합니다.

 

 

다음과 같이 dependency에 "Blutility"를 추가해줍니다.

 

 

또한 Blutility에는 Private한 폴더와 모듈이 있습니다. 이 또한 포함해주어야 합니다.

이는 경로 설정을 통해 포함할 수 있는데, cs를 사용해 '상대경로'로 지정합니다.

 

 

 

이제 UE5를 종료하고, IDE에서 컴파일 해보면 정상적으로 컴파일이 되는 것을 확인할 수 있습니다.

이제 우리가 만든 버튼이 눌려지면, Test 라는 문자열을 화면에 출력하도록 만들겠습니다.

 

우리가 만든 AssetAction.h 로 돌아가 다음과 같이 테스트 함수를 작성합니다.

 

 

이제 우리가 임의의 Actor를 만들고, 우클릭하여 'Scripted Asset Actions' 에서 TestFunc를 클릭하면

화면에 "Test"라는 문자가 나타나게 됩니다.

 

추가로 만약, 여기까지 정상적으로 진행했는데 Scripted AssetActions 나오지 않는다면, 

Editor Utility Blueprint에서 우리가 만든 AssetAction을 부모로 한 새로운 블루프린트를 만들어주면 나타납니다.

 

'UnrealEngine > Editor' 카테고리의 다른 글

[Unreal Editor] 4. Custom Tab  (0) 2024.01.16
[Unreal Editor] 3. EditorAssetLibrary, EditorUtilityLibrary  (1) 2024.01.09
[Unreal Editor] 1. Plugins  (1) 2023.12.14