Skip to content
Tuxedo CatSTUDIO
Menu

Inventory Director V1

Review draft. This source page has not completed website editorial and release-specific verification.

UInventoryComponent owns one live Actor inventory: identity, initialization, registration state, capacity, Starting Items, current slots, queries, mutations, and the committed InventoryChanged event.

UInventorySubsystem is Game Instance scoped. It coordinates persistent and temporary live registration, identity lookup, dormant persistent authority, atomic transfer, native pool services, and semantic persistence. Its live directory indexes registered components; it does not mirror their live slot contents.

UInventoryItemDefinition is immutable authored item data. UInventoryItemPool is authored pool data containing independent entry outcomes.

A persistent inventory uses a developer-authored stable FName, for example Player.Main, Chest.Castle.Armory.03, or Vendor.Blacksmith. The name is used for registration, dormant state, transfer routing, and persistence. A temporary inventory uses an existing runtime FGuid and is never persisted or placed in dormant authority.

Initialized means the component has established its local current state. Registered means the subsystem has accepted it into the current Game Instance directory. A component may be initialized before registration succeeds.

The subsystem lives with the Game Instance. When a persistent actor is absent, its dormant record can remain as offline authority. On later registration, authority precedence is:

Saved > Dormant > Starting Items

Saved persistence replaces the target state. Dormant state is consumed by successful persistent registration. Starting Items are authored fallback configuration for a new authority and are not reapplied on every BeginPlay.

Slot placement is deterministic. Compatible partial stacks are considered in ascending slot order, then empty allocated slots, then appended slots for unlimited inventories. Removal considers occupied slots from the highest index downward. Public operations validate and commit atomically; there is no public raw state setter.

The core plugin remains usable without Save Game Director, Probability Director, SignalBus, DirectorBridge, or any other Director plugin. Inventory core has no direct Save Game Director dependency. Optional Inventory/SaveGame adaptation is provided by DirectorBridge 1.13.0’s DirectorBridgeInventorySaveGame Runtime module under IntegrationId Inventory.SaveGame; see Persistence for requirements and setup. Native pool calls remain caller-controlled. InventoryDirectorProbabilityBridge is retired; Probability-owned selection is available through optional DirectorBridge Inventory.Probability, described in Probability Integration. Inventory V1.1 Runtime Controls are documented in Editor Tools and Runtime Inspector; the Inspector itself remains strictly read-only.