WBP_LoadingCutscene 컴파일 Ensure 정리
증상
에디터에서 WBP_LoadingCutscene 컴파일 시 아래 ensure가 반복 발생 (크래시 아님, 디버거 연결 시 브레이크만 걸림 → F5로 계속 진행 가능)
Ensure condition failed: !WidgetBP->GeneratedVariables.ContainsByPredicate(...)
[WidgetBlueprintCompiler.cpp] [Line: 1527 / 1528 / 1620 / 1622]
Widget Blueprint [WBP_LoadingCutscene] already contains generated variable with name [Anim_FadeIn]
Attempting to add generated variable [Anim_FadeIn] ... that has the same GUID as another variable
- 대상 애니메이션:
Anim_FadeIn,Anim_FadeOut(이름 + GUID 둘 다 중복)
원인
위젯 BP 내부에 애니메이션용 generated variable이 이름/GUID까지 중복으로 존재 → 컴파일러가 변수를 다시 만들려다 충돌.
- 보통 애니메이션 복제(copy/paste), 같은 이름 애니메이션 중복 추가, 또는 이전 컴파일에서 저장된 GeneratedVariables가 정리되지 않고 남은 경우 발생
- C++ 쪽
BindWidgetAnim선언과의 충돌은 아님 (소스에Anim_FadeIn없음 확인)
확인된 사실
- 에셋 경로:
Content/Retrieve/UI/HUD/WBP_LoadingCutscene.uasset - 디스크상 마지막 변경:
b33fe57b7(#74, 모닥불 빠른 이동) — 이후 로컬 수정 없음 (git clean)
조치 방법
- 에디터 재시작 후
WBP_LoadingCutscene열고 컴파일- 재발 안 함 → 이번 세션 메모리상에서만 중복 발생한 것. 저장 안 했으면 디스크 에셋은 정상. 조치 끝.
- 재발하면 에셋에 중복이 저장된 것:
- 애니메이션 패널에
Anim_FadeIn/Anim_FadeOut이 두 개씩 보이면 → 중복 삭제 → 컴파일 → 저장 - 하나씩만 보이면(GUID만 중복) → 이름 임시 변경(
Anim_FadeIn→FadeIn_Tmp) → 컴파일 → 원래 이름 복귀 → 컴파일 → 저장 (generated variable이 새 GUID로 재생성됨) - 그래도 안 되면 → 애니메이션 삭제 후 같은 이름으로 재생성
- 애니메이션 패널에
주의
- 수정 후 저장하면 바이너리 에셋이 변경됨 → 커밋 전 해당 위젯 작업자(#74 이희원)와 겹치지 않는지 확인