How to Control different Characters at the same time?

hello developers, I’ve a really frustrating issue about Player Controllers in my prototype, and I feel I got it all wrong from the beginning.

I’ve created 3 playable characters (by character I mean a regular ThirdPersonCharacter with inherited Camera, CharacterMovement, Mesh, CapsuleComponent… and all that) named as follows (just for referencing later to you):

  1. BatmanCharacter: which is the main character whom the game is supposed to start with.
  2. TrevorCharacter: which is another character with a unique blueprint and also unique animation blueprint.
  3. AICharacter: also another character with a unique blueprint and unique animation blueprint.

each one of them is scripted in his own blueprint class to do his own unique behavior in the scene, for example: BatmanCharacter has input mappings -in his BP- to run, punch and jump…etc; and TrevorCharacter also has his own keybindings -in his BP- to punch and also to follow Batman, the AICharacter is also behaving the same as Trevor but in his own BP.

After I made all of this, I assumed that there must be a possession. so I’ve opened up my GameLevel Blueprint and I’ve made this:


as you can see, I’ve made BatmanCharacter to be possessed when the level is played or on BeginPlay, also I’ve made 3 key events to possess between the 3 Characters whenever I press these key events as shown above.

Now I have a really confusing problem regarding keybinding respond… the scene begins, and Batman is possessed and I can control him… he’s behaving exactly as I expected, also the Other 2 Characters are behaving as expected. BUT WHEN I SWITCH TO POSSESS ANOTHER CHARACTER Batman’s keybindings aren’t responding, and only respond when I possess him again, the same can be said for the other two.

What I wanted to do is to at least be able to control Batman when I possess Trevor, and Vice Versa. How To?

–Thanks for your patience, and apologies if I have described too much.