The optimal way to store local player variables

What would be the most optimal way to store local player variables. Such that the server has the information and the local player can see it client side but not other players.

The only two methods that come to mind are Player classes Network Variables and sending them via net library, I’m unsure which is more optimal or if there is a better method.

What kind of data do you want to store, if do you need shared data, use SetNW*, if do you need server data, just ply.variable, and if you want to store client data use net messages