Project settings and tools
Project Settings → Plugins → EDInventory
| Setting | What it does |
|---|---|
| Item Definition Scan Paths | Folders registered as EDItemDefinition primary assets on startup. Without at least one, entries cannot be resolved back into definitions. |
| Default Container Class | The UEDContainer subclass used when a definition names none. |
| Logging verbosity | LogEDInventory — transactions log at Display, and views narrate what they bind to at Verbose. |
Project Settings → Plugins → EDInventory Networking
Defaults for container actors. All are conservative; the case worth tuning for is a level with a hundred loot chests.
| Setting | What it does |
|---|---|
| Owner Only Relevancy | Nobody needs the contents of a chest across the map. |
| Cull Distance | Beyond it, stop replicating. |
| Net Update Frequency | How often a container may send. |
| Initial Dormancy | A chest nobody has opened costs nothing until it is. |
UEDInventoryRelevancyComponent applies the same policy per actor when one chest needs to differ.
Gameplay tags
The plugin ships only the roots. Concrete tags are your game's vocabulary:
| Root | For |
|---|---|
Inventory.Container | Container identities |
Inventory.Slot | Equipment slots |
Inventory.Category | Item categories |
Inventory.Rarity | Rarity tiers |
Inventory.State | Per-stack states — drawn, stolen, bound |
Declare yours in Project Settings or natively in C++. Pick one mechanism per tag: a tag declared in both works, but the comment shown in the editor comes from whichever loaded first, so documentation drifts silently.
Editor tools
Item Composer
A guided editor for a definition's fragments, instead of the raw array picker. Right-click an item definition → Compose.
Container Designer
A details-panel extension on UEDContainerComponent and container definitions: apply a grid or list
layout, add and remove rules, and see the resulting capacity without hand-editing instanced structs.
Validation
Asset validation runs on save and flags:
- a container definition with no identity tag;
- Attribute slot-count mode with no attribute set;
- duplicate fragments of one type on a definition;
- a recipe whose ingredients or output do not resolve.
EDValidateInventory is the commandlet form, for CI:
UnrealEditor-Cmd.exe YourProject.uproject -run=EDValidateInventory -unattended -nop4
Runtime inspector
The gameplay debugger category (apostrophe key → EDInventory) lists every container on the actor under the cursor and what is in it, labelled by container tag.
The debugger gathers on the authority and sends the result to the client viewing it. Seeing correct data does not prove the client has that data. For client-side questions, look at what the client's own UI is bound to.
Automation tests
UnrealEditor-Cmd.exe YourProject.uproject -ExecCmds="Automation RunTests EDInventory" -unattended -nopause -nullrhi
Tests live under EDInventory.Core.*, EDInventory.UI.*, EDInventory.Equipment.* and so on.
They run in a single process, so replication is not exercised. What is asserted is the thing that makes it possible — that a container's identity, capacity, contents, rules and shape are all marked to replicate. The rest wants a real session with a client attached.