Actor vs Variable replication

What does actor replication means? After all everything in an actor is logically one or another variable, so what happens when you mark an actor as replicating.

On the other hand variable replication means you just replicate the value of variable across the network (I suppose?) .

So when I mark an actor as replicating does it begin to replicate all the variables in it? or maybe its location and rotation? if that’s the case whats the difference?

Replicating an Actor will make a copy of that Actor on all Clients but the only stuff replicated on it is that which is marked for replication. So in any of your derived classes, this may be nothing. However, the base class and many Actor classes all have variables that are replicated. The Actor, for instance, has a variable called Owner that is replicated and another called Instigator. If you set bReplicateMovement to true, it will also replicate things like location, rotation, velocity, and if it has a component simulating physics, it will replicate AngularVelocity as well.

So basically, setting an Actor as replicated will only replicate things marked as replicated, which there are several things in the Actor.h you can see have been set to replicate.

Ah so I actually select the variables to replicate by marking them and they only replicate when the actor is replicating? Sort of like fine tuning by selecting which variables will actually be replicated when actor is replicated??

Yeah, that’s correct. The non-replicated variables will exist on the Actor for every client, they just aren’t going to be synchronized over the network.

Danke! that was bugging me since forever , I gib you zee Tick!