Skip to content
Plugin 1.0 · Unreal Engine 5.8Source snapshot · Version details

Troubleshooting and limitations ​

No runtime containers ​

A manager component does not create inventory definitions for you. Create valid definition assets and call AddContainerFromDefinition or AddContainersFromCollection on authority.

Check the definition's main container fragment and selected implementation class.

Items do not fit ​

Check item shape, open container cells, current occupied cells, stack maximum, allowed rotation, and filters. Inspect OutItemsAdded or FRicAddResult.AddedItemCount; a nonzero partial addition is not necessarily the entire request.

When debugging nested inventory, use recursive queries instead of inspecting only the roots.

Client inventory does not update ​

Check that the owner actor replicates, the manager's containers are attached, and the RPC component has a valid owning connection. Use source references for authoritative work and client-copy references for the predicted view.

Subscribe to synchronization notifications and re-resolve references by GUID. If a chest is being observed, confirm that its state is replicated to the viewing client.

Swap success does not match the result ​

In this snapshot, URicSwapStrategySwapBoofer.TrySwap and JigsawSwap return false after performing placement attempts. The relocate strategy can return true without completing the swap and lacks a complete verified rollback path.

The predicted swap path can therefore diverge from expectations. Validate or repair your selected strategy before shipping that interaction. These docs describe the limitation; they do not modify the plugin implementation.

A restored disk save loses fields ​

The runtime snapshots contain nested plain C++ fields without UPROPERTY. A reflected USaveGame wrapper is not sufficient evidence that the complete tree is serialized. Use an explicit adapter and round-trip test indices, tags, GUIDs, nested arrays, and assignments.

Manager restoration requires existing actors and matching stable manager IDs. It skips invalid definitions.

An interaction point cannot be found after moving ​

Call RefreshSpatialIndex after moving the point. Also check Hidden/Disabled tag state, search strategy, distance, angle, and the trace channel.

The server trusts client point selection for distance and visibility; this is a defined integration boundary, not an additional validation guarantee.

No dynamic icon material ​

The base visual resolver returns null for a dynamic material. Use the icon texture directly in the UI or implement a resolver subclass.

Gamepad does not move the cursor ​

The input subsystem tracks input type, but does not create its analog cursor automatically. Integrate the analog cursor explicitly if your game needs it.

Runtime preview leaks or outlives its widget ​

Keep the preview handle, and call ClosePreview when the panel closes. Preview worlds have their own lifetime. Do not assume that removing the widget alone closes its world.

Copy and transfer semantics ​

Some inventory subsystem Copy helpers transfer source contents. Read the implementation before using them to produce an independent duplicate. Networked cross-manager transfers can clone and remove objects, so retaining a UObject pointer is not a durable identity mechanism.

Validation scope ​

The repository documents Win64 and Unreal Engine 5.8 validation and contains tag, resolver, naming, interaction, and replication automation tests. Dedicated-server sessions with connected clients, disk serialization, other platforms, and your own Blueprint integrations still require project testing.

The website build verifies documentation links and output; it does not compile or execute these Unreal Engine examples.