How to disable movement for Listen Server Controller prior to possessing pawn?

What I’d like to do is have the listen server and all clients be sitting in the map and unable to move (but still able to use functionality I set up in the PlayerController, like opening the menu, looking at the scoreboard, etc) until the match starts and the GameMode spawns pawns for them. However, when I start the game, while the clients are not able to move as expected, the server can still fly around.

I set up a couple logs so you can see where things are in the process when I start playing:

“PC Begin Play” is from the player controller BeginPlay(), “Handled Waiting to Start” is from the GameState and “GameMode StartPlay” is from the GameMode.

I feel like this should be easy, but what I’ve tried so far hasn’t worked. I have tried disabling input entirely in the PlayerController BeginPlay() as well as using the PlayerController iterator in the GameState, but the server is still able to fly around, collision and all. Any ideas of what I should be doing differently and/or what exactly it is I’m flying around in the editor?

Alright, I found a solution that seems to be working. The SetupInputComponent super in my PlayerController is what is letting the server move around, so I set InputComponent->bBlockInput=true for each PlayerController in the GameState and then set it back to false in the BeginPlay() for the Pawn.