Skip to content

Latest commit

 

History

History
59 lines (30 loc) · 2.13 KB

File metadata and controls

59 lines (30 loc) · 2.13 KB

Diagnostic Codes

Every ShaderOS diagnostic includes a code in the format TS.SO.V###.


TS.SO.V001 — Broken shader reference

Severity: Error · Penalty: −40

The material's shader slot references a shader that no longer exists. Unity substitutes the internal error shader, producing pink/magenta rendering.

Resolution: Reassign the shader in the Material Inspector. If the shader asset was moved or renamed, use the Inspector to reassign it. If deleted, assign an appropriate replacement.


TS.SO.V002 — Missing texture reference

Severity: Error · Penalty: −10 per slot

A texture property slot references a texture asset that was deleted from the project. The slot appears assigned but the texture cannot be loaded.

Distinct from an empty slot. An empty slot (never assigned) is not flagged.

Resolution: Reassign the slot to a valid texture, or clear it if the texture is no longer needed.


TS.SO.V003 — SRP Batcher incompatible

Severity: Warning · Penalty: −5

The material's shader does not meet SRP Batcher requirements. Each draw call from this material requires a separate render state setup. Rendering is correct; performance is suboptimal.

Only emitted when URP or HDRP is the active render pipeline.

Resolution: Declare all per-material properties inside a CBUFFER_START(UnityPerMaterial) ... CBUFFER_END block. See SRP Batcher Analysis.


TS.SO.V004 — Pipeline mismatch

Severity: Warning · Penalty: −20

The material's shader targets a different render pipeline than the one active in the project. The material may render incorrectly or fall back to the error shader at runtime.

Resolution: Replace the shader with one compatible with the active render pipeline.


TS.SO.V005 — Unreferenced material

Severity: Advisory · Penalty: 0

The material is not referenced by any scene, prefab, or script discovered during the scan.

Resolution: Remove if genuinely unused. If referenced at runtime via Resources.Load or Addressables, this advisory can be disregarded.

Advisory diagnostics do not reduce the health score.