Class BindingStorageSettings
Settings that control how player input bindings are persisted across sessions. These settings are consumed by the Input module during initialization to configure the active IBindingStorage backend.
Inherited Members
Namespace: Scylla.Input
Assembly: ScyllaInput.dll
Syntax
[Serializable]
public class BindingStorageSettings
Remarks
Choose JSONFile for desktop platforms where
players or modders may want to inspect or manually edit their binding files.
Files are written under Application.persistentDataPath in the folder
specified by JSONStorageFolder.
Choose PlayerPrefs for mobile or console
platforms where direct file access is unavailable or undesirable. Keys are
prefixed with "Scylla.Input.Bindings.".
Fields
AutoLoadBindings
When true, the module automatically loads the saved bindings for the
DefaultProfileID profile during initialization, restoring the
player's previous customizations without any code-side call.
Defaults to true.
Declaration
[Tooltip("When enabled, the input module automatically loads previously saved binding overrides from the configured storage backend during initialization. Disable this if you want to manage binding loading manually at a specific point in your game flow.")]
public bool AutoLoadBindings
Field Value
| Type | Description |
|---|---|
| bool |
AutoSaveBindings
When true, the module automatically saves bindings to storage immediately
after each interactive rebind operation completes. When false, bindings
must be saved manually via IInputBindingManager.SaveBindings.
Defaults to true.
Declaration
[Tooltip("When enabled, bindings are automatically saved to the configured storage backend after each successful rebind operation. Disable this if you want to batch-save bindings at specific points (e.g. when the player confirms changes in a settings menu).")]
public bool AutoSaveBindings
Field Value
| Type | Description |
|---|---|
| bool |
DefaultProfileID
Identifier for the default binding profile used when no explicit profile name
is specified. Must not be null or empty. Defaults to "default".
Declaration
[Tooltip("The default binding profile identifier used when no specific profile is requested. This ID is used for loading and saving bindings when the caller does not specify a profile name.")]
public string DefaultProfileID
Field Value
| Type | Description |
|---|---|
| string |
JSONStorageFolder
Subdirectory path relative to Application.persistentDataPath where JSON
binding files are stored when StorageType is
JSONFile. Must not be null or empty, and must
not contain characters that are invalid in a file-system path.
Defaults to "Scylla/Input".
Declaration
[Tooltip("The subdirectory name within Application.persistentDataPath where JSON binding files are stored. Only used when Storage Type is set to JSONFile. The folder is created automatically if it does not exist.")]
public string JSONStorageFolder
Field Value
| Type | Description |
|---|---|
| string |
StorageType
The storage backend to use for persisting player binding overrides. Defaults to JSONFile for desktop-friendly behavior. Use PlayerPrefs for mobile or console targets.
Declaration
[Tooltip("The persistence backend used to save and load custom input bindings. JSONFile stores bindings as human-readable JSON files in the persistent data path, ideal for desktop platforms and modding support. PlayerPrefs uses Unity PlayerPrefs, suitable for mobile platforms with limited file system access.")]
public BindingStorageType StorageType
Field Value
| Type | Description |
|---|---|
| BindingStorageType |