Quick Start
1. Enable the plugin
Open Edit -> Plugins, type Crimson in the search box, tick CrimsonEquipment's checkbox (and its dependency CrimsonCommon), and restart the editor when prompted. For a Blueprint project that's the entire install - you never hand-edit the .uproject or any .Build.cs.
Screenshot pending
Images/CrimsonEquipment/qs-enable-plugin.pngBlueprint-only project?
Enabling the plugin in Edit -> Plugins is the whole installation - there is no
.uproject or .Build.cs to edit. The editor writes the plugin entry for you. The C++ step below is needed only when you reference CrimsonEquipment types from your own C++ code.C++ projects: after enabling the plugin above, add its module to your build file so your game code can use its types:
// YourGame.Build.csPublicDependencyModuleNames.Add("CrimsonEquipment");
2. Add Components to Your Pawn
#include "CrimsonEquipmentSlotsComponent.h"#include "CrimsonEquipmentManagerComponent.h"AMyCharacter::AMyCharacter(){EquipmentSlots = CreateDefaultSubobject<UCrimsonEquipmentSlotsComponent>(TEXT("EquipmentSlots"));EquipmentManager = CreateDefaultSubobject<UCrimsonEquipmentManagerComponent>(TEXT("EquipmentManager"));}
3. Define Your Slot Layout
Open the Character Blueprint -> select EquipmentSlots -> set SlotLayout in the Details panel. Each entry is a gameplay tag + count:
| SlotTag | SlotCount | Result |
|---|---|---|
| Equipment.Slot.Weapon | 1 | One weapon slot |
| Equipment.Slot.Head | 1 | One head slot |
| Equipment.Slot.Ring | 2 | Two ring slots (indices 0 and 1) |
Tag Conventions
Define all equipment slot tags in a
GameplayTags.ini or in a native UGameplayTagsManager::AddNativeGameplayTag call. The tag string is entirely up to your project - just keep them consistent between UCrimsonEquipmentSlotsComponent and UCrimsonEquipmentDefinition.4. Create an Equipment Definition
Right-click in the Content Browser -> Blueprint Class -> search for UCrimsonEquipmentDefinition -> create a subclass (e.g. BP_Sword). In the Blueprint defaults, set:
| Property | Example Value |
|---|---|
| EquipmentSlotTag | Equipment.Slot.Weapon |
| InstanceType | UCrimsonEquipmentInstance (or your subclass) |
| AbilitySetsToGrant | Your UCrimsonAbilitySet data assets |
| ActorsToSpawn | Your weapon mesh actor class + socket name (e.g. hand_r) |
5. Equip an Item
// Server-side only - BlueprintAuthorityOnlyif (UCrimsonEquipmentManagerComponent* EqMgr =Pawn->FindComponentByClass<UCrimsonEquipmentManagerComponent>()){UCrimsonEquipmentInstance* Instance = EqMgr->EquipItem(UBP_Sword::StaticClass(),InventoryItemInstance); // opaque source - cast it back later}