EDITED:
ONLY Reliable RPC’s will truly garauntee order, and ONLY for the same actor. Connections do not matter. Note that they do not neccesarily arrive in order, but they will be processed in order.
- Calling ReliableRPC_1 and ReliableRPC_2 on Actor_A, will always execute in the same order they were called.
- Calling ReliableRPC_1 on Actor_A and ReliableRPC_2 on Actor B, they may execute in any order, regardless of how they were called.
Unreliable RPC’s will execute in the order they were called in (since each packet has an ID to identify it’s order) - but only if they do actually arrive, so that’s the crux and probably shouldn’t be relied on so much. I’m not sure if this is true for multicast unreliables since they have some special handling.
Reliable RPC’s cannot be dropped, as if they are dropped the client will be kicked anyway.
Property replication does not garauntee any order, even on the same actor. This is because property replication is lossy, you will not receive every change made to a property, only it’s final state.