In regaurds to Inventory Replication?

Here’s some general flow logic for networked interaction.

Most setups will require input from the client to interact (press a key). Note Both the Input (Client side) and the Server Event call the same function.

The function uses flow control logic to navigate execution.


Client executes a trace to determine if there is something to interact with.
If So (Branch: True → SHA: Remote) we RPC the server to run the same function.

We are only sending an RPC if there’s something for the server to do. we do not Flood the network with pointless RPC’s which is bad for multiplayer.

Server executes a trace to determine if there is something to interact with.
If So (Branch: True → SHA: Authority), what type of thing did it interact with?

This is where we can use a Switch or other flow control to call a specific function/event/interface for the given type.


Here’s a more flushed out interaction setup.

The interaction Type is used to called specialized functions.

Srv Pickup Item eventually flows out to another switch that handles loot types.


My Add/Remove process and inventory structure is based on my games needs. Not all inventories are alike.

Simple data items are stored in a struct as… simple data. They are added and remove easily.

Complex Items such as weapons (Actors) require a bit more. For example a weapon needs a dedicated Actor Obj Ref. Adding it is having the server spawn the weapon class, attach the actor, update multiple character states, stance, movement speed, animations etc. Setting the Inventory is easy…just set a variable for the given slot.

I know this is a lot, but it’s all relative to the subject.

1 Like