Just use your widget
The node possess need a pawn and a player controller
Get a reference to the pawn using , get all actor of class, or triggerboxes, or pass it to the widdget and set the player you want to possess it
Level bluprint is not made for “communicate” easy.
Is planned to be used with level behaviour , or stuff like that.
Yes, the most important thing is to get a good understanding of references. Getting them can be tricky at times, but what I like to do as soon as I spawn anything(actors, widget and so on) is to store it as a referennce variable inside of the blueprint that spawns it. That way you can reach out from another BP to get that reference. And also - use “Is valid”-checks alot to see if the reference is solid otherwise you will get warnings and weird behavior.
If you are gonna be switching characters alot while having the pawns in the level, consider making a character switching bp that you can drop in the level that stores references to the different pawns. If you make the references instance editable then you can use the eye-dropper tool to select them.
If you give more information on what you have in mind we can help you further
I think you just need to pin out the Array of the node “get all actor of class” and use the node “Get” to get the reference to just 1 and plug it in the “Possess” node. at the inPawn.
If you have like 10 pawn in game, the get all actor of class will give you a list of 10.
Using Get 0, will give you always the first found , if you want to possess specific pawn you have to choose how.
For randomize you can pin out the array and select “lenght” this will give you the number of pawn in the list,
add a “Random integer from range” and plug the lenght result in to the max.
Now everytime you hit posses, he will cast a randdom number and try to possess that pawn in the list
Get actor of class will release you a list of actor (see the icon of the 8 squared dots in blue?)
you have to pick up one from the list, and use it , to posssess it.