Download

Are all replicated variables replicated at the same time for an actor?

Hi!

I got a question regarding replication. I have a character that can enter some different animation states bases on some variables in the pawn. However some states can only be reached from other states in the state machine. Therefore it becomes relevant for me to know if all replicated variables are replicated (that needs to be replicated) when the actor is updated or can different variables be replicated in different chunks even though they changed at the same time (same tick) on the server?

So basically will all changed replicated variables be updated at the same time? Or can some values differ for a short duration of time? That would in my case allow the character to enter wrong animation state without being able to abort it immediately.

Answer hub, link.

I couldn’t find any information about those details in the documentation.

Thanks!

Hey all propertys are conditonaly replicated as soon as they are in a changed state.
They will be replicated, i think you want to look into the active override macro.


DOREPLIFETIME_ACTIVE_OVERRIDE

Don`t have much experience with this my self but with it you should be able to check the needed states and if it can/ should replicate.
Have a look at this blog post for more info.

Hope it gets you started.
WCode

The question isn’t about if a variable should be replicated or not but if replicated variables are received at the same time. If some variables e.g. have changed during a tick, will they then be replicated in the same chunk or is there a possibility that they are split in different chunks. This matter to me since I have a state machine that makes it transitions based on those variables.

Ex.
Let V1 and V2 be variables that always replicates when changed in an actor. Let V1 and V2 initial values be 1.
If the server sets A = 2 and B = 2 in a single tick.

Can the client e.g. only receive A’s change for a short duration of time?
I.e. the state on the client could look like this:
A = 2, B = 1
and after B is also replicated later, like this:
A = 2, B = 2

Or will they always be replicated at the same time?
I.e. the state on the client would be:
A = 2, B = 2

Thanks in advance!