How do I load a custom character onto the player on join?

|NOTE:| This is a place that usually can hold up to 2 Players, and they can’t be the same model. |

So, I have 2 characters, and I’m setting this system up where depending on what a player joins with (a memory store thing), it will set them to their according character, so I don’t think StarterCharacter would work.

How would I go about setting the character to the custom one?

| Characters in the screenshot are named Serene and Divinus | They are normally located in game.ServerStorage.Characters |

Screenshot 2025-03-15 094223

1 Like

I’m not sure that this will work but you can try making a script that will determine the character needed for the player and then put it in starter player named StarterCharacter and respawn the player

If the case were solo it would work, but it’s a duo subplace, meaning someone is meant to be the other character IF they join, doing this would instead make 2 people the same person, thanks anyways though.

u can use https://create.roblox.com/docs/reference/engine/classes/UserInputService#KeyboardEnabled
to detect if they are on mobile and i found this which you can use to morph theough a remote event
Free character Morph Script - #9 by Meat_Make
(ngl this morph script is pretty bad but you seem like a beginner might be something to learn from)

I don’t understand what is the problem, can you provide more context of what you are trying to achieve?

So on join lets say the player has Character: Divinus in their memorystore, then they should be set to join and load the model of Divinus (the yellow one) onto their character, replacing their current model with the one selected.

If there were to be a second player it would do the same, just with the other character (Serene)

2 players cannot have the same model load onto their character, but they’re loaded on join

Im already going to have it setup where the player cant choose the one the other already chose so theres no need to worry about that part.

This character value is defined by a StringValue Attribute

so to simplify this, when someone selects their character and leaves, that chaarcter is saved on a data store and when they join back they are that character that got saved EXCEPT when there is one of the same characters in the same server

not exactly… The place is actually the subplace of another game, the memory is stored whenever the player teleports to the place, and when they arrive its received through another script, then depending on what it is (Divinus or Serene) their character model becomes the following model.

Then you should just check the attribute of the other player and based on that determine which character should the first player become

You can’t join back on it because it’s an area ingame made where you can’t do that

Yeah, the only issue being loading the model onto the character in general…

I still can’t understand what you want to achieve

Load the first player with their desired character by cloning it for storage into the workspace and setting it as player.Character then store a value saying that the character belongs to that player, when the second player joins check if their desired character is already taken and if so clone to workspace the other character and set the player’s character property to the clone

Make the character become the model they have selected, Previously defined by what they had before they teleported to the place

If they had Divinus then they should load the yellow one
But im trying to figure out how to do it.

this is so confusing man what is a subplace

its what i call the places you can make off an original experience

Oh then it’s simple just put ur characters in the replicated storage then when you need the character just clone him, then put this clone in StarterPlayer, name him StarterCharacter and kill the player

Like i said before, this place can hold up to 2 players, and putting it in StarterCharacter will just cause the second player to become the first player’s model as well…

Ooh so that’s what the problem is