Modular Actors & Player Layer

CrimsonCommon folds the useful parts of three Epic sample plugins into one optional plugin: ModularGameplayActors (Game Feature extensible framework classes), CommonGame (player classes) and CommonUser (login and sessions). No Crimson plugin requires them; a plugin whose Game Feature actions add components only needs your actors to be ModularGameplay component receivers, which these classes are.

Modular framework classes

Each ACrimsonModular* class derives from its Epic equivalent and adds the Game Feature / Modular Gameplay registration hooks, so Game Features and plugins can attach components and abilities to them at runtime. They add no gameplay state of their own - game-specific state belongs in your subclasses or in feature components.

ClassBaseRole
ACrimsonModularCharacter / ACrimsonModularPawnACharacter / APawnGFP-extensible player/AI bodies
ACrimsonModularPlayerController / ACrimsonModularPlayerStateAPlayerController / APlayerStateGFP-extensible controller and per-player state
ACrimsonModularGameMode[Base] / ACrimsonModularGameState[Base]AGameMode[Base] / AGameState[Base]GFP-extensible match rules and shared state
ACrimsonModularAIControllerAAIControllerGFP-extensible AI controller

Player layer

Above the framework classes sits the player/session layer. UCrimsonCommonGameInstance tracks the primary player and exposes an OnPrimaryPlayerSet hook; UCrimsonCommonLocalPlayer broadcasts player-side delegates; ACrimsonCommonPlayerController bridges controller to local player. The online side - UCrimsonUserSubsystem (login, privileges, online context) and UCrimsonSessionSubsystem (host/join/matchmaking, beacons) - is a complete, self-contained port of Epic's CommonUser (both OSSv1 and OSSv2 paths), with every type renamed to the Crimson prefix.

Use only what you need
Nothing forces you to adopt the whole stack. The user/session subsystems are independent of the framework classes - a single-player project can use ACrimsonModularCharacter and ignore UCrimsonSessionSubsystem entirely.