Concept — Control Multiple Playable Characters Other Than Your Own Avatar

I’ve recently been hit with this pretty cool idea to add to a game (at least in my own opinion): you have the choice to switch between multiple characters and control them independently, as if they were your own avatar. You can move them exactly how you move your own avatar, compatible with keyboard, touchscreen, and console inputs.

I’ve seen this mechanic successfully implemented into Clone Tycoon 2; you press a button in your tycoon that lets you completely control one of your clones and move them around as if they were your own avatar (technically speaking, they are, but the clone you’re controlling was actually an NPC). I’ve also gotten inspiration for this game mechanic from Genshin Impact, a game pretty well-known for its character-switching mechanic.

I’ve been trying to figure out how to create a feature like this inside of Roblox, but so far, I’ve gotten no dice. I’ve made a system where you have a party of characters that follows your around, and I intend to further develop the system by letting you switch to any one of your other members’ perspectives and control them, but it’s proving to be harder than I thought. Roblox wasn’t really built for this kind of advanced gameplay since you have your own avatar that you can control, but I still want to have a go at this concept.

If anyone can share any tips/tricks/ideas on how to do this, I’m open to all of them!

8 Likes

Literally setting LocalPlayer.Character does this, just ensure all client scripts per character are in-tact…

4 Likes

Im afraid its not that simple
Char char char char

2 Likes

Elaborate. It is quite simple.

2 Likes

Have you ever done it? Cz i have

2 Likes

I said to elaborate, perhaps you did it inefficiently. Your vagueness does not contribute to the topic.

2 Likes

And im asking a question you’re literally spreading misinformation

1 Like

It’s not misinformation. The Player.Character value can be used to swap between humanoid rigs in workspace or no rig at all, and from my experience, it works very seamlessly on top of a bit of tweaking.

1 Like

That’s what i meant… Its not as easy as setting the character to something else and this would cause bugs because you would need to delete the character that spwans in and set new character. Also, animations and scripts and movement will break

1 Like

??? I literally said this.
.,;'][\

1 Like

Imagine working on a game and putting scripts in player scripts just to realize you need to clone them into a different rig.

And oh right… These scripts will break 100℅ because they can’t access local values if you did do that

1 Like

Roblox’s default player scripts handle things like this just fine… Realistically the only one you’d need to worry about is the Animator.

I have tried this approach before, but I didn’t feel like it was the correct solution. Maybe I didn’t elaborate this well enough in my post, but I want the characters that I switch to already be in the Workspace, not stored elsewhere like in ReplicatedStorage or ServerStorage.

I have to acknowledge that this is a very easy solution, so I might implement this idea into the party system, although I’d have to find workarounds for scripts and whatnot.

you dont need them to be stored away?

That’s fair to say, but the thing about setting the Player.Character property to another model is that the model being swapped out will be destroyed. That becomes a problem when the player wants to switch back to that old model — they can’t because the model is physically gone from the game. I’ve seen your replies on this post with the other person you’ve talked to, and I have considered the issues that come with this feature that were mentioned.

In any case, I’ve experimented with forking the PlayerModule to fit the needs of the system; I somehow got the system to work, but I’ll need further testing for this. In case you’re willing to help out, I’ll be able to provide the place file for you to download and test once I’ve built solid foundations of the system.

1 Like

It doesn’t get destroyed? You could clone it anyway.

I’m not quite sure you’re understanding what I’m saying, but I think I’ve already found solution to this problem based on some tweaking. If you’d like to see how, I can provide you with a place file through DMs as this post already has been solved; you can provide further feedback if you wish to.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.