Public API Index
Review draft. This source page has not completed website editorial and release-specific verification.
UInventoryComponent
Section titled “UInventoryComponent”Identity and lifecycle
Section titled “Identity and lifecycle”IsInitialized, IsRegistered, IsPersistentInventory, GetInventoryId, GetRuntimeGuid, and GetInventoryIdentity.
Content queries
Section titled “Content queries”HasItem, GetItemCount, CanAddItem, CanRemoveItem, GetItemAtSlot, IsSlotOccupied, GetSlotCount, GetOccupiedSlotCount, GetFreeSlotCount, FindSlotsForItem, and GetContents.
Mutations
Section titled “Mutations”AddItem, RemoveItem, RemoveAllOfItem, SetItemCount, ClearInventory, ResetToStartingInventory, MoveStack, SwapSlots, SplitStack, and MergeStacks. These return FInventoryMutationResult.
Events
Section titled “Events”InventoryChanged is the Blueprint event. Native code can use OnInventoryChanged(); the event carries FInventoryChangedEvent and its FInventorySlotChange values.
UInventorySubsystem
Section titled “UInventorySubsystem”FindInventory, FindPersistentInventory, FindTemporaryInventory, TransferItem, SelectRandomItemFromPool, SelectRandomItemsFromPool, GiveRandomItemFromPool, CapturePersistenceSnapshot, ValidatePersistenceSnapshot, and RestorePersistenceSnapshot.
Data and result types
Section titled “Data and result types”Public reflected types include FInventoryTargetIdentity, EInventoryIdentityKind, EInventoryMutationStatus, FInventoryMutationResult, FInventorySlotSnapshot, FInventorySlotChange, FInventoryChangedEvent, FInventoryStartingItem, FInventoryItemPoolEntry, EInventoryPoolSelectionStatus, FInventoryPoolDraw, FInventoryPoolSelectionResult, FInventoryPoolGiveResult, EInventoryPersistenceStatus, FInventoryPersistenceResult, FInventoryPersistenceSlot, FInventoryPersistenceRecord, and FInventoryPersistenceSnapshot.
Helper and authored assets
Section titled “Helper and authored assets”UInventoryDirectorBlueprintLibrary provides safe target factories and identity predicates. UInventoryItemDefinition and UInventoryItemPool provide authored Data Asset configuration.
Optional Probability integration
Section titled “Optional Probability integration”InventoryDirectorProbabilityBridge is retired. The optional DirectorBridge Inventory.Probability integration provides sequential and keyed pool selection through FDirectorBridgeInventoryProbabilityService. It consumes Inventory-authored pools and delegates RNG, stream state, and probability mechanics to Probability Director. Inventory’s native FRandomStream APIs remain available without either plugin. See Probability Integration.
Registration internals, dormant maps, mutation plans, transfer plans, raw state installation, and the editor diagnostic snapshot are private/native implementation seams and are not gameplay APIs.
Runtime component lifecycle observation
Section titled “Runtime component lifecycle observation”UInventorySubsystem::GetRegisteredInventoryComponents() returns the live Inventory components in this GameInstance, ordered by persistent Inventory identity followed by temporary runtime identity. The subsystem’s existing identity maps remain authoritative and retain weak component references. Dormant persistent inventories are not returned because they have no live component.
Runtime consumers can observe OnInventoryComponentRegistered and OnInventoryComponentUnregistered. Bind both native delegates first, then enumerate the current snapshot. A component may appear in both paths during startup; consumers should de-duplicate by component pointer. Notifications run synchronously on the game thread after the owner registry transition. Components register automatically during normal owner lifecycle and unregister at EndPlay or subsystem teardown. This API does not depend on any transport or integration plugin.