Skip to content

Themes

Purpose

Owns editor theme persistence, theme preset workflows, and theme-aware color resolution used throughout Snap Studio Pro.

This territory manages how editor themes are stored, loaded, restored, and resolved across dark/light editor workflows.

Owns

  • Theme persistence
  • Theme preset workflows
  • Theme color resolution
  • Default theme initialization
  • Theme save/load helpers
  • Theme preset file handling
  • Dark/light theme separation
  • Theme restore/reset workflows

Does NOT Own

  • GUIStyle generation
  • Workflow orchestration
  • Rendering implementation
  • Preview lifecycle ownership
  • Feature-domain behaviour

Allowed Dependencies

Themes may depend on:

  • Unity Editor APIs
  • EditorPrefs
  • File IO APIs
  • Theme models/settings
  • Shared style refresh helpers

Themes should avoid depending on:

  • feature orchestration systems
  • rendering systems
  • preview systems
  • export systems

Notes

Themes owns: - theme state - theme persistence - theme preset handling - theme color lookup

Styling owns: - GUIStyle creation - texture caching - reusable visual rendering

This separation keeps theme persistence isolated from presentation implementation.

ThemePersistenceService intentionally supports: - dark/light editor variants - cached theme state - cooldown-based saves - default-theme fallback initialization

to improve editor stability during long IMGUI sessions.

Future Candidates

  • Continue separating theme persistence from style generation.
  • Maintain safe theme caching behaviour.
  • Avoid embedding workflow behaviour into theme systems.
  • Keep theme preset handling explicit and predictable.