After joining session, able to pass actor to 'Run on Server' RPC, but not then pass it back to 'Multicast' RPC.

I’m running into an issues where I’m getting different results depending on if I’m running the game in the Editor or as a Standalone.

The script is really simple. The player character calls a ‘Run on Server’ RPC and passes an Actor, then the Server calls a ‘Multicast’ RPC and passes the same Actor. Nothing else happens.

If I am running it in the Editor, the same Actor gets passed back to the client. If I run in Standalone, null gets passed back to the client. (In both cases the Server has the same Actor)

Interestingly, if I run it in the Editor but with Net Mode as Standalone, then Host a Session and Join it. When I run the script, the Multicast RPC returns null for the client.

I done a lot of digging around and I pretty sure everything is set to replicate correctly. It seems almost like the opposite of this issue. Actors do not replicate when using sessions. But I don’t see Travel Failure in the log.

Version 5.3.2

most likely the actor and/or client just hasnt loaded yet. try adding a delay before the call to see if it fixes it but this isnt a fix just a debug

Made no difference

Small update, it seems that if the objects are spawn via the level blueprint, then they replicate correctly. There seems some other bugs with it, but it’s seems to be a workaround so far.

After playing around a little more, that seems to be the fix. Basically everything that replicates, is going to have to be spawned with blueprints instead of placed in level.

If theyre spawned in the level do they have net load on client checked?

Yup

can we see some code? i definitely dont have this issue

Placed (part of level) replicating actors need to have Net Load on Client ticked.
e.g. interactable doors, elevators etc.

Spawned actors that replicate must have Net load on client unticked.
Spawned actors that replicate, must be spawned by the server. Regardless if spawned by level bp. Spawn logic must execute on the server.

Changes to replicated actors have to take place on the server.
States, Location, Rotation etc