Performance
Fast Array delta serialization reduces steady-state network work compared with resending a complete array for every change. It does not make all inventory processing independent of inventory size, and a newly relevant client still needs initial state.
Runtime Costs
- GetItemByID/GetDatabaseByItemID use maps after indexing.
- Component resolution scans interface components on the Pawn and PlayerState.
- Slot lookup, total quantity checks, capacity checks and FindNonFullStack scan Entries.
- AddItemToInventory can repeatedly scan while filling multiple stacks.
- UpdateInventoryCarryWeight resolves and sums every occupied entry.
- Frames create one UMG widget per entry; large inventories incur layout and asset loading costs.
- Database loading includes hard-referenced masters, while nested soft assets load independently.
Use representative inventory sizes, many simultaneous players and bursty rewards/transfers when profiling. Measure initial replication, delta bandwidth, operation time, carry-weight recalculation, widget creation and asset loading separately. No benchmark numbers or maximum supported inventory size were established in this review.
If adding indexing/caches, keep them consistent on insert, removal and replication. UI virtualization or batched refresh belongs in a maintained presentation layer. Do not optimize by bypassing dirty marking or authoritative validation.