Class SystemConfigurationSettingsCreator
Generates (or updates) the project-wide UnitySystemConfigurationSettings asset from a single description. Mirrors Serenity.GameCamera.Infrastructure.Editor.Builder.GameCameraSettingsCreator: static class, Input/Result DTOs, Validate, Create with created-paths rollback on failure — resolved and folder-provisioned through the shared SettingsAssetAuthoring engine rather than a private copy of its logic.
A second UnitySystemConfigurationSettings asset does not break anything at runtime — the
installer's UnityAssetUtils.LoadAllFromAnyBlocking call loads every asset tagged
module:system-configuration and uses the first one found — so ambiguity here is surfaced as a
warning, never a hard error, exactly like GameCamera's settings creator.
Inherited Members
Namespace: Serenity.SystemConfiguration.Infrastructure.Editor.Builder
Assembly: Serenity.UnitySystemConfiguration.Infrastructure.Editor.dll
Syntax
public static class SystemConfigurationSettingsCreator
Methods
Create(Input)
Validates the request, then resolves-or-creates the settings asset and applies every field to it. On any failure every mutation is rolled back: created paths are deleted and, when an already-existing asset was being edited, its pre-call field values are restored. Without a labeled asset anywhere in the project, Serenity.SystemConfiguration.Installation.Installers.UnitySystemConfigurationInstaller throws at boot — this wizard exists specifically to prevent that.
Declaration
public static SystemConfigurationSettingsCreator.Result Create(SystemConfigurationSettingsCreator.Input input)
Parameters
| Type | Name | Description |
|---|---|---|
| SystemConfigurationSettingsCreator.Input | input |
Returns
| Type | Description |
|---|---|
| SystemConfigurationSettingsCreator.Result |
Validate(Input)
Validates the request: a non-empty Id, either a resolvable existing asset or a well-formed destination folder for a fresh one, the same three field predicates UnitySystemConfigurationSettingsEditor warns/errors about on its live inspector (polling enabled with a non-positive interval; a primary display index outside the currently connected display count; disk persistence enabled with an empty JSON file name), and every authored Sync Map row's target key against the project's UnityGameSettingsDefinition Ids (a warning when unresolved — the definition may be authored later — never a hard error).
Declaration
public static SerenityCreationValidationResult Validate(SystemConfigurationSettingsCreator.Input input)
Parameters
| Type | Name | Description |
|---|---|---|
| SystemConfigurationSettingsCreator.Input | input |
Returns
| Type | Description |
|---|---|
| SerenityCreationValidationResult |