Skip to content

Presets

Purpose

Owns reusable preset models and preset persistence helpers used throughout Snap Studio Pro.

This territory provides lightweight serialization, save/load/delete workflows, and reusable preset data containers for editor-facing configuration systems such as animation export, camera styles, lighting, backgrounds, and future configurable workflows.

Owns

  • Preset data models
  • Preset serialization helpers
  • Save/load preset workflows
  • Preset file discovery helpers
  • Soft-delete preset workflows
  • Preset restore workflows
  • Shared preset persistence utilities

Does NOT Own

  • Feature workflow orchestration
  • Rendering implementation
  • Preview scene lifecycle ownership
  • Panel UI layout ownership
  • Export execution
  • Preset application orchestration

Allowed Dependencies

Presets may depend on:

  • Unity serialization APIs
  • Lightweight models/enums
  • Infrastructure file helpers
  • Diagnostics/logging where appropriate
  • Unity AssetDatabase APIs

Presets should avoid depending on:

  • rendering systems
  • preview systems
  • export execution systems
  • panel orchestration systems
  • workflow-heavy feature systems

Notes

Presets owns: - preset data containers - preset persistence mechanics - save/load/delete/restore workflows

Feature systems own: - what the preset means - how the preset is applied - when the preset is used

Panels own: - preset UI workflows

This separation keeps preset persistence reusable across multiple editor territories without coupling persistence directly into workflow systems.

Preset workflows are intentionally standardized across Snap Studio Pro: - JSON serialization - save/load behaviour - soft-delete to .Trash - restore-last-deleted support - predictable folder structure - inline UX instead of modal-heavy flows

Some presets intentionally store workflow-facing configuration bundles rather than minimal data-only snapshots. That is acceptable because presets are editor production tools, not runtime gameplay systems.

Future Candidates

  • Continue standardizing preset persistence workflows across editor systems.
  • Keep preset persistence separate from workflow orchestration.
  • Avoid embedding rendering or export execution behaviour into preset utilities.
  • Maintain lightweight and explicit preset data models.