So basically I created a touch function to detects who touched and then fireclient event to their client and then create a customAppearanceDummy and what I tried is to create them via remote event because when I use ApplyDescription the custom player appearance will be buggy like invalid hat positions, etc.
local humdesc = game.Players:GetHumanoidDescriptionFromUserId(game.Players.LocalPlayer.UserId)
local Char = game.Players:CreateHumanoidModelFromUserId(game.Players.LocalPlayer.UserId)
Char.PrimaryPart.Anchored = true
Char.Parent = game.Workspace
Char:SetPrimaryPartCFrame(game.Players.LocalPlayer.Character.PrimaryPart.CFrame + Vector3.new(0,5,0))
game.Workspace:WaitForChild(game.Players.LocalPlayer.Name)
local hum = game.Players.LocalPlayer.Character:WaitForChild("Humanoid")
hum:ApplyDescription(humdesc)
I used this in a local script and the ApplyDescription didnt work, but It creates a new character
so maybe you could try using the remote to call
local Char = game.Players:CreateHumanoidModelFromUserId(game.Players.LocalPlayer.UserId)
and create the character because I assume you just need a new character not to apply onto the player
You could just apply all of the dummy’s properties to the character. For example:
game.Players.LocalPlayer.Character.Head.Color = Color3.new(0,50,0) - change their head color.
game.Players.LocalPlayer.Character.Shirt.ShirtTemplate = 0000 - shirt id to change here.
And you could change the properties of a character like this.
Hope you found this helpful
Edit: To change it, you need a server script. So just fire the player’s name to the server via a remote event and have the server change just that player’s properties.