Hi Lawrie,
I cannot seem to find any error in the code you posted. However, could you please post the constructors of your Pawn and PawnMovementComponent as well? If your pawn is inheriting from ACharacter class then you don’t really need to build a new movement component. You can simply access it and change its values anywhere in your character class.
One more thing, are you getting any warning in the editor when you play the game? Your pawn mobility might have been accidentally set to static or stationary which will prevent it from moving (however you should get warning messages if you try to move it). With regards to your GameMode, as long as the MoveForward is getting called and the AxisValue is larger than 0 then you shouldn’t have any problem with it. However, just to be sure, if you don’t any Controller then set the GameMode controller to use the base PlayerController class.
Let me know how it goes