CCHARUMODULE
Overview
The CCHARUMODULE is a character framework providing pre-assembled base classes for actors, pawns, characters, projectiles and players. Each base class comes with a component-based architecture where components are automatically created and wired in the constructor via UCInitializerComponent. At runtime, a data-driven spawner system instantiates and manages actors in a tile-based pooling pipeline, while a separate player spawner handles player creation and possession.
Depends on CCOREUMODULE.
| Functionalities | Overview |
|---|---|
| Base Classes | Pre-assembled actor hierarchy: ACActor, ACPawn, ACCharacter, ACProjectile, ACPlayer1STCharacter, ACPlayerFLYPawn, ACSun, ACPortrait |
| Components | Modular components: initializer, life, interaction, selection, skill, combat (combotter), movement, camera, debug, FOW, minimap, compass, automation, navigation, AI perception |
| Data | Configuration structures: FCCharacterDetailMaker (DataTable row), FCNPCMaker, FCPlayerMakerStruct, UCActorInformation (runtime state) |
| Spawner | ACActorSpawner for NPC/actor pooling around a tracked pawn, ACPlayerSpawner for player creation and switching |
| Animation | UCAnimInstance with typed variable system and montage priority, CMontageNotifier for combat/block/range notify events |
| Blueprint | UCCharBPLibrary exposing player retrieval, team attitude and tag queries to Blueprint |
Architecture
The character pipeline works as follows:
FCCharacterDetailMakerDataTable rows define everything about an actor: class, mesh, animations, skills, AI, combat stats, team, scale, biome constraints.ACActorSpawnerreads aFCNPCMakerDataTable row, creates aUCActormakerthat distributes actors across room cells usingRoomUtility.- On tick,
UCActormaker::buildASynccomputes which actors should be active based on pawn proximity, pools spawn/despawn in batches, and manages NavMesh bounds. - When an actor is spawned (
popOn),UCInitializerComponent::initcascades initialization to every component: capsule, mesh, interaction, life, combat, skills, etc. ACPlayerSpawnercreatesUCPlayermakerinstances fromFCPlayerMakerStructrows, handles player creation, teleportation to eligible rooms, and player switching.UCAnimInstancedrives animation state via typed variables (CAnimBoolVar,CAnimFloatVar) and integrates withUCCombotterComponentstate machines for attack/block/range combat.