Need help with array and hiding system

Hi there,this is my first time using unreal to create a game for school project.
So I am trying to make a hiding system. I made a hiding pawn(the hiding object) which my player can possess and move around the camera around it.The problem is I can only do this by referencing that one pawn object in level BP,so if i want multiple hide place,I would need to duplicate bunch of stuff in level BP,I am thinking maybe array is the way to manage multiple same pawn in one level?

This is the way I can think of doing it,if theres a better way to do a hide and move camera around hiding object system,do tell
The flow goes like this
1.Player overlap withe the pawn trigger box
2.If overlap is true,the button input will destroy main character and possess the pawn(which also switch camera to pawn)
3.Press the same button again and it will spawn main character again at the same spot where you overlap and possess that

I was under the impression that pawn BP works individually? and tried doing the same thing in the hidepawn blueprint but the bp cant seem to possess itself(tried creating reference to self but doesnt work.I am really hitting a wall here and would like some help.

I would approach this a bit different:

  1. Player Character overlaps a hidingPlacePawn
  2. Player presses key to hide.
  3. Player Character is hidden (not destroyed) and playerController possesses the HidingPlacePawn from the overlapBegin reference.
  4. When hiding is complete, player presses unhide button.
  5. PlayerController possesses original PlayerCharacter and shows it. (More on referencing original pawn below)

This way any states/data can be kept on the original character without the need to revalidate too much. I would store a reference to the original PlayerCharacter in the PlayerController at BeginPlay so you can reuse that from anywhere. Make some helper functions on the PlayerController like RepossessOriginalCharacter, etc to make it easier.

Also when hiding the PlayerCharacter you may want to disable collision.

This method completely ignores the LevelBlueprint which is good. You don’t want repeatable logic in the level blueprint if you can help it (Try not to put much of anything in a level blueprint unless it has very specific map purposes). All overlap checks can exist in the PlayerCharacter as well as handling the hide key. The unhide key can be handled in the hiding place pawns which will tell the playerController to possess the original PlayerCharacter.

Thanks for the advice and help! Your way seems much more simple and easier to manage,will try it your way,thanks again.

Edit:Wow,it works ,turns out it was only a bunch of referencing problem and setting it with overlap begin,thanks a bunch,your my hero!