Game Settings
Overview
NeoFPS exposes various game settings to players through text based settings files. This provides much more flexibility for players than the existing system of build settings that Unity hides for runtime builds.
The following settings files are created by a NeoFPS project when it is run:
| Name | Filename | Description |
|---|---|---|
| Audio | Audio.settings | Contains settings for volumes (spatial effect, music and global. |
| Graphics | Graphics.settings | Contains various graphics and quality settings such as resolution, vsync and antialiasing. |
| Gameplay | Gameplay.settings | Contains miscellaneous gameplay settings such as crosshair colour. |
| Input | Input.settings | Contains settings for mouse and keyboard input including sensitivity, smoothing and acceleration. |
| Gamepad | Gamepad.settings | Contains settings for gamepad input such as profile preset and analog sensitivity. |
| Key Bindings | KeyBindings.settings | Contains individual key bindings for the different inputs. |
If any of these files are found when the game starts, then the game settings will be based off these. The individual settings are mapped to the following scriptable objects:
| Name | Behaviour |
|---|---|
| Audio | FpsAudioSettings |
| Graphics | FpsGraphicsSettings |
| Gameplay | FpsGameplaySettings |
| Input | FpsInputSettings |
| Gamepad | FpsGamepadSettings |
| Key Bindings | FpsKeyBindings |
If no settings file is found for one of the above, then the settings will default to those in the scriptable object asset located in the NeoFPS/Resources folder. These assets can be customised to set the default settings. Modifying the settings inn game and via the ".settings" files will not modify the assets.
If any of the settings are changed at runtime then the ".settings" file is saved again and an event is fired. This event allows objects to interact to changes of settings. For example, if the crosshair colour is changed in the gameplay settings is changed then the HUD crosshair can immediately change to reflect this.
These settings behaviours and files are intended as a basis for your own projects. Add any new settings as required and use these files as an example though be aware that these files will change in future versions of NeoFPS to reflect new features such as HDRP and post-processing settings potentially being added to the graphics settings.