EDIT Ok I think I may have figured it out but I'm still testing it. my new code is this:
player.CharacterAppearanceId = player.UserId
player:LoadCharacter()
the character must be loaded afterwards but I'm still testing to see if it will fully work. so far, so good
So basically in the game I'm making, a player's model is changed depending on which type of character they have equipped. I want to morph them into the character they chose but when looking online for an R15 morph script I was unable to find one that worked. When they are teleported into the playing area I was able to override their appearance with this code:
This code removes all accessories and then changes the appearance and skin color with a function I made. It isn't the problem, but this is something I want to avoid because if this is the only way then I'll have to save each players' accessories and load them which will be very annoying
---remove all accessories
local pants = player.Character:FindFirstChild("Pants")
if pants then
pants:remove()
end
local shirt = player.Character:FindFirstChild("Shirt")
if shirt then
shirt:remove()
end
local tshirt = player.Character:FindFirstChild("Shirt Graphic")
if tshirt then
tshirt:remove()
end
local everythingElse = player.Character:GetChildren()
for i = 1, #everythingElse do
if everythingElse[i].ClassName == "Accessory" then
everythingElse[i]:remove()
end
end
changeSkinColor()
This works however, when they are teleported back into the lobby, I can't quite get their appearance to change back to what it normally was with this code:
--reset appearance
for i, player in ipairs(game.Players:GetChildren()) do
player.CharacterAppearanceId = player.UserId
print("reset")
end
Basically I'm just asking if there is a way to reset the user's character to their original model without having to reset them. Kind of like a way to morph them into a certain character that you have saved. If anyone has an idea please let me know, thanks.

7 comments
I am working on getting solution.
I know practically nothing but just a random hunch: there is a small chance that somehow changing the character value in player to a different character could possibly change you to that character. As I said, I have really no idea.
Is this what you're looking for? http://wiki.roblox.com/index.php?title=API:Class/Players/GetCharacterAppearanceAsync
@TheeDeathCaster I think it only works for models because it says it is not a member of player
Try to figure it out yourself and if you really struggle too long then use my code.
To use that method check this link https://wiki.roblox.com/index.php?title=API:Class/Player/LoadCharacterAppearance
Combine that with TheeDeathCaster link