CrimsonCore
CrimsonCore is the integration layer and showcase of the Crimson plugin suite. Every other Crimson plugin is standalone and intentionally isolated; CrimsonCore is the one place allowed to depend on all of them. It holds the code that joins two plugins (under Source/CrimsonCore/{Public,Private}/Integration/) and composes the whole suite into a complete, bootable game skeleton you can play, read and copy from.
Requires every Crimson plugin
CrimsonCore is not a Fab product: it is a free download from the Crimson Discord, and it compiles only with all Crimson plugins installed, plus CrimsonCommon. Enable the plugins listed under Plugin dependencies below alongside it - the Plugins window flags the missing ones when you tick CrimsonCore.
Standalone plugins, one integration layer
Every other Crimson plugin is standalone: it depends on no other Crimson plugin, not even CrimsonCommon. CrimsonCore depends on all of them, and the code that joins two plugins lives here (Concept: The Integration Layer). No plugin may ever depend on CrimsonCore - only the game project does.
What it provides
| System | Key types |
|---|---|
| Boot / Asset Manager | UCrimsonAssetManager, UCrimsonGameData, UCrimsonAttributeMetadata |
| Experience pipeline | UCrimsonExperienceDefinition, UCrimsonExperienceManagerComponent, UAsyncAction_ExperienceReady (types from CrimsonExperience; CrimsonCore supplies ACrimsonWorldSettings and the pawn data the experience spawns) |
| Character hierarchy | ACrimsonCharacter, ACrimsonNPCBase, ACrimsonSummonBase, ACrimsonCompanionBase |
| Character components | UCrimsonPawnExtensionComponent, UCrimsonHeroComponent, UCrimsonHealthComponent |
| Death, downed & respawn | UCrimsonCoreGameplayAbility_Death, UCrimsonCoreGameplayAbility_Downed, UCrimsonCoreDownedComponent, UCrimsonCoreDownedStatusWidget |
| Game mode / state / player | ACrimsonGameMode, ACrimsonGameState, ACrimsonPlayerState |
| Player utilities | UCrimsonPlayerSpawningManagerComponent, UCrimsonBotCreationComponent, UCrimsonCheatManager, UCrimsonDeveloperSettings |
| Constraint actions | UCrimsonCoreConstraintActionComponent, UCrimsonCoreConstraintActionSet, UCrimsonCoreConstraintAction, UCrimsonCoreConstraintAction_ApplyGameplayEffect (inventory capacity values -> gameplay) |
| Loot system | UCrimsonLootSubsystem, UCrimsonLootTableDefinition, UCrimsonLootSpawnerComponent, UCrimsonLootContextDefinition |
| Action bars | UCrimsonCoreActionBarComponent, UCrimsonCoreSlotBindingComponent (bars + binding store on the player controller; providers from CrimsonActionBar), UCrimsonCoreContextAction_EquipToActionBar (the Equip row on a consumable's item menu: binds it to the first free slot of its TargetBars) |
| Context effects | UCrimsonContextEffectComponent, UCrimsonContextEffectsLibrary, UAnimNotify_CrimsonContextEffects |
| GameFeatureActions | UCrimsonGameFeatureAction_SetupCamera, UCrimsonGameFeatureAction_AddNPCSpawner, UCrimsonGameFeatureAction_SetLootGenerator. The other actions its experiences use ship in their own plugins: UCrimsonGameFeatureAction_AddAbilities (CrimsonAbilitySystem), UCrimsonGameFeatureAction_AddWidget (CrimsonUI), UCrimsonGameFeatureAction_AddTeams / AddParty (CrimsonTeams), UCrimsonGameFeatureAction_AddInventory (CrimsonInventory), UCrimsonGameFeatureAction_AddEquipmentSlots (CrimsonEquipment), UCrimsonGameFeatureAction_AddInputContextMapping / AddInputBinding (CrimsonInput) |
| UI showcases | UCrimsonCoreSkillTreeScreen, UCrimsonCoreSkillTreeGraph, UCrimsonCoreSkillTreeNodeButton - reference wiring of CrimsonInput + CommonUI to CrimsonSkillTree's action API |
Plugin dependencies
| Plugin | Why |
|---|---|
CrimsonCommon | CommonGame player classes, modular actors, session subsystem, message bus |
CrimsonExperience | Experience definitions, the experience manager component, the GameFeature policy |
CrimsonSaveSystem | Save manager, ICrimsonSaveableSystem / ICrimsonSaveableActor |
CrimsonAbilitySystem | UCrimsonAbilitySystemComponent, UCrimsonAbilitySet, attribute sets, cue manager |
CrimsonInput | UCrimsonInputConfig, UCrimsonInputComponent |
CrimsonCamera | UCrimsonCameraMode, UCrimsonCameraComponent |
CrimsonTeams | UCrimsonTeamAgentComponent, parties |
CrimsonInteraction | Interaction options, conditions and scan tasks |
CrimsonHitDetection | ACrimsonProjectile (projectile pooling glue) |
CrimsonObjectPool | UCrimsonObjectPoolSubsystem |
CrimsonInventory | UCrimsonInventoryManagerComponent (loot, containers, companion bridge) |
CrimsonEquipment | Equipment manager and slots |
CrimsonSkillTree | Skill tree assets and manager (skill tree screen showcase) |
CrimsonActionBar | UCrimsonActionBarComponent, the slot binding store, ability/object providers |
CrimsonUI | UCrimsonActivatableWidget, the UI extension system, the context-menu framework |
CrimsonLoadingScreen | UCrimsonLoadingScreenManager |
CrimsonSettings | The settings registry and screen bases |
CrimsonCombatText | Combat text subsystem and user settings |
CrimsonOnlineSubsystem | Identity, presence and friends for the front end |
CrimsonMotionWarping | Lock-on warp target provider (Integration/MotionWarping/) |
CrimsonQuestSystem | Quest message bridge (Integration/QuestSystem/) |