Is the order of execution respected on reliable RPCs

When calling RPCs (Server or Multicast) marked as reliable, is the order of execution guaranteed to be the same on the remote machines ?

Yes, but only for the actor that the RPC was called on. For example, if you call reliable RPC’s on actor A, all of those RPC’s will be processed in the exact same order.

But if you also call reliable RPC’s on actor B, while they will be processed in the exact same order for actor B on the remote side, the combined RPC’s for actor A and B won’t necessarily be processed in the same order, if that makes sense :slight_smile:

Here is another example:

Machine A:
RPC A1, RPC B1, RPC A2, RPC B2 (calling RPC’s on actor A, and B respectively)

They could possibly be processed on Machine B like this:
RPC A1, RPC A2, RPC B1, RPC B2.

So you see, for each actor, they are processed in the right order, but across actors, that may not be true.

Hope that helps!

It does help, thanks a lot for the clear explanation!