API Reference

Everything public in CrimsonExperience. Types from other modules are labeled with their home.

Experience assets

TypeBasePurpose
UCrimsonExperienceDefinitionUPrimaryDataAssetOne session's composition. BlueprintType, Const.
UCrimsonExperienceActionSetUPrimaryDataAssetReusable action bundle. BlueprintType, NotBlueprintable.
UCrimsonUserFacingExperienceDefinitionUPrimaryDataAssetFront-end tile plus hosting request.
UCrimsonPawnDataBaseUPrimaryDataAssetEmpty anchor type for DefaultPawnData. Abstract.
FCrimsonExperienceLoadingScreenUSTRUCTPer-experience loading screen presentation.

UCrimsonExperienceDefinition properties

PropertyTypePurpose
GameFeaturesToEnableTArray<FString>Game Feature plugin names to activate.
DefaultPawnDataTObjectPtr<const UCrimsonPawnDataBase>Pawn setup handed to players. Cast to your own subclass.
ActionsTArray<TObjectPtr<UGameFeatureAction>>Instanced actions run for this experience. EditDefaultsOnly.
ActionSetsTArray<TObjectPtr<UCrimsonExperienceActionSet>>Shared bundles, run after Actions.
LoadingScreenFCrimsonExperienceLoadingScreenStyles loads while this experience is current.

UCrimsonExperienceManagerComponent

MemberSignatureNotes
SetCurrentExperiencevoid (FPrimaryAssetId)Server only. Resolves the id and starts the load.
CallOrRegister_OnExperienceLoaded_HighPriorityvoid (FOnCrimsonExperienceLoaded::FDelegate&&)Fires first.
CallOrRegister_OnExperienceLoadedvoid (FOnCrimsonExperienceLoaded::FDelegate&&)The default tier.
CallOrRegister_OnExperienceLoaded_LowPriorityvoid (FOnCrimsonExperienceLoaded::FDelegate&&)Fires last.
GetCurrentExperienceCheckedconst UCrimsonExperienceDefinition* () constAsserts unless loaded. Gate on IsExperienceLoaded.
IsExperienceLoadedbool () constTrue once the machine reaches Loaded.
FOnCrimsonExperienceLoadeddelegateOneParam(const UCrimsonExperienceDefinition*).
ECrimsonExperienceLoadStateenum classUnloaded, Loading, LoadingGameFeatures, LoadingChaosTestingDelay, ExecutingActions, Loaded, Deactivating.
C++ only
Every member above is C++ only. Blueprint reaches the same moment through the Wait For Experience Ready node.

UCrimsonUserFacingExperienceDefinition

MemberType / signatureNotes
MapIDFPrimaryAssetIdRestricted to the Map type.
ExperienceIDFPrimaryAssetIdRestricted to CrimsonExperienceDefinition.
ExtraArgsTMap<FString, FString>Extra travel URL options.
TileTitle / TileSubTitle / TileDescriptionFTextMenu presentation.
TileIconTObjectPtr<UTexture2D>Menu presentation.
LoadingScreenFCrimsonExperienceLoadingScreenStyles the travel into this experience.
bIsDefaultExperienceboolDefault false.
bShowInFrontEndboolDefault true.
bRecordReplayboolDefault false.
MaxPlayerCountint32Default 16.
GetTravelOptionsTMap<FString, FString> () constBlueprintCallable, virtual. ExtraArgs plus Experience=<id>. Also GetAdvertisementName() (BlueprintPure).
ApplyLoadingScreenPresentationvoid (const UObject*) constBlueprintCallable. Broadcasts the presentation request.
GetAllFrontEndExperiencesstatic TArray<UCrimsonUserFacingExperienceDefinition*> ()BlueprintCallable.
GetDefaultFrontEndExperiencestatic UCrimsonUserFacingExperienceDefinition* ()BlueprintCallable.

Blueprint nodes

NodeClassPurpose
Wait For Experience ReadyUAsyncAction_ExperienceReadyFires OnReady once the experience is loaded; immediately if it already is.

Game feature actions shipped here

ActionDisplay namePurpose
UCrimsonGameFeatureAction_SplitscreenConfigSplitscreen ConfigbDisableSplitscreen (default true) turns splitscreen off while the experience is active.
Other actions live in their own plugins
Add Inventory, Add Teams, Add Abilities, Add Equipment Slots, Add Skill Trees, Add Crimson Action Bars and Add Widget are shipped by the plugins that own those systems, not by this one. They appear in the Actions picker when those plugins are installed.

Policy and subsystems

TypeBasePurpose
UCrimsonGameFeaturePolicyUDefaultGameFeaturesProjectPoliciesSet as GameFeaturesManagerClassName. Gates client/server data by net mode.
UCrimsonExperienceManagerUEngineSubsystemReference-counts plugin activation across PIE instances. No setup required.

Settings and console variables

KeyFile / scopePurpose
GameFeaturesManagerClassNameDefaultGame.ini, [/Script/GameFeatures.GameFeaturesSubsystemSettings]Must be /Script/CrimsonExperience.CrimsonGameFeaturePolicy.
PrimaryAssetScanPathsDefaultCrimsonExperience.ini, [/Script/CrimsonExperience.CrimsonExperienceSettings]Folders scanned for the three experience asset types, all marked AlwaysCook. See Quick Start step 2.
crimson.chaos.ExperienceDelayLoad.MinSecsCVarMinimum artificial load delay.
crimson.chaos.ExperienceDelayLoad.RandomSecsCVarAdditional random load delay.