تخطي إلى المحتوى
الوسائط 1 للقائمة Inventory X – Agnostic UI
0 comments

الوصف

The first complete C++ backend-first inventory plugin for Unreal Engine 5.7 on the marketplace that implements Anti-Cheat, grid layouts, equip slots, nested containers, complete multiplayer support with client prediction and server reconciliation — and a built-in cross-inventory system for player-to-chest interactions. No UI forced on you. Bring your own.

Discord | Documentation & Tutorial | Youtube

The Explainer - Interactive Documentation and Tutorials, chat directly with the codebase (link with Order verification)

What's included

Backend-first, UI-agnostic

Pure C++ runtime. No widget dependencies in the core. Build any UI on top using the fully exposed Blueprint API.

Grid, slot & nested containers

N×M items, 90° rotation, equip slots, and nested containers — bags inside bags inside bags.

Server authoritative + prediction

Full client prediction with a 7-phase reconciliation protocol, handle remap table and cascading invalidation.

Tag-driven rules

Acceptance, denial, equip compatibility, stacking and access policies — all driven by GameplayTags and data assets. No hardcoded game logic.

Cross-inventory sessions

Open a trusted server-authoritative session between two inventories. Multi-viewer, single-writer lock. Atomic commits across two components.

Sample UI included

Two complete sample modules — single inventory and dual-panel cross-inventory — built exclusively on the public API.

Two layers, one plugin

All current and future layers are separate modules and can be removed if the feature they provide isn’t needed for your project.

Layer 1 — Core

  • UInventoryComponent with flat registries

  • Grid layout engine (N×M, rotation, first-fit)

  • Rules engine with GameplayTag queries

  • 9 operations: add, remove, move, swap, split, merge, rotate, equip, unequip

  • Atomic batch operations

  • Delta replication via FFastArraySerializer

  • Client prediction & reconciliation

  • Full Blueprint public API

  • 39+ automation tests

Layer 2 — Cross-Inventory

  • Trusted interaction sessions (Open / Suspended / Closed)

  • Multi-view / single-writer lock model

  • Policy-driven security evaluator

  • TransferItem, SplitStack, MergeStack, SwapItems across components, Equip and Unequip

  • Rollback journal for atomic cross-component commits

  • Session prediction with dual RevisionBarrier

  • Scoped handle remap for item & container handles

  • SessionEpoch invalidation on lock change

  • Automation suite

Layer 3 — Crafting System

  • Not yet, it’s being planned.

Architecture at a glance

Definitions layer

Reusable data assets for item definitions, container layouts, stack rules, equip rules and cosmetics. Hard references for gameplay rules, soft references for cosmetics so dedicated servers stay lean.

Runtime state

Flat registries of container, item and fragment records. Typed handles with generation counters. No per-item UObject allocations. Instance fragments for durability, ammo, condition and any custom state you add.

Operation engine

Every mutation follows Validate → Simulate → Commit → Notify. Batches are all-or-nothing. Validation runs against pre-batch state, not cumulative intermediate state.

Networking

Owner-only OwnerTags, delta replication with explicit MarkArrayDirty / MarkItemDirty contracts, initial authoritative state flag, listen server host through the same logical pipeline as remote clients.

Cross-inventory

Session registry in a WorldSubsystem. UInventoryInteractionComponent on the PlayerController as the sole RPC entry point. Server always builds the authority context from the connection, never trusts client-declared identity.

Designed for real projects

Dedicated server safe

Cosmetic assets are soft-referenced and never loaded by the runtime core.

Extend without forking

Fragment system, open tag rules and data-asset pipeline let you add game-specific logic without touching the core.

Save/load ready

Stable handles, flat registries and FInventoryDefinitionId are designed to make persistence a natural addition.

No framework lock-in

No GAS, no CommonUI, no external dependencies beyond GameplayTags and NetCore.

التنسيقات المضمنة