
Description
FAST ARRAY is a native Unreal feature that replicates entries in place instead of the entire array.
Built for networked sytems: inventories, equipment slots, abilities, replicated collections, cosmetics changes, save/load lists, and any gameplay system that needs efficient server-authoritative replicated struct data.
Primer FastArray Structs provides a Blueprint-friendly replicated Fast Array container for FInstancedStruct payloads, keyed by stable handles and replicated with Unreal’s per-entry delta serialization.
Drop the component onto any replicated actor
define your payload structs as normal
and replicate flexible gameplay data without building custom FastArray boilerplate every time.
The plugin owns the network envelope; Blueprint owns the data model.
CORE FEATURES
Per-entry FastArray delta replication for efficient network updates
Blueprint-friendly FInstancedStruct payload support
Stable integer handles for referencing entries across systems
Automatic handle assignment using the lowest available handle
Authority-only mutation API for server-controlled state
Add, update, remove, clear, swap, rename, and transfer entries
Move entries between FastArray components with success/failure outputs
Blueprint validation gates for add, set, remove, and transfer rules
Bindable delegates for entry added, changed, and removed events
Save/load friendly bulk get and set operations
How To
Add the Primer Fast Array Structs component to a replicated actor
Create your payload structs in Blueprint or C++
Build payload values with Make Instanced Struct
On the server, call SetEntry, RemoveEntry, or other mutation functions
On clients or server, bind to entry delegates and unpack payloads with Get Instanced Struct Value
CONFIGURABLE PARAMETERS
Payload Structs: Any valid FInstancedStruct payload you author
Handles: Stable integer keys for each replicated entry
Validation Gates: Blueprint-overridable rules for adding, setting, removing, or moving entries
Replication Owner: The replicated actor that owns the component
BLUEPRINT API
SetEntry - Add or update an entry by handle, or pass -1 to auto-assign a handle
RemoveEntry - Remove an entry by handle
ClearEntries - Remove all entries
SetEntries - Bulk replace entries while preserving handles, useful for save/load
SwapEntries - Swap payloads between two existing handles
MoveEntry - Rename an existing handle to a free handle
MoveEntriesToComponent - Transfer selected entries into another FastArray component
GetEntry - Retrieve a payload by handle
GetEntries - Retrieve all entries
GetFirstAvailableHandle - Preview the next auto-assigned handle
IsHandleValid - Check whether a handle currently exists
VALIDATION EVENTS
CanAddEntry - Gate whether a new payload can be added
CanSetEntry - Gate whether an existing entry can be updated
CanRemoveEntry - Gate whether an entry can be removed
CanMoveToTargetComponent - Gate whether an entry can be transferred to another component
DELEGATES
OnEntryAdded(Handle, Payload) - Fires when an entry is added
OnEntryChanged(Handle, Payload) - Fires when an entry is updated
OnEntryRemoved(Handle, Payload) - Fires when an entry is removed
USE CASES
Replicated inventory and container systems
Equipment, socket, and loadout state
Ability, buff, or gameplay effect payload lists
Server-authoritative item transfer between actors
Replicated quest, objective, or interaction collections
Save/load round-tripping for structured gameplay data
PRIMERS
Part of the Primer series, this plugin prioritizes clarity, control, and practical workflows.

