Skip to content

Utilities

Purpose

Owns shadow-specific helper logic used by Snap Studio Pro shadow workflows.

This territory contains utility systems for loading shadow catcher materials, creating/positioning shadow catcher geometry, and selecting pipeline-safe shadow debug shaders.

Owns

  • Shadow catcher material loading
  • Shadow catcher geometry helpers
  • Shadow catcher positioning helpers
  • Shadow shader selection helpers
  • Shadow-specific utility behaviour

Does NOT Own

  • Preview scene lifecycle ownership
  • Export orchestration
  • Capture execution
  • Panel UI
  • General rendering implementation
  • General lighting workflows

Allowed Dependencies

Utilities may depend on:

  • Unity rendering/material APIs
  • Unity scene APIs
  • Pipeline-safe shader detection helpers
  • Lightweight shadow settings/models where required

Utilities should avoid depending on:

  • export orchestration systems
  • panel/UI systems
  • window lifecycle systems

Notes

Utilities should remain shadow-specific and helper-focused.

They may support preview and capture workflows, but should not become the owners of those workflows.

Preview owns: - preview scene lifecycle

Export/Capture own: - production workflow execution

Shadow utilities own: - reusable shadow helper behaviour

Future Candidates

  • Keep utilities narrow and shadow-specific.
  • Avoid turning utilities into workflow managers.
  • Maintain pipeline-safe shader/material lookup behaviour.