Skip to content

Shaders

Purpose

Owns rendering-side shader fallback and shader compatibility helpers used by Snap Studio Pro preview and capture systems.

This territory is responsible for ensuring preview-safe shader behaviour across supported render pipelines without owning rendering orchestration or pipeline workflow logic.

Owns

  • Shader fallback handling
  • Cross-pipeline shader replacement helpers
  • Rendering compatibility shader utilities
  • Preview-safe material fallback workflows

Does NOT Own

  • Rendering orchestration
  • Pipeline routing
  • Preview workflow coordination
  • Export workflows
  • Material editing UI
  • Rendering pipeline implementation ownership

Allowed Dependencies

Shaders may depend on:

  • Rendering abstractions
  • Diagnostics
  • Unity shader/material APIs

Shaders should avoid depending on:

  • Panels
  • Window
  • Preview orchestration systems
  • Feature workflow coordinators

Notes

This folder exists to isolate shader compatibility behaviour from rendering orchestration and preview workflow systems.

Shader systems here own: - fallback shader replacement - compatibility correction - preview-safe shader handling

Rendering and Preview systems decide: - when shader fallback is required - how rendering workflows behave

This separation helps keep rendering compatibility concerns isolated from higher-level editor workflows.

The systems here are intentionally implementation-focused and should remain lightweight.

Future Candidates

  • Continue isolating shader compatibility logic from preview orchestration.
  • Avoid allowing pipeline workflow logic into Rendering.Shaders.
  • Maintain lightweight, rendering-focused ownership boundaries.