This was very helpful thank you! I think that I understand how to set up a custom player controller in code now. The main area of confusion that I am having with the player controller is what it is actually used for. Or more specifically, what my custom PlayerController’s purpose is in the whole scope of the game (or just any given game project in general). What would one example of it’s usage be? It seems like all the features that I am implementing I can just do with my inherited Character class, and I am afraid that I am missing an important concept of how the engine works, and how it was intended to be used.