728x90
반응형
- 개요
의도대로 동작하지 않게 되면 디버그 메세지를 띄우는 동작 대신 커스텀 메세지를 띄우도록 수정한다
또 에디터에 애셋의 타입별로 적합한 접두사를 수식하는 기능을 추가한다
- C++ 사이드
1) CoreManager.build.cs 파일

CoreManager 플러그인이 참조하는 모듈에 UMG 모듈과 Niagara 모듈을 추가하여
UserWidget과 Niagra 관련 클래스에 접근할 수 있도록 설정한다
2) CoreManager 플러그인 - DebugHeader 파일

ShowMsgDialog 전역함수를 추가한다
사용하는 3개의 인자는 각각 다음과 같다
- AppMsgType 인자 : 메세지에 대한 응답의 열거형
- Message 인자 : 매세지의 내용
- bShowMsgAsWarning : 메세지를 Warning으로 사용할지 여부
반환값은 AppReturnType으로서 메세지에 대한 사용자의 응답을 반환한다
함수의 로직은 다음과 같다
- 메세지를 Warning으로 사용하는 경우
- 메세지 창을 생성하는 Open 함수에서 메세지 창의 제목을 Warning으로 설정
- 메세지를 Warning으로 사용하지 않는 경우
- Open 함수를 호출하여 제목없는 메세지 창을 생성

ShowNotifyInfo 전역함수를 추가한다
함수의 인자로 전달할 메세지를 사용한다
함수의 로직은 다음과 같다
- 전달할 메세지를 넘겨주어 NotificationInfo 인스턴스를 생성
- 생성한 인스턴스의 글자 폰트를 크게 보이도록 설정
- 생성한 인스턴스가 사라질 시간을 설정
- 생성한 인스턴스를 SlateNofiticationManager에 등록하여 메세지를 팝업
3) CoreManager 플러그인 - QuickAssetActions 클래스

AddPrefixes 함수를 추가하여 애셋의 타입별로 접두사를 설정한다
또, 애셋의 타입과 접두사를 연결하여 저장하는 TMap의 PrefixMap을 추가한다

DuplicateAssets 함수를 위와 같이 수정하여 잘못된 값이 들어오면 메세지 창을 띠워 알려주도록 설정한다

AddPrefixes 함수의 로직은 위와 같다
- GetSelectedAssets 함수를 호출하여 선택된 애셋의 데이터를 가져오고 저장
- 저장된 애셋의 데이터들을 순회하면서 로직을 진행
- 애셋의 타입에 해당하는 접두사 + 애셋의 기존 이름을 저장
- 애셋의 타입 + 애셋의 타입에 해당하는 접두사 + 해당 애셋에 이미 접두사가 수식되었는지 확인
- Material Instance의 경우 이름에 포함된 "M_" 과 "_Inst" 문자열을 제거
- 선택한 애셋에 타입별 접두사를 수식
- 선택한 애셋의 이름이 수정되었다면 Counter를 증가
- 순회가 끝나고 Counter를 체크하여 이름이 변경된 애셋들의 개수를 출력
- 블루프린트 사이드
1) CoreManager 플러그인의 Contents 폴더 - EUBP_QuickAssetAction 블루프린트

함수가 수정되고 새로운 함수가 추가되었으므로 Compile을 진행한다
- 최종 실행 결과
동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.
728x90
반응형
'언리얼 엔진 > 언리얼 엔진 커스텀 에디터' 카테고리의 다른 글
| Content Browser 확장 - 1) 폴더에 저장된 사용하지 않는 애셋 삭제 (0) | 2026.01.25 |
|---|---|
| AssetActionUtility 클래스 - 최종) 애셋 리디렉터 수정 + 사용하지 않는 애셋 삭제 (0) | 2026.01.23 |
| AssetActionUtility 클래스 - 2) 애셋 복제 (0) | 2026.01.22 |
| AssetActionUtility 클래스 - 1) 클래스의 생성 (0) | 2026.01.18 |
| 에디터 커스텀을 위한 세팅 - 플러그인의 생성 (0) | 2026.01.17 |