public sealed class PlayerBuildSettingsWhat Build and Run builds: for what, as what, with which scenes, and where to.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Doc 20's B7, and it is the project's rather than the user's. Which platform a game ships on and which scenes are in it are facts about the game, so they are committed under ProjectSettings/ and arrive with a checkout — the same argument ContentBuildSettings makes about the content target, one level up.
⚠ Here rather than in Vixen.Editor.App, which is where it was, and for ProjectWorkspace's reason. The content build reads Scenes to write the manifest a player boots from, and that build is shared: it is ContentPipeline, called by the editor's Build and Run and by vixen content build. A settings type only the editor could see would have meant the two heads producing different content for one project — a player that opens its level when the editor built it and opens nothing when CI did.
⚠ No [Inspector], deliberately. BuildSettingsView is this type's drawer and always has been: order, a picker offering only scenes that exist and a column saying which entries no longer resolve are none of them expressible as a property attribute. Attributes that no page drew were the sort of decoration doc 20's "every member has a reader" bar exists to keep out.
⚠ Target is the player's and ContentBuildSettings.Target is the content's, and they are deliberately two settings. They agree in the ordinary case and must be able to disagree: importing for Android while the editor keeps drawing desktop textures is what a team building for a phone from a workstation does all day, and a single field would make "build the Android player" also mean "reimport the whole project as ASTC". The build reads this one and passes it to the content pipeline; the editor's own panels go on reading the other.
⚠ The variant is a property and not a configuration, which is PlayerBuild's rule and doc 17's: Development is optimised and keeps its profiler, so it is a Release compile with a different VixenVariant. The Build menu's Configuration ▸ is a view over this one field rather than a second setting beside it.
Fields and properties (4)
public string TargetWhich platform the player is built for. Empty means this machine.
public string VariantWhich of doc 17's variants it is built as.
public string OutputPathWhere the artefact goes. Empty means Build/<target> under the project.
public List<string> ScenesThe scenes that ship, first one first.
Used by (7)
- BuildSettingsTestsVixen.Editor.App.Tests
- BuildSettingsViewVixen.Editor.App
- ContentPipelineVixen.Editor.Assets
- EditorApplicationVixen.Editor.App
- LooseContentTestsVixen.Editor.Assets.Tests
- SceneManifestTestsVixen.Editor.Assets.Tests
- TypeRegistrationVixen.Editor.Core