Networking: why RepNotify Attributes when you can replicate movement and skills ID only?

Able doesn’t touch character movement (beyond talking to it occasionally), that would be a whole other plugin and a half. However, CharacterMovement works for Fortnite (which has to deal with mobile and all sorts of fun connections) so I wouldn’t touch it unless you have to. In general, I would only start to optimize bandwidth towards the end of a project when you have a more accurate picture and where hot spots are.

To touch on TheJamsh’s point, if you just bet that the client will get every skill or whatever to calculate the stats, then you’re taking a dangerous gamble. Take this trivial example:

Player A is on one side of the world. Player B is on the other. Due to the distance, it’s likely that Player B will be out of Player A’s net relevancy. So, it’ll receive no updates about that Actor. Player B buffs up his stats (Str+, Lck+, etc), then goes to join Player A. Player A will see a normal Player B, no buffs, no nothing - because he never saw those updates and you aren’t replicating those stats when he joins Player A.

Another example:
Player B, decides to buff himself and Player A, and is spamming his buff skills (first strength, than luck, then health or whatever on each player). In your view (and maybe Player A’s) - all those buffs go off without a hitch. However, on the server, it rejects the Health buff on Player A because it says the skill was still on cooldown. You both go into a Dungeon and Player A dies instantly at half HP (because the server doesn’t think he has that buff). He respawns thinking “That was weird”, and it happens over and over - all the time because the SERVER who is authoritative had a different picture.

So from a security, network, and gameplay viewpoint - you have to replicate those values. There’s no other way if we’re not talking about a 100% deterministic local simulation that is separate from the network entirely (Cloth for example).