I am going to ABSOLUTELY HATE myself doing this but it needs to happen, and it needs a migration path from [braindead stupid land] to [glorious sensible town].
[ ] Change prefs to struct system rather than string lookup which is most likely a bit of a CPU slap given how often they're used now
[ ] Move graphics prefs into their own json file, excluded from steam cloud
[ ] Move regular prefs to their own file, included in steam cloud
[ ] Move input prefs to a folder, build out a simple profile system to allow for multiple. Store as sane human-readable json.
[ ] Do a detection step on first run - check for instances of old prefs and if new prefs do not exist, execute a migration script (with and a tooltip popup or something). Do not delete the file on completion so old versions will continue to work.
[ ] Celebrate the completion of this gargantuan refactor safe in the knowledge that all of the painful regressions and migration bullshit will achieve effectively nothing except people won't have to look at escaped freaking json when debugging the worst part of unity (input).
I am going to ABSOLUTELY HATE myself doing this but it needs to happen, and it needs a migration path from [braindead stupid land] to [glorious sensible town].