CrimsonCommon

Optional - nothing depends on it
No other Crimson plugin requires CrimsonCommon. Every Crimson plugin compiles and runs on its own and exposes its own delegates, interfaces and ModularGameplay feature states. Enable CrimsonCommon only for this wiki or for the tools below.

CrimsonCommon is a standalone toolbox: a tag-routed message bus, CommonGame-style player classes with reliable player-lifecycle delegates, session and user subsystems, modular actor base classes that Game Feature actions can extend, and editor utilities (the Common Maps toolbar menu, the dev-tool component gallery, widget animation helpers). It is also the host of this wiki: the documentation for every Crimson plugin ships inside CrimsonCommon, so enable it to read these pages in the editor through the Crimson Wiki button on the Level Editor toolbar.

What's included

SystemKey typesPurpose
Message busUCrimsonMessageSubsystem, UCrimsonAsyncAction_ListenForMessageSend struct payloads on gameplay-tag channels; listen with exact or partial matching
Player classesUCrimsonCommonGameInstance, UCrimsonCommonLocalPlayer, ACrimsonCommonPlayerControllerController / player state / pawn set delegates with CallAndRegister_*
OnlineUCrimsonSessionSubsystem, UCrimsonUserSubsystemHost, find and join sessions; login and privileges
Modular actorsACrimsonModularCharacter, ACrimsonModularPawn, ACrimsonModularPlayerController, ACrimsonModularPlayerState, game mode/state, AI controllerModularGameplay component receivers for Game Feature actions
LoggingCrimsonLogging.hCRIMSON_LOG_* convenience macros
EditorWiki window, DevTools Gallery, UCrimsonEditorUtilitiesSettings, UCrimsonWidgetAuthoringLibraryThis wiki, the dev-tool component gallery, the Common Maps toolbar menu, widget animation helpers

Plugin dependencies

GroupDependencies
Crimson pluginsNone
Engine modules (runtime, public)Core, CoreUObject, Engine, CoreOnline, GameplayTags, AIModule, ModularGameplay, OnlineSubsystemUtils, InputCore, and OnlineSubsystem (or OnlineServicesInterface when built for Online Services)
Engine modules (runtime, private)ApplicationCore; in editor builds also ToolMenus, Slate, SlateCore, UnrealEd, AssetTools
Engine modules (editor: CrimsonCommonEditor, CrimsonCommonNodes)SlateIM, Slate, SlateCore, ToolMenus, UnrealEd, DeveloperSettings, GameplayTagsEditor, AssetRegistry, UMG, UMGEditor, Json, ImageWrapper, Projects, Settings, BlueprintGraph, KismetCompiler
Engine pluginsModularGameplay, OnlineSubsystem, OnlineSubsystemUtils, SlateIM, GameplayTagsEditor
Which path do I choose?
Want one event channel tree for events from many systems? How-To: Broadcast & Listen for Messages. Need Game Feature actions to add components to your actors? Concept: Modular Actors & Player Layer. Open the same maps all day? How-To: Open Common Maps.