Possess Node - How to re-possess the original character?

Hi guys,

I was hoping someone could point me in the right direction or show me an example of where I could possibly achieve this effect.

Essentially I have the 1st person blueprint character and I walk up to a trigger box surrounding a blueprint for a 3rd person character. At this point the player possess the 3rd person character and can run around as them.

I placed a trigger box within my level whereby when the player overlaps it (as the 3rd person character) I want it to unpossess the 3rd person character and return to the original character.

Is this possible?

At the minute the only way I can think of it working is to set a 2nd instance of my first person character hidden and not visible in the level and when the ‘unpossess’ event happens, it possess the 2nd instance instead, setting it to visible and un-hidden in game.


Before you possess the 2nd Pawn, save your first Pawn to a Pawn variable in PlayerController Blueprint or 2nd Pawn blueprint, then when you want to switch back just call the Posses function with your saved 1st Pawn.

That makes sense sort of. For some reason I cannot edit the PlayerController BP, all I have access to is my character and the level blueprint.

This is what I have so far in the level BP, it allows me to possess the 3rd person character but when I make contact with the trigger box it destroys my actor but doesn’t re-possess my original character

If you don’t have a custom player controller class, you can create a new blueprint class as the player controller. And then go to Edit >> Project Settings >> Maps & Modes >> Game Mode and set this new player controller as the default player controller. Then you can make the possess character changes from this player controller class that you made.

Does the default PlayerControllerBP have anything important in order for the character to function that I need to carry over? Or is it just originally blank to begin with?

As for the node and possession changes, I essentially make those changes in the controller rather than the level blueprint?

When you make a custom one, it’s basically just an extension of the default one. Both basically have the same capabilities. The advantage of using a custom one is that you can add your own functionalities into it just like how you have custom functionalities in you character which is a child of the character blueprint.

Also it’s best to limit the code and variables used in your level blueprint as they cannot be accessed or changed from other blueprints using normal approaches.

Ah ok! So for setting this possess system up, be it similar to how I have done it in the blueprint image above or it involve more steps?

Can I reference other actors and objects such as the TriggerBoxes within them?

Cheers for your help so far