How do you display your character on a dummy locally?

Hello, I’ve been trying to figure out how to display your own character on a dummy for a menu screen in my game. Though I figured out how to do this, but its server-sided so once someone else joins the game, the dummy then changes to their character. What I’m trying to achieve as the title suggests, everyone sees their own character on the dummy.

Here is the server script that I made:

local players = game:GetService("Players")
local rig = workspace:WaitForChild("YourCharacterDummy")
local humanoid = rig:WaitForChild("Humanoid")

players.PlayerAdded:Connect(function(player)
	local desc = players:GetHumanoidDescriptionFromUserId(player.UserId)
	humanoid:ApplyDescription(desc)
end)

This script is located in ServerScriptService.


This image is what I would like for it to look like but locally. (The dummy on the right)

Thanks for your help.

Just do this, but on the client, in a local script, and without listening to players.PlayerAdded?

1 Like

Where would I put the local script? In starter player scripts?

Wherever you want; it just needs to run. (So only replicatedfirst, startergui, starterplayerscripts and player’s character)

I tried this local script in StarterPlayerScripts, but it didn’t work.

local players = game:GetService("Players")
local rig = workspace:WaitForChild("YourCharacterDummy")
local humanoid = rig:WaitForChild("Humanoid")

local player = players.LocalPlayer
local desc = players:GetHumanoidDescriptionFromUserId(player.UserId)
humanoid:ApplyDescription(desc)

Instead it gave me an error saying:
Humanoid::ApplyDescription() can only be called by the backend server.

you could try using a remote event

I don’t think that will solve the problem as It is still changing how the dummy looks on the server.
For example: When I join, it will change to my character but when someone else joins, it gets rid of my character and changes to theirs.

oh i didnt think of that uhhhhhh

Really weird you cant apply humanoid desc locally, I guess a workaround could be to do it all serversided and use a remote event to tell the other clients to delete the dummies for the other players

OOR, you could wait for the player’s character to be loaded and then make sure its cloneable. clone it, remove the scripts and anything unnecessary from it and position the cloned version of the character correctly all on the client

2 Likes

I don’t think this would work. There is only one dummy and changing it on the server means everyone in the game sees how the dummy deletes and changes.

Thanks, I cloned the dummy from Replicated Storage and placed it into Workspace using the local script in Starter Players Scripts. Still confused why it wouldn’t work in Workspace straight away.