내일배움캠프-언리얼

TIL - 88

이시보 2026. 6. 10. 23:22

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)

조치 방법

  1. 에디터 재시작WBP_LoadingCutscene 열고 컴파일
    • 재발 안 함 → 이번 세션 메모리상에서만 중복 발생한 것. 저장 안 했으면 디스크 에셋은 정상. 조치 끝.
  2. 재발하면 에셋에 중복이 저장된 것:
    • 애니메이션 패널에 Anim_FadeIn / Anim_FadeOut두 개씩 보이면 → 중복 삭제 → 컴파일 → 저장
    • 하나씩만 보이면(GUID만 중복) → 이름 임시 변경(Anim_FadeInFadeIn_Tmp) → 컴파일 → 원래 이름 복귀 → 컴파일 → 저장 (generated variable이 새 GUID로 재생성됨)
    • 그래도 안 되면 → 애니메이션 삭제 후 같은 이름으로 재생성

주의

  • 수정 후 저장하면 바이너리 에셋이 변경됨 → 커밋 전 해당 위젯 작업자(#74 이희원)와 겹치지 않는지 확인

'내일배움캠프-언리얼' 카테고리의 다른 글

TIL - 90  (0) 2026.06.15
TIL - 89  (0) 2026.06.11
TIL - 87  (0) 2026.06.09
TIL - 86  (0) 2026.06.08
TIL - 85  (0) 2026.06.05