Did I Overengineer or Future-proof My Game Settings System?(Or Else)

Hey all,

I've been working on optimizing my game settings system and wanted to get some input on the approach I've taken. Below is a breakdown of the scripts involved:

SettingsData Struct: Handles all settings data storage and includes methods for loading and saving settings from player preferences.

GameSettings Class: Manages game settings initialization, loading from player prefs, and saving changes.

KeyBinds Class: Serves as an intermediary for accessing specific key bindings, keeping things organized.

InputMapping Class: Translates player input into movement axes, simplifying the process for player movement.

PlayerInput Class: Handles player input, utilizing InputMapping and KeyBinds to determine player actions.

PlayerController Class: Responsible for translating player input into character movement, ensuring smooth gameplay.

I aimed to create a modular and adaptable system ready for future adjustments. However, I'm curious to hear your thoughts on whether I may have overcomplicated things.

Any feedback or suggestions is appreciated, also i don't mind sharing scripts if it can be usefull.