Skip to content

Session

Purpose

Owns lightweight session restore workflows used by Snap Studio Pro.

This territory provides editor-session persistence and restoration helpers for restoring preview state, camera settings, lighting, backgrounds, volume settings, and previously loaded prefabs when reopening the editor workflow.

Owns

  • Session restore prompts
  • Last-loaded prefab restoration
  • Lightweight session persistence helpers
  • Session restore UI coordination
  • Restore-option selection workflows
  • Editor-session continuity helpers

Does NOT Own

  • Preview scene lifecycle ownership
  • Rendering implementation
  • Export execution
  • Long-term preset persistence
  • Feature workflow orchestration
  • Rendering pipeline implementation

Allowed Dependencies

Session may depend on:

  • Preview facades
  • Feature preference systems
  • Infrastructure preference keys
  • Diagnostics/logging systems
  • Unity EditorPrefs APIs
  • Pipeline abstractions where required for restoration

Session should avoid depending directly on:

  • rendering implementation systems
  • export execution systems
  • feature orchestration systems unrelated to restoration

Notes

Session workflows are intentionally lightweight and editor-focused.

This territory exists to improve editor continuity and reduce repetitive setup work between editor sessions.

Session owns: - restore prompts - restore routing - lightweight session persistence - editor-session continuity UX

Feature systems own: - how their data is stored - how their settings behave - how restoration is applied internally

Session restore systems intentionally coordinate multiple territories because restoration naturally spans: - camera - lighting - background - post-processing - prefab state

That orchestration belongs here rather than being duplicated across multiple feature systems.

The goal is editor continuity, not full save-game style persistence architecture.

Future Candidates

  • Keep session restore workflows lightweight and editor-focused.
  • Continue separating session orchestration from feature implementation.
  • Avoid turning Session into a general persistence framework.
  • Maintain explicit and user-visible restore behaviour.