A layout-agnostic, fully replicated inventory — pluggable topology (flat / grid / weight / custom), a runtime-mutable constraint stack, fragment-composed items, currency, async pickups, and zero hand-written Server RPCs.
Gameplay · Inventory · Unreal Engine 5
Diablo grid, Skyrim weight, MMO slots. One replicated component.
CrimsonInventory is a layout-agnostic inventory system: topology is a UCrimsonInventoryLayout data asset (flat slots, 2D grid, weight list, or your own), rules live in a runtime-mutable constraint stack, and items are data assets composed from fragments. Currency, async pickup nodes, world chests with four ownership scopes, virtual banks, crafting stations, and a routing component that owns every Server RPC are included — fully replicated out of the box.
Why CrimsonInventory
The topology-agnostic inventory core that action RPGs, survival games, and MMOs can all ship on — replication included.
Topology is a data asset, not a rewrite
A UCrimsonInventoryLayout asset selects the inventory's shape: _FlatSlot for MMO/RPG slot lists, _Grid for 2D Tetris with optional rotation (Diablo/Tarkov/PoE), _Weight for append-only weight lists (Skyrim/Fallout) — or subclass for a custom topology. Layouts never store caps or rules, so swapping the asset turns the same component into a different genre.
A constraint stack you mutate at runtime
Caps and rules live in a UCrimsonInventoryConstraint array on the component — slot caps, tag-keyed int/float caps, type filters, per-cell grid rules, aggregate stack limits, or Blueprint custom rules. Equipping a Backpack is two calls — ModifyIntConstraintValue(Slots, +10) and ModifyFloatConstraintValue(Weight, +50) — and both replicate automatically.
Items composed from fragments
UCrimsonInventoryItemDefinition assets are built from UCrimsonInventoryItemFragment extensions — stacking data, geometric footprint, visuals, grant-currency, per-item constraints — plus state fragments for per-instance mutable state like durability. Live items are replicated UCrimsonInventoryItemInstance subobjects keyed by a stable server-assigned `EntryId`, not a slot index.
Pickups and containers with real ownership
ACrimsonPickupActorBase covers single-item drops and multi-item bags with auto-mesh resolution and per-slot takes; async Blueprint nodes add and pick up with partial-success paths. ACrimsonContainerActorBase gives world chests four ownership scopes — Shared / PerPlayer / PerParty / PerDungeonInstance — and UCrimsonContainerSubsystem runs purely-virtual stashes like banks and account vaults.
Zero hand-written Server RPCs
UCrimsonInventoryRoutingComponent on the PlayerController owns every Server RPC the plugin needs — move, split, drop, lock, transfer, open container, take pickup. Your UI calls it directly, and a subclass overriding CanAccessInventory / CanOpenContainer enforces stricter access rules. All mutations are authority-only on the manager component.
Currency, crafting, and save-ready structs
Per-component replicated currencies, ACrimsonCraftingStationBase with recipe and recipe-book assets for world crafting, and save data exposed as plain structs — FCrimsonInventorySaveData and FCrimsonContainerSaveData. No CrimsonSaveSystem dependency: wire the structs into whatever save system your project uses.
A closer look
A replicated inventory running in a sitting
Enable the plugin, create a layout asset, add UCrimsonInventoryManagerComponent and initialize it with your caps, drop the routing component on your PlayerController, and add an item. The Quick Start goes from empty project to a moving, transferring, replicated inventory — and Blueprint-only projects never touch a .uproject or .Build.cs.
Change genre by swapping one asset
The same component becomes an MMO slot list, a Tarkov grid with rotation, or a Skyrim weight list by assigning a different layout asset. Constraints compose on top — typed grid cells for a potion belt, a weight cap plus per-type count caps — and when a bag upgrade bumps the caps at runtime, UI subscribed to the constraint-changed message refreshes its capacity bars automatically.
Chests, banks, and party loot without netcode
Place an ACrimsonContainerActorBase chest and pick its scope: shared for everyone, per-player loot instancing, per-party stashes, or per-dungeon-instance chests. Purely-virtual banks live in UCrimsonContainerSubsystem with no actor at all. Every open and transfer flows through the routing component, so the whole loop is server-authoritative from day one.
Technical details
- Engine
- UE 5.8
- Platforms
- Windows, Mac, Linux
- Blueprint-ready
- Yes
- C++ required
- No
- Network replicated
- Yes
- Dependencies
- CrimsonCommon, GameplayAbilities, GameplayTags
- Last updated
- June 2026
Frequently asked questions
Do I need C++ to use it?
.uproject or .Build.cs to edit. Layouts, item definitions, fragments, and constraint values are all data assets, and custom rules subclass UCrimsonInventoryConstraint_CustomRule in Blueprint. C++ is there when you want it — custom layouts, constraints, or fragments.Does it work in multiplayer?
EntryId that survives reorders, constraint changes and currencies replicate automatically, and all mutations are authority-only. The routing component provides the client-to-server path, so you never write inventory RPCs.Does it depend on other Crimson plugins?
ICrimsonInteractableTarget from CrimsonCommon, and equipment integration goes through ICrimsonAbilitySystemOwner — interaction and equipment connect via interfaces, never hard dependencies. There's deliberately no CrimsonSaveSystem dependency either: save data is plain structs.How does it relate to the free CrimsonCommon foundation?
Can one game mix a grid stash, a weight backpack, and a flat hotbar?
EntryId regardless of topology, and moving items between them is one TransferItem call on the routing component.Ship inventory features, not inventory plumbing
Assign a layout, stack your constraints, add the routing component — replication, pickups, containers, and currency are already done. Then swap topologies as your design evolves without rewriting a thing.
Pricing
CrimsonInventory 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:
Equipment slots that grant abilities and spawn gear.
- Slot-Based Equipping
- Grants Ability Sets
- Spawns Visual Actors
- Interface-Decoupled
Fragment-based saving — each system owns its own data.
- Independent Fragments
- No Cross-Plugin Coupling
- Blueprint-Ready
GAS-based interaction system for pickups and prompts.
- Scan Tasks
- Instant & Hold Abilities
- Hold-Input Logic
- UIExtension Feedback