레퍼런스는 배틀필드 6의 엔딩 스크린으로 삼았고 이를 변형하는 형태로 제작하려고 한다.

먼저 결과만 보여주자면 다음과 같이 동작한다.

WBP_PDRaidEndTransitionWidget 은 C++ UPDRaidEndTransitionWidget을 상속한다. C++ 쪽에서 BindWidget / BindWidgetOptional 로 위젯 핸들만 잡아두고, 실제 레이아웃·디자인은 WBP에서 구성하는 구조다.
결산 한 줄(Box_PlayerEntries 안에 들어가는 행)은 별도 위젯 WBP_PDPlayerRaidEntry 로 분리했다. 위젯을 BP에서 직접 채우지 않고, C++ Configure 가 EntryWidgetClass 로 CreateWidget 해서 VerticalBox에 add 하는 방식이다.
WBP에는 역할이 다른 3개의 위젯 애니메이션이 있다.
1. Anim_IntroSequence — 시네마틱 조립

가장 핵심이 되는 진입 연출. 여러 트랙이 시간차를 두고 겹쳐 들어오면서 배지가 조립되는 인상을 만든다.
결산 행 reveal을 인트로 시퀀스 안의 이벤트 트랙으로 트리거하는 게 핵심이다. BP가 이 노티파이를 연결하지 않으면 행들은 의도적으로 영원히 보이지 않는다.
2. Anim_LayoutReveal — 결산 패널 펼침

결산 영역 자체의 레이아웃을 펼치는 애니메이션
HB_ColumnHeader 의 Render Opacity (컬럼 헤더 페이드인)
Sizer_PlayerEntries 의 Height Override (높이를 0→실제값으로 늘려 박스를 펼침)
Text_RaidDuration 의 Render Opacity (레이드 소요 시간 페이드인)
약 1초에 걸쳐 헤더·시간이 켜지고 행 컨테이너가 높이를 확보하면서 열린다.
3. Anim_BlackFade — 퇴장/트래블

Image_BlackFade 의 Render Opacity 만 0→1로 올리는 짧은(~0.4s) 페이드. 좌클릭으로 결산을 닫을 때 화면을 검게 덮고, 애니메이션 끝의 노티파이가 HandleTravelTrigger() → Server_RequestBaseTravel() 을 호출해 베이스로 트래블한다.
C++과 WBP가 주고받는 전체 시퀀스는 다음과 같다.
GameMode::OnRaidEnded
→ PushToLayer + Configure(bSuccess, Entries, RaidDuration)
→ Configure() : 텍스트/시간 세팅, 행 위젯 CreateWidget, ApplyAccent(색상)
→ NativeOnActivated() : Anim_IntroSequence 재생
├ [Notify: PlaySummaryReveal] → BeginEntryReveals() : 행마다 PlayRevealAfter(Index × StaggerInterval)
└ [Notify: Intro 끝] → OnIntroFinished() : 입력 가드 해제(bReadyForInput) + ContinuePrompt 노출
→ [좌클릭] NativeOnMouseButtonDown : bReadyForInput 일 때만 소비
→ Anim_BlackFade 재생
└ [Notify: BlackFade 끝] → HandleTravelTrigger() → PDPlayerController::Server_RequestBaseTravel()
이렇게 C++은 데이터 주입·입력 게이팅·트래블 트리거 같은 로직만 쥐고, 시각 연출은 전부 WBP 애니메이션 트랙과 노티파이로 위임하는 구조로 결산 전환을 구성했다.