How do you call a level function from your PlayerController given that it's dynamcially instantiated?

I try to put calls from the PlayerController to either the GameState or GameInstance depending on whether it’s something that effects only the level or the whole game.

Some things are obviously appropriate to be called on the Level. For that you need to use the EvenDispatcher.