작성
·
37
·
수정됨
0
프로젝트명을 변경할 때 겪는 문제들로 인해 삭제하고 다시 생성하느라 시간을 많이 소비하고 있습니다.
제가 겪고 있는 문제점들을 짚어보겠습니다! 공식적으로 편리하게 이주 또는 프로젝트명 변경을 할 수 있는 방법을 알고싶습니다.
버전은 5.4.4 사용 중입니다.
기존 프로젝트명: ArenaBattle
변경한 프로젝트명: BEAD
프로젝트명 변경 이후 기본적으로 진행한 작업들
DefaultEngine.ini에 Redirect할 경로들 모두 적은 후 .uasset 데이터들 옮기기
소스코드 내 모든 모듈명 교체, .uproject 명세서 내 모듈명 교체, Build.cs 내 모듈명 교체 (버전 확인도 제대로 수행)
Saved, Intermmidate, DerivedDataCache, Binaries, 솔루션 삭제 후 generate -> Rebuild
에디터 내 Content 폴더 우클릭 > Update Redirector References
C++ 클래스 생성자 내 참조하는 경로 모두 변경한 프로젝트 경로로 설정 & 에디터의 모든 블루프린트 내 Parent 경로 Redirect한 것으로 적용된 것 확인
에픽게임즈 라운처 > 언리얼 엔진 > 검증 수행
질문 모음
시도한 내용:
Redirect 사용 시 Widget Blueprint 등은 Parent 경로는 잘 찾았으나
Behavior Tree 내 클래스 경로와 데이터 애셋의 경로는 제대로 찾지 못해 삭제하고 다시 생성해야 하는 경우가 발생했습니다. (물론, Redirect 작성 이후 .uasset을 옮기고 캐시 삭제 및 generate 수행)
// DefaultEngine.ini //
[CoreRedirects]
+ClassRedirects=(OldName="/Script/ArenaBattle.ABComboActionData", NewName="/Script/BEAD.ABComboActionData") // 애셋 데이터
+ClassRedirects=(OldName="/Script/ArenaBattle.BTService_Detect",NewName="/Script/BEAD.BTService_Detect") // 행동트리
... 이하 생략
아래 AM_ComboAttack 몽타주는 Redirect를 사용하여 정상적으로 열리고, 모든 내용들이 잘 배치가 되어 있으나
아래 AttackHitCheck 노티파이를 삭제하고 다시 배치하지 않으면 C++ Notify 함수가 재생되지 않는 현상이 발생합니다.
모든 소스코드와 명세서, 그리고 블루프린트 내에도 이전 모듈명과 관련된 내용이 없는데도 엔진을 실행하면 아래 경고문이 나옵니다.
(당연히 캐시 삭제와 generate, rebuild, update redirector references 수행했습니다.)
물론, BP_ABGameMode.uasset을 다시 지우고 생성하면 해결되겠지만
위의 질문들을 포함해서 Redirect를 사용하고 코드를 전부 수정해도 자꾸 적용이 안되는 게 생기고 아래 오류가 생기니 새로 삭제하고 다시 만들어야 하는 번거로움이 있습니다 ㅜ 해결방법을 알고싶습니다.
LogLinker: Warning: [AssetLog] D:\4.Unreal\BEAD\Content\ArenaBattle\Blueprint\BP_ABGameMode.uasset: VerifyImport: Failed to find script package for import object 'Package / Script / ArenaBattle'
답변 1
0
음.. 많은 분들이 기존 프로젝트에서 이름을 바꾸는 방식을 시도하는데, 이 방식은 보시는 것처럼 문제가 많고 버전마다 대응하는 방법이 달라서 제가 정확히 조언드리가 어렵습니다.
조금 시간이 걸리더라도 프로젝트를 처음부터 만들고, 코드는 이동하는게 생각보다는 오래 걸리지 않아요.
저라면 신규 프로젝트를 만들고 복습하는겸 하나씩 다시 생성해볼 것 같습니다.