Coming from Godot: How to setup a centralized state machine for a Player Character

Quick follow up question! You said, “We make our StateStack in the player controller…”, do you mean the Class the inherits from the APlayerController Unreal Engine Class, or do you mean the Class that inherits from the APlayerCharacter Unreal Engine Class?

I’m curious to know specifically because everywhere I’ve read, they say to put the state machine in the APlayerCharacter inheriting Class. But it seems to make more sense to put the state machine in the APlayerController inheriting Class since that is what will receive player input, and can dictate what state the player should be in!

This is slightly confusing to me because in Godot, the PlayerController and PlayerCharacter would be combined into just one Actor (Node). So, you would be able to see player input, and move the player all from the same Class.