How to force a value to replicate?

I am trying to make a float value replicate from a client. This value holds an angle in degrees, so I have little issue if it is exploited or not.

I was wondering if there is an automatic way to force this change or if I am restricted to just sending a million remotes from client to server and server to other clients to have them be able to use this value.

You can give them NetworkOwnership of the value, however once you do you end up being vulnerable to exploiters as they can put whatever numbers they want into it but that shouldn’t be too big of a deal if it’s for something like this.

Speaking of which, what does NetworkOwnership actually affect? I am having some trouble updating some objects despite network ownership being on these. Would be easier than using the value…

Network Ownership basically just gives the client control of a certain object and as such handles it themselves. Normally, this object would be something the player controls, for example their character or a car.

For a little reference as to what I am trying to do, watch this video.

My problem here is essencially, despite me setting the target ownership to that of the client,

local Target = ServerStorage:WaitForChild("Target"):Clone()
Target.Parent = workspace
Target:SetNetworkOwner(plr)

it is not replicating. The character rotation is done through using welds.

For some reason, neither are replicating. Do I have any hopes of fixing that or should I just go for the value?

Edit: Just did a little bit more testing, discovered the Target is changing its position but because the transparency is inicially set to 1, it was not visible. The remainder properties are not replicating though.

Also, I just checked and apparently this can only be changed for BaseParts?

Network ownership only causes BasePart physics to be handled by the target player’s client, so it isn’t really a solution.

So is my only option really just spamming the crap out of remotes?

Well, what are you attempting to replicate visual-wise? Does it always require the server to know?

Not exactly? I believe it might be eventually important down the line to get a position to launch projectiles from the character given a rotation.

For now, I am trying to replicate the rotation of welds, to change where the character is looking, as well as the transparency (and the optional rotation / size) of a target object.

Well, if you want to replicate all of that, the best option is to continuously send the rotation/position data to the server via a remote event every 1/4 or 1/5 seconds. This may not look smooth on the server, but it can be smooth on the client through RenderStepped. This can also be made more efficient if a signal is only sent when a value changes.

I guess this will have to be it. Thank you very much for the availability!