Quick answer: Unreal FastArraySerializer not replicating when the entire array is replaced? Replace = clear + add; fast array tracks per-item; full replace miss-tracked - use MarkArrayDirty.

Server: Items = newItems; clients see old items.

Call MarkArrayDirty

Items.MarkArrayDirty();

Forces full re-replication.

Or clear and add

Clear; iterate new items; add each. Per-item dirty.

Audit replace patterns

Each TArray replacement: dirty marking needed.

“Fast array assumes per-item changes. Replaces need explicit dirty.”

If your replicated arrays are replaced wholesale, the MarkArrayDirty is mandatory.

Related reading