Character Model Physical Interaction

So I’m struggling to decide how to make my character interact with objects.

Let’s say sitting on a sofa for example. I want my character to sit on the sofa when I press “F”.

Should I make it so the character sits down first on the client, fires to the server then to all the other clients telling them to make your character sit down. If I do this, where do I place the sitting player’s character on the server?

Or should I make it call to the server and make the character sit on the server?

The best way to do it would just be to use a seat. Make a call to the server and use the :Sit function of a seat to force seat the character.

This isn’t what I asked.

Doesn’t have to be the character just sitting.

Well, since you are moving the character, my understanding is that it will automatically replicate to the server so doing it on the client is fine. However, if you’re trying to move other objects, you will have to first set the network owner of the part to the client.

Not just for sitting. Just interacting with objects that require some physical restraint to your character.