How do I get Enhanced Input Local Player Subsystem without accessing Player Controller in C++?

Ok, your points about fighting the engine seem sensible. The problem sort of is that I simply wanted to separate the Settings (specifically key mappings, here) from everything else. Sure, I will need those settings when I have the UI (main menu, etc.), but I wanted to have the logic behind it separated into another class, where I don’t have access to UI elements, World, etc., in order to have my Menu class less cluttered and dealing with UI things only.

The second thing is, I might need those settings (key mappings) somewhere else as well, which is again a good reason to have it separated. Well, if it can’t be done, I’ll put it in the Player Controller probably, or HUD, but I still think my points make sense.

When it comes to your suggested solutions, the first one, with the custom GameInstanceSubsystem seems sensible. But won’t I have to face the same problems anyway (like not being able to access a World)?