ArTchie Studios

Build Settings Auditor

Sanity-checks EditorBuildSettings scenes and a few PlayerSettings fields (product / company, scripting backend, color space).

Editor-only. Unity 2021.3+. Lives in Anvil.Editor (includePlatforms: Editor). No extra packages.

Editor window

ArTchie / Anvil / Build Settings Auditor

Button What it does
Scan Reads the build scene list, every scene under Assets/, and PlayerSettings.
Copy JSON Puts the report JSON on the clipboard.
Write report Writes <project>/AnvilReports/build-settings.json (creates the folder if needed).

Project scene listing skips Packages/ and Library/.

Batchmode (CI)

Unity -batchmode -nographics -quit -projectPath <proj> -executeMethod Anvil.BuildSettingsAuditor.RunBatch -anvil-out <file.json> -anvil-fail
Arg Meaning
-anvil-out <file.json> Output path. Default: <project>/AnvilReports/build-settings.json
-anvil-fail Exit code 1 if any item has severity: "error"; otherwise 0
-anvil-fail-unlisted Also exit 1 if any unlistedScene item exists. Promotes those items to error in the JSON.

RunBatch only calls EditorApplication.Exit when Application.isBatchMode is true. It logs count= and the output path.

Also accepts -anvil-out=file.json.

Without -anvil-fail-unlisted, scenes under Assets/ that are not in the build list stay info and do not fail the process.

JSON

{
  "tool": "BuildSettingsAuditor",
  "generatedUtc": "2026-08-18T02:00:00Z",
  "count": 3,
  "items": [
    {
      "rule": "missingEnabledScene",
      "severity": "error",
      "detail": "Enabled build scene is missing on disk (index 0).",
      "assetPath": "Assets/Scenes/Gone.unity"
    },
    {
      "rule": "unlistedScene",
      "severity": "info",
      "detail": "Scene under Assets/ is not in EditorBuildSettings (info unless -anvil-fail-unlisted).",
      "assetPath": "Assets/Scenes/Dev.unity"
    },
    {
      "rule": "colorSpace",
      "severity": "info",
      "detail": "PlayerSettings.colorSpace is Linear.",
      "assetPath": ""
    }
  ]
}

Rules

Rule Severity Meaning
missingEnabledScene error Enabled EditorBuildSettings scene GUID/path is missing on disk
disabledScene warn Scene is in the build list but disabled (detail notes if the asset is also missing)
noBuildScenes warn Build list is empty
noEnabledBuildScenes error Build list has entries but none are enabled
unlistedScene info (error if -anvil-fail-unlisted) Scene under Assets/ is not in the build list
emptyProductName error PlayerSettings.productName is empty / whitespace
emptyCompanyName error PlayerSettings.companyName is empty / whitespace
colorSpace info Current PlayerSettings.colorSpace
scriptingBackend info Active build target + ScriptingImplementation (Mono vs IL2CPP note)
scanFailed error Unexpected exception while auditing

assetPath is "" for player-settings / list-wide rules.

Notes

  • Scripting backend is read with PlayerSettings.GetScriptingBackend(BuildPipeline.GetBuildTargetGroup(activeBuildTarget)). If that API throws, the item detail says so and the rest of the report still writes.
  • Color space and scripting-backend rows are always emitted (info), so a clean empty project still gets a small report.
  • Empty projects and a missing AnvilReports folder are fine.
  • Does not modify Build Settings or PlayerSettings. Does not touch runtime player code.

Source in the box: Assets/ArTchie Studios/ArTchie-Suite/com.artchie.anvil/Documentation/BuildSettingsAuditor.md