I somehow missed the word override from your first post, and that caused a bit more confusion when I read your second post.
I have two questions about this:
- Isn’t PlayerState created with each level, so how can you carry it over from level to level? Inside a CustomGameInstance variable?
- When and where do you set the value to PlayerState (character as in my example/Female as in yours) so that it takes affect before the override of GetDefaultPawnClassForController call? I did a simple test with printing a string of local time, and on client side, the PlayerState is created after on server side the override of GetDefaultPawnClassForController is being called.