Trying to possess a new character when I load a new level in unreal

You can set the default pawn class to the character of your choosing in the Game Mode override settings in the world settings panel on the right of the editor in the map/level you’re in. You must make a custom game mode class and select it in the game mode override before you can set that default pawn class though.

If you have a player start in the level and the default pawn class selected to your desired character it will spawn in with that character if you have it set to receive input like the post above.

Whether or not you can control it is dependent on if you have any controller functionality in the character blueprint or player controller if you are using pawn class.

The EventBeginPlay in the level blueprint will fire only once each time a level opens. Regardless of whatever is else is going on it will fire unless you delete that node all together. Only on a level change this will fire.

Disabling input is tricky to re-enable. An easy workaround could be do a branch right after your input events with a boolean variable that can stop you from pushing input beyond that branch. The only bad part is that you’d have to do that with EVERY input that you want to prohibit while your branch is false. That’s just part of it I think. If you’re gonna have a game with a lot of features it’s going to have to have branches in a lot of places.