So let’s use the character model as an example. If I insert a BodyGyro into the character model, then attempt to modify the Gyro’s properties client-sided, will those changes replicate server-sided automatically, because the player has network ownership of their character?
I sort of think no, but I just wanna confirm that. Thanks!
No, changes to the BodyGyro’s properties will not automatically replicate server-sided.
I tested this by inserting a BodyGyro via the server when the player joins and then a LocalScript will edit the properties of the BodyGyro (locally of course) and it did not replicate to the server.
I do have a question. So, I might make an attempt at a top-down shooter type of game, and I haven’t totally decided if I want to support multiplayer for it, but if I do go that route, here’s basically the main concept of moving the character around:
The Gyro is used to rotate the character on the one axis to point at the mouse’ position. I can do this locally for the best results, but as far as replicating this change to other clients, do you think it’s a good idea to, every couple of frames, call a remote event to the server with the CFrame set to the gyro, and when the server receives that call, it’ll then call a client remote to every client in the game and it’ll change that gyro on all of their clients, so the original client’s gyro remains unchanged?
It sounds like a good idea to me, but I’m not sure if it’s totally optimal. I’m also not sure if what I said here makes sense
You can possibly take a different route to achieve this. But for the most part that would probably work.
If you’re curious to a more “professional” route taken to achieve this I would recommend checking out Ruddev’s Battle Royale which was open sourced, they seem to have a system just like that implemented in the game where the player’s rotations are replicated.
The properties won’t replicate but the effect of modifying the properties should, as they count as physics manipulation. This is the same thing as modifying WalkSpeed from the client: the change to the property won’t replicate but the player still moves faster.
See my reply for information. The only thing that’s replicating in that scenario is the physics behind it. When the client has network ownership of BaseParts, they are authoritative of replicating physics. Property changes don’t replicate.