Hi,
Your first example looks correct to me, but I’m not sure if that check() from the Assertions tool is suitable for checking pointers for gameplay purposes?
If you check your pointer with if(state != nullptr) before using it, is ‘state’ valid after the cast?
Do you have your custom PlayerState set to be used in the GameMode?