I have created a system for player-character customization, and I am trying to place the character inside of a room by themselves during the character customization menu.
What I tried at first was Model:SetPrimaryPartCFrame in a LOCAL script in hopes that it would only locally teleport a player to the customization room for their client only. However, both Model:SetPrimaryPartCFrame and Model:MoveTo, even in completely client side local scripts, teleport the character server-wide as well, which makes it so everyone who’s trying to customize in the room can see each other and not just themselves.
Is there any way to locally teleport a character’s player?
Clone it and place it in the clients camera with a local script. set the camera subject to the cloned version’s humanoidrootpart or head. (Leaving the server sided character behind.) Use whatever editing scripts you made to control the looks of the server sided char in the room. You’ll need remote events to edit the server sided character at the same time as the client-sided one that is being changed. You can use a remote event and pass an object value like a hat or hair that is in storage somewhere. Then make listening server script clone the object and place it in the char (Also delete the existing hat).
Note: Sorry I typed this with 1 hand I was eating a popsicle.
Thanks, this is helpful! So, if the cloned character is cloned with a local script, it will only clone client-side, correct? Also, I assume the reason teleporting locally for player characters doesn’t work because roblox wants to prevent having 1 character in two different areas.
Not exactly, this is because of Network Ownership. By default, the player controls their own character so that movement is more responsive for them (having to wait for the server every time someone wants to move would be slow).