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

5.7 KiB
Raw Blame History

78 — WBP_SplashScreen

Blueprint Spec — UE 5.55.7


Parent Class

UserWidget

Dependencies

Purpose

Introductory splash screen sequence shown on game boot before the main menu or loading screen. Displays company logos, game title, engine badges, and legal notices in a timed sequential presentation. Supports skip-to-main-menu via input, accessibility features (slow mode), and conditional branching based on save state.

Enums

ESplashElementType

Value Description
CompanyLogo Developer/publisher logo
EngineLogo UE5 logo, power badges
GameTitle Full game title card
LegalNotice Copyright, ratings info
Warning Health/safety warnings
AccessibilityNotice Accessibility info

Structs

FSplashElement

Field Type Description
ElementType ESplashElementType What to show
DisplayDuration Float Seconds to display
FadeInTime Float Fade in duration
FadeOutTime Float Fade out duration
Texture UTexture2D Logo/image to show
TitleText FText Optional text overlay
SubtitleText FText Optional subtitle
bCanSkip Bool Allow skip this element

Variables

Name Type Description
SplashSequence TArray<FSplashElement> Ordered splash elements
CurrentElementIndex Int32 Active element
bIsPlaying Bool Sequence running
bSkipped Bool User skipped
bSlowMode Bool Accessibility slow mode
CurrentTimer Float Element timer
bTransitionComplete Bool Sequence done

Functions

Name Inputs Outputs Description
PlaySplashSequence Start boot splash
ShowElement Element: FSplashElement Display single element
AdvanceToNext Move to next element
SkipSplash End sequence early
FadeInElement Duration: Float Fade animation
FadeOutElement Duration: Float Fade animation
HandleInput Action: FName Skip/confirm binding
OnSequenceComplete Splash finished
SetSlowMode bEnabled: Bool Accessibility mode
CheckSaveState Bool Has existing save

Blueprint Flow

[PlaySplashSequence]
  └─► Create splash sequence from configuration:
         CompanyLogo (3s display, 1s fade in/out)
         EngineLogo (2s display, 0.5s fade in/out)
         GameTitle (4s display, 1.5s fade in/out)
         LegalNotice (3s display, 1s fade in/out)
  └─► bIsPlaying = true
  └─► CurrentElementIndex = 0
  └─► ShowElement(SplashSequence[0])
  └─► Bind input actions:
         BPC_InputManager -> "Confirm" -> SkipSplash()
         BPC_InputManager -> "Pause" -> SkipSplash()

[ShowElement]
  └─► Get Element = SplashSequence[CurrentElementIndex]
  └─► Set visibility for appropriate canvas panel
  └─► If Element.Type == CompanyLogo:
         Set logo image, center
  └─► Else if Element.Type == GameTitle:
         Set title text, subtitle, large text block
  └─► Else if Element.Type == LegalNotice:
         Set legal text, small, bottom-aligned
  └─► Play FadeInElement(Element.FadeInTime)
  └─► Timer = 0
  └─► Tick:
         Timer += DeltaTime
         If Timer >= Element.DisplayDuration:
              AdvanceToNext()

[AdvanceToNext]
  └─► Play FadeOutElement(CurrentElement.FadeOutTime)
  └─► On fade complete:
         Hide current element
         CurrentElementIndex++
         If CurrentElementIndex >= SplashSequence.Length:
              OnSequenceComplete()
         Else:
              ShowElement(SplashSequence[CurrentElementIndex])

[SkipSplash]
  └─► If bSkipped: return
  └─► bSkipped = true
  └─► Fade out current element (fast, 0.2 seconds)
  └─► Clear all elements
  └─► OnSequenceComplete()

[OnSequenceComplete]
  └─► bIsPlaying = false
  └─► CheckSaveState():
         If save exists: Load main menu
         If no save: Show main menu (new game focus)
         If first boot ever: Show language/accessibility prompt
  └─► Broadcast OnSplashComplete()
  └─► Remove self from viewport

Event Dispatchers

Name Payload Description
OnSplashComplete bSkipped: Bool Splash sequence done

Communications With

Target Method Why
BPC_LoadingScreen Direct call Load main menu
BPC_AudioManager Direct call Splash audio
BPC_InputManager Event binding Skip input
GI_GameManager Direct call Boot flow
SS_SaveManager Direct call Save detection

Reuse Notes

  • Fully configurable splash sequence via data
  • Supports accessibility slow mode (doubles all durations)
  • Skip input at any point
  • First-boot branching for language/accessibility setup
  • Handles both new game and existing save flows
  • Legal notice compliance baked into sequence
  • Can be reused for "press any key" or demo mode splash screens