Replacing players avatar without StarterPlayer?

I’m trying to replace the players avatar with my own custom rig, But the only way that I’ve been able to do it by putting it in StarterPlayer. I want to make it selectable in a menu and then replace the player’s avatar with a rig. I can’t put it in StarterPlayer because it will automatically replace everyone’s avatar. I’ve also tried replacing all the parts in the avatar with the parts in the rig and then adding in the rest of the parts from the rig, But the custom rig just lies face down on the ground. Is there anything else I could try?

What do you mean when you say that the custom rig “just lies face down”? Is it not welded to the humanoid root part or something like that?

I replace the humanoidrootpart as well, Since everything is custom.

1 Like

Do you think your custom rig is stuck in a PlatformStand, or does it not move properly? Could you show a gif or picture of what is happening, if possible?

1 Like

It’s not freefalling, It just isn’t able to get up for some reason. I can’t figure out what’s going on.

It looks like its using :WaitForChild to wait for a sound inside the rig, but it never appeared. Maybe you should investigate why that is so.

That wasn’t helpful at all, sorry!

I know what the issue with that and I know how to fix it, It’s not related to my issue though. I know an alternative I can use instead of replacing the rig for my game, But if anyone can help me out with this I’d rather be able to do this (And so if anyone else is having the same issue they can figure it out too).

1 Like

Is the humanoid root part visible in your picture? It might help diagnose the problem even more…

Also, your rig looks a lot like an R15 rig, right? Maybe you could just use the HumanoidDescription system to apply custom descriptions to player’s characters.

Perhaps you may want to have a look at the Avatar Loading Event Ordering Improvements thread and use that as a template for replacing your character, minus a few of the beginning steps.

  • CFrame the character to a specified location
  • Set the player’s character as this model
  • Parent the character to the Workspace
  • (Set the NetworkOwner of descendant BaseParts to the client)
1 Like

You can disable Players.CharacterAutoLoads and set Player.Character via remote initiated from the client’s menu with a fully assembled character (including humanoid and scripts). This will fire CharacterAdded iirc. You shouldn’t see anything unexpected happen if your character is properly assembled.


Thank you so much, This fixed my issue. Everything works perfectly now!