Skip to main content

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.