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.
CreateSystemConfigurationSettingsWindow only collects input and renders results; every
asset mutation lives here.
Inheritance
SystemConfigurationSettingsCreator
Assembly: Serenity.UnitySystemConfiguration.Infrastructure.Editor.dll
Syntax
public static class SystemConfigurationSettingsCreator
Fields
DefaultOutputFolder
Folder a brand-new settings asset is created under when the caller names none.
Declaration
public const string DefaultOutputFolder = "Assets/Game/Media/SystemConfiguration"
Field Value
SettingsAssetFileNameFallback
Declaration
public const string SettingsAssetFileNameFallback = "SystemConfigurationSettings"
Field Value
Methods
Validates the request, then resolves-or-creates the settings asset and applies every field to it. On
any failure every mutation is rolled back through the transaction's existing-asset restores: an
already-existing asset that was being edited has its pre-call field values restored, and created
paths are deleted. 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
Returns
ResolveSettingsContext(string)
Declaration
public static SettingsAssetAuthoring.SettingsResolution<UnitySystemConfigurationSettings> ResolveSettingsContext(string explicitSettingsAssetPath = "")
Parameters
| Type |
Name |
Description |
| string |
explicitSettingsAssetPath |
|
Returns
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
Returns
| Type |
Description |
| SerenityCreationValidationResult |
|