How-To: Control the Screen Per Load (optional)
Goal: override how one specific loading screen presents itself - suppress the character showcase for a cinematic travel, force a destination's key art instead of a random background, swap the whole widget class, or show only themed tips. Everything else keeps the project-settings behavior.
1. Understand the override fields
FCrimsonLoadingPresentation carries four independent overrides; leave any field unset to keep the default behavior for that aspect:
| Field | Type | Effect when set |
|---|---|---|
bSuppressShowcase | bool | The character showcase does not run for this load even when valid character data exists - the widget takes its normal background path. The persistent look cache is left untouched. |
BackgroundOverride | TSoftObjectPtr<UMaterialInterface> | This material shows instead of a random pick from the background collection (e.g. the destination zone's key art). |
WidgetOverride | TSoftClassPtr<UUserWidget> | This widget class replaces the project-settings loading screen widget for this load. |
TipCategoryOverride | FGameplayTag | Only tips of this category are candidates for this load (forces a fresh pick even with bPickNewTipEachLoad off). |
2. Set it right before you travel
On your travel button / trigger: Make Crimson Loading Presentation (tick bSuppressShowcase, or set Background Override / Widget Override / Tip Category Override) -> Get CrimsonLoadingScreenManager -> Set Next Load Presentation (bPersistAcrossLoads = false) -> Open Level (or your travel node).
3. One-shot vs persistent
By default a presentation styles exactly one loading screen: it is cleared automatically when that screen hides. Pass bPersistAcrossLoads = true to keep it active for every following load until you call Clear Load Presentation or replace it with another Set Next Load Presentation. Read the currently active overrides any time with Get Load Presentation (pure).
FCrimsonExperienceLoadingScreen block, and CrimsonCore's UCrimsonCoreExperienceLoadingScreenBridge (an engine subsystem, active whenever CrimsonCore is enabled) forwards them to SetNextLoadPresentation automatically - designers configure per-destination loading screens with no code. UCrimsonUserFacingExperienceDefinition styles the travel into an experience (one-shot, applied by the machine that starts the travel). UCrimsonExperienceDefinition styles every load that leaves it (persistent, installed when the experience finishes loading) - which is what covers in-game travels, ServerTravel, and clients that joined a session already in progress. This page is the standalone equivalent.See also
- How-To: Show Tips & Backgrounds - the default (collection-driven) background and tip behavior these fields override.
- How-To: Showcase the Player's Character - what
bSuppressShowcaseturns off. - API Reference -
FCrimsonLoadingPresentationand the manager functions.