Swapping Default Pawn based on a variable

At a glance, just in case you missed it…

When you spawn a new pawn that you want to use as your player character you need to “Possess” it with your controller.

In the past, when doing this almost exact thing I have not set a default player pawn but instead on game begin spawn the pawn class you want and then using the possess function to assign it to your controller has worked fine for me.

If the problem persists beyond that show us a little bit of your script and we might be able get a better understanding of what is happening.