Getting the ErrorString on the client, specified in PreLogin on the GameMode


at the moment I’m trying to set up some custom rules for my players to join a listen server, which I got working by overriding PreLogin in the GameMode and setting the error string to the reason why a certain player can’t join. This works fine so far but the player who is rejected is just getting thrown back to the main menu, which isn’t very nice, therefore I’d like to display the ErrorString to the client and a button to go back to the main menu.
I already tried to override

virtual void ClientWasKicked_Implementation(const FText& KickReason) override;
virtual void ClientCancelPendingMapChange_Implementation() override;
virtual void ClientReturnToMainMenu() override;
virtual void ClientReturnToMainMenu_Implementation(const FString& ReturnReason) override;

in my PlayerControllers (the PC of the map I’m travelling from and the one I’m travelling to) but none of the methods in both of the PCs seems to get called at all.

I thought this might be, as for that early stage of Login there is still a DummyPC, therefore I changed from PreLogin to Login but that didn’t work either.
I’m pretty clueless right now, I hope somebody of you know how to do that.

Thanks in advance,

I now have a workaround, although I think that it is not very pretty:
Instead of PreLogin or Login I use PostLogin and simply kick the player. In my PlayerController I can then override ClientWasKicked_Implementation and get the reason there, but if anybody has a different solution for this I’d appreciate to check that out.