A slot-based equipment system — equip an item and it grants ability sets, spawns visual actors on sockets, and fires lifecycle hooks. Unequip and every bit of it is reversed, in the correct order, replicated.
Gameplay · Equipment · Unreal Engine 5
Equip the sword. The abilities, the mesh, the cleanup: all handled.
CrimsonEquipment is a slot-based equipment system built on two pawn components: one declares your slot layout (1 weapon, 2 rings), the other manages the replicated equipment list. Equipping a definition grants UCrimsonAbilitySets to the pawn's ASC, spawns attached visual actors, and fires lifecycle hooks — unequipping reverses all of it cleanly. It bridges to your inventory and your ability system through opaque interfaces, with zero cross-plugin includes.
Why CrimsonEquipment
The equip/unequip machinery every RPG rewrites — done once, replicated, and decoupled from your inventory and GAS setup.
Two components, whole system
UCrimsonEquipmentSlotsComponent declares the slot layout — which slot tags exist and how many of each (Equipment.Slot.Ring × 2 gives you indices 0 and 1). UCrimsonEquipmentManagerComponent owns the replicated equipment list and does the runtime work. Add both to your pawn and you're equipping.
One data asset per item
UCrimsonEquipmentDefinition is an immutable data asset: the slot it occupies, the ability sets to grant, the actors to spawn, and the instance class to create. No runtime state lives in the definition — designers author items entirely in Blueprint defaults.
Equipping grants real abilities
On equip, the manager grants every UCrimsonAbilitySet in the definition to the pawn's ASC and stores the granted handles; on unequip it revokes all abilities, effects, and attributes through those handles. UCrimsonGameplayAbility_FromEquipment lets granted abilities navigate back to the item that granted them.
Visual actors, spawned and forgotten
Each definition lists FCrimsonEquipmentActorToSpawn entries — actor class, skeleton socket (hand_r, spine_01), local transform. A two-handed weapon can spawn a grip actor and a sheath actor on different sockets; all of them are destroyed automatically on unequip.
No hard dependencies to bridge
The manager finds the ASC through the engine's IAbilitySystemInterface — any ASC works, including Epic's own. Inventory items pass through as an opaque SourceObject you cast on your side. No CrimsonAbilitySystem or CrimsonInventory dependency — the plugin has zero cross-plugin includes.
Multiplayer and save-game ready
The equipment list replicates via FastArray deltas and instances are replicated UObjects, with Iris support. GatherSaveData / RestoreFromSaveData round-trip a plain SaveGame-tagged struct — and if the ASC isn't ready yet at restore time, the data is cached until you flush it.
A closer look
From empty pawn to equipped weapon in five steps
Add the two components, set the slot layout in the Details panel (a gameplay tag plus a count per slot type), create a UCrimsonEquipmentDefinition Blueprint for your sword — slot tag, ability sets, mesh actor and socket — and call EquipItem. The abilities are live, the mesh is in the hand, and unequip undoes everything. In a Blueprint-only project, enabling the plugin is the entire install.
Bring your own inventory. Bring your own ASC.
EquipItem takes any UObject* as the source — the manager never inspects it, your code casts it back with GetSourceObject. The ASC is discovered through IAbilitySystemInterface, the engine-standard accessor. That means CrimsonEquipment slots into CrimsonInventory and CrimsonAbilitySystem seamlessly — or into the inventory and ability setup you already have.
Lifecycle ordering you can build systems on
Equipping into an occupied slot applies the incoming item before removing the occupant, with an OnBeforeSwapUnequip hook in between — so shared resources like skill trees or hotbar contexts never briefly have zero owners. CanEquipItem / CanUnequipItem gate the flow ("in combat", "insufficient level"), and SwapEquippedItems reorders slots without touching gameplay state.
Technical details
- Engine
- UE 5.8
- Platforms
- Windows, Mac, Linux
- Blueprint-ready
- Yes
- C++ required
- No
- Network replicated
- Yes
- Dependencies
- CrimsonCommon, GameplayAbilities, GameplayTags, ModularGameplay
- Last updated
- June 2026
Frequently asked questions
Do I need C++ to use it?
UCrimsonEquipmentDefinition Blueprints, and equip — in a Blueprint-only project that's the whole install. C++ is there when you want it: custom UCrimsonEquipmentInstance subclasses, CanEquipItem rules, or save-data mapping for runtime inventory items.Does it work in multiplayer?
BlueprintAuthorityOnly; clients receive state through the FastArray-replicated equipment list, and equipment instances are replicated UObjects with SourceObject and SpawnedActors replicated. Iris replication is supported. OnEquipped / OnUnequipped run on the authority; clients react via rep notifies or the changed-message convention.Does it depend on other Crimson plugins?
UCrimsonAbilitySet asset and its granted-handles struct live. Inventory and GAS are bridged through opaque interfaces (IAbilitySystemInterface, the SourceObject pattern) with no cross-plugin includes, so nothing else is required.Do I need CrimsonInventory or CrimsonAbilitySystem for it to work?
IAbilitySystemInterface — including a vanilla UAbilitySystemComponent — receives the granted ability sets, and the source object can be any UObject from any inventory system. The Crimson plugins are the zero-glue pairing, but neither is a dependency.How does it relate to the free CrimsonCommon foundation?
UCrimsonAbilitySet contract that lets equipment grant abilities without depending on CrimsonAbilitySystem, and the logging foundation the suite shares.Stop hand-rolling equip/unequip plumbing
Two components on your pawn, one data asset per item, and equipping grants abilities, spawns meshes, and replicates — with unequip guaranteed to reverse it all in order.
Pricing
CrimsonEquipment is sold on Fab under Epic’s two standard licenses — both include the full plugin, source, and updates.
Completes your setup
Built on the free CrimsonCommon foundation, so it pairs cleanly with the rest of the suite:
Layout-agnostic, fully replicated inventory and crafting.
- Pluggable Topology
- Runtime Constraints
- Scoped Containers
- No RPCs to Write
A full Gameplay Ability System layer for UE5.
- Custom ASC & Abilities
- Slot-Based Augments
- Modifiers & Phases
- Graph-Based Combos