On post login and chooseplayerstart

In post login in game mode I cast to playerstate a enumeration change that is used in choose playerstart.

It’s always returning the default of the playerstart. As if the Enum was not changed.

The choose player start casts to player controller to get playerstate and get its enumerator value which should have been set on post login to something other then default and return a playerstart for it.

But in start it’s like it is not set in time before choose playerstart is called.

I set some breakpoints and it looks like PostLogin gets called after ChoosePlayerStart.

This is most likely too late, but I came across this post because I had the same question and I hope this can help someone else.

I’ve found a workaround that is pretty basic but should work

Override choose playerstart

Get length of playerstart ls array, if is 0 create it.
Both paths lead to get 0 from array to return as the start location which it then removed from the array.

You can use initgame to take players starts rather than post login, because post login invokes always after each login, not good place to get player starts.
One more thing, there is always differs in call order when you play just clients or dedicated server.