What are all the methods of changing the players character IN-GAME?

So I want to be able to switch between different player models of the players in the game while in-game meaning not using startercharacter. I know a few methods right now such as using a humanoid description and applying it to a humanoid or using plr.Character = “newcharacter”. However these solutions don’t really fit what i’m trying to achieve.

The best solution I’ve got so far is destroying everything in the plr’s character then parenting the new characters children to the plr’s character which works alright but theres a slight stutter during this action. You may be able to see the slight stutter in these videos.


In this video it’s more clear that when ever I swap the player character I get teleported back a little.

I looked for solutions, but again these solutions aren’t fluid or like requires the character to re:Load
Some help would be greatly appreciated!

3 Likes

You can add a Model object underneath the StarterPlayer service like in this picture:

image

Whenever you run Player:LoadCharacter() the character will respawn with that model as their character.

Hope this helps,
-Tom :slight_smile:

2 Likes

Put the character model in starter player. To Change the model in game put another in replicated storage and in a script do what ever then delete the player model replace with new one and respawn the player

2 Likes

Thanks, but I said I want to try to avoid using Player:LoadCharacter() as it respawns the character and I don’t want it do. Check the videos.

Would I have to respawn the character?

I also tried the destroying the players childrens and realized that you can’t jump also. I’m still trying to figure out a solution to this.

Can you share the original code you used to do what is in the video? I’ve been trying to switch characters like that and respawning isn’t an issue and whatever you did looks like it could really help. Thanks :slight_smile:

I want to bump this as I’ve tried doing RThro morphs for the first time today, and it’s a struggle.

I did manage to do it by disabling RequiresNeck on the Humanoid, then replacing every Part inside Character, reconnecting all Motor6Ds and enabling RequiresNeck again.

However, for some reason this made the Character get stuck in the ground, unable to jump out, and if I dragged it up or just moved it up by 3 studs in the code, when it hits the ground it just falls flat, all animations stop, and it can’t run/jump. The Humanoid detects movement but nothing is actually moving.

1 Like

I’m also having the same issue here, I had to go through 5 years old threads to most recent ones to find a solution, and I still haven’t.

Currently my unique character models have a non-official mesh each for their hairstyles, and what I have to do everytime is replicate the selection screen’s hair position to the player’s actual spawned character, this is very annoying. If there was a way to replicate the character model from the selection screen without having to set a whole bunch of folders with parts/clothing to weld everytime a player spawns in game, it would be greatly appreciated.

They are all R15.

And no, player.Character doesn’t help.

After a few hours, I made an R15 morph that is pretty primitive but works and doesn’t have the same lag that the one Denzel was using. I haven’t really figured out how to do hats yet, but the gun accessory does work.
The character model has to be named “Dummy” and parented under the “Morph” model.

Feel free to use this morph and change it to make it work better :grinning:
morph
robloxapp-20210406-1117292.wmv (1.8 MB)

1 Like