Files
UE5-Modular-Game-Framework/docs/blueprints/13-polish/112_WBP_CreditsScreen.md
Lefteris Notas 411edea8ce add blueprints
2026-05-19 13:22:27 +03:00

6.0 KiB
Raw Blame History

77 — WBP_CreditsScreen

Blueprint Spec — UE 5.55.7


Parent Class

UserWidget

Dependencies

Purpose

Animated credits display shown at game completion. Renders scrolling credit entries with sections (department headings, names, roles), supports speed control, pause/resume, and skip. Includes fade-in/out transitions and supports both standard and post-credits scenes. Designed to feel cinematic with smooth scrolling text.

Enums

ECreditSectionType

Value Description
Title Main title text
Department Group heading
Name Person/role entry
Divider Separator line
Special Custom styled entry
Logo Company logo display

Structs

FCreditEntry

Field Type Description
SectionType ECreditSectionType Entry category
Text FText Display text
SubText FText Role or subtitle
DelaySeconds Float Extra pause before
FontScale Float Size multiplier
bBold Bool Bold style
LogoTexture UTexture2D Optional logo

FCreditsSection

Field Type Description
SectionHeading FText Department name
Entries TArray<FCreditEntry> People in section
bSeparator Bool Add line after

Variables

Name Type Description
CreditsData FCreditsSection[] Full credit sequence
CurrentEntryIndex Int32 Active entry
ScrollSpeed Float Pixels per second
bIsPlaying Bool Credits running
bIsPaused Bool User paused
bSkippable Bool Allow skip
TotalEntries Int32 End of list marker
AccumulatedTime Float Entry transition timer
bFadeComplete Bool Intro finished

Functions

Name Inputs Outputs Description
InitializeCredits Data: FCreditsSection[] Set up display
PlayCredits Start scrolling
PauseCredits Pause scrolling
ResumeCredits Resume scrolling
SkipCredits End credits early
SetScrollSpeed Speed: Float Adjust speed
ShowNextEntry Display next credit
ShowPreviousEntry Display previous
FadeInScreen Intro animation
FadeOutScreen Outro animation
OnCreditsComplete End of credits
HandleInputAction Action: FName Input binding
GetSectionsForCollectibles FCreditsSection[] Unlockable content credits

Blueprint Flow

[InitializeCredits]
  └─► Clear all existing entries
  └─► CurrentEntryIndex = 0
  └─► Load CreditsData from DA_CreditsData
  └─► If player collected all collectibles:
         Add bonus sections (GetSectionsForCollectibles)
  └─► TotalEntries = Sum of all entries

[PlayCredits]
  └─► If already playing: return
  └─► bIsPlaying = true
  └─► FadeInScreen()
         Set widget opacity 0 → 1 over 1.5 seconds
         On fade complete: bFadeComplete = true
  └─► Start scrolling:
         Every Tick:
              If bIsPaused: return
              AccumulatedTime += DeltaTime * ScrollSpeed
              If AccumulatedTime >= EntryDisplayThreshold:
                   ShowNextEntry()
                   AccumulatedTime = 0

[ShowNextEntry]
  └─► If CurrentEntryIndex >= TotalEntries:
         OnCreditsComplete()
         Return
  └─► Current Credit = CreditsData entries[CurrentEntryIndex]
  └─► Create text block with appropriate styling:
         Title: large, centered, bold
         Department: medium, uppercase, separated
         Name: normal, two-column layout
         Divider: thin line, 50% width
  └─► Apply fade-in animation on new entry
  └─► Fade out previous entry
  └─► CurrentEntryIndex++

[OnCreditsComplete]
  └─► bIsPlaying = false
  └─► FadeOutScreen()
         Set widget opacity 1 → 0 over 2 seconds
  └─► On fade complete:
         Broadcast OnCreditsFinished()
         If bReturnToMenu:
              Load main menu level
         Else:
              Trigger post-credits content

[SkipCredits]
  └─► If Not bSkippable: return
  └─► bIsPlaying = false
  └─► Immediate fade out (0.3 seconds)
  └─► Broadcast OnCreditsSkipped()
  └─► Proceed to post-credits flow

[HandleInputAction]
  └─► Bind to BPC_InputManager:
         "Pause" -> Toggle Pause/Resume
         "Skip" -> SkipCredits()
         "SpeedUp" -> SetScrollSpeed(1.5x)
         "SlowDown" -> SetScrollSpeed(0.5x)

Event Dispatchers

Name Payload Description
OnCreditsFinished Normal completion
OnCreditsSkipped User skipped
OnCreditsPaused Paused state
OnCreditsResumed Resumed state

Communications With

Target Method Why
BPC_InputManager Event binding Input handling
BPC_AudioManager Direct call Music/ambience
BPC_LoadingScreen Direct call Post-credits transition
DA_CreditsData Data asset Credit entries

Reuse Notes

  • Entirely data-driven via DA_CreditsData
  • Supports unlockable post-credits content based on collectibles
  • Scroll speed configurable and allows speed-up
  • Pause/Resume supports accessibility needs
  • Clean separation of data and presentation
  • Can be reused for splash screens, acknowledgments, or prologue credit sequences