-
Notifications
You must be signed in to change notification settings - Fork 0
Bootstrap Settings
Editor > Project Settings > Bootstrap
This is where the pieces referenced elsewhere in the wiki, the default environments, the Edit Mode Services list, and Bootstrap's editor flow, actually get configured.
The settings window has two tabs: Project and User.
-
Project is the shared baseline. It's saved to
ProjectSettings/BootstrapProjectSettings.asset, so it's committed to source control and applies to everyone on the project by default. -
User is per-machine. It's saved to
UserSettings/BootstrapUserSettings.asset, which falls under Unity's default.gitignorerule for theUserSettings/folder, so it never gets committed and never affects anyone else.
Every setting has its own checkbox next to it while on the User tab. Checking it lets you type in a value that overrides the Project setting, but only for that one setting, on your machine, everything else keeps using the Project value. Unchecking it greys the field back out and reverts to the Project value. On the Project tab there's no checkbox at all, since a Project value is always in effect unless a User override replaces it.
Changes on either tab save immediately, there's no separate save step.
The top of the settings window also has an Edit Mode header with a Re-Bootstrap Edit Mode button, which tears down and reinitializes the currently running edit-mode app instance. This is useful after changing the Edit Mode Services list or any of its services, since edit mode doesn't otherwise restart on its own the way pressing Play does.
The User tab also tracks which environment is currently selected for edit-mode bootstrapping. This value doesn't have an override checkbox since it's inherently a per-user, edit-mode-only setting; it has no Project-scope counterpart.
Most of the time you don't need to think about scope at all, BootstrapEditorSettingsUtility.GetValue resolves it for you: it checks whether a User override is enabled for that setting, and falls back to the Project value if not.
BootstrapLogLevel minLogLevel = BootstrapEditorSettingsUtility.GetValue(asset => asset.MinLogLevel);If you need a specific scope's value regardless of overrides, for example to compare a Project default against whatever the current user has overridden it to, GetWithScope returns the raw settings asset for that scope directly:
IBootstrapEditorSettingsAsset projectSettings = BootstrapEditorSettingsUtility.GetWithScope(SettingsScope.Project);
BootstrapLogLevel projectLogLevel = projectSettings.MinLogLevel.Value;