Configuration Service for Generic or Platform-Specific Settings
Intent
We want to have an API for setting various values so that we can override and tweak currently hard-coded values in the framework. It should be a generic API so that any system or dependency we introduce on any platform could use the values stored by this config service.
Motivation
Users should be able to override certain hard-coded values when using the framework, based on their use cases and target platforms.
For more context, see the discussion on this issue: #9270 And also this PR: #9271
Here, we had to increase both the uniform ringbuffer size, and the descriptor pool size to resolve some issues. However, both these values are still hard-coded, yet they should be configurable so that users can tweak them based on the requirements of the game they're building, and the constraints of the platform they're targeting.
Another example use case would be setting up required Vulkan extensions for the game to init.
Source: MonoGame/MonoGame