Editor¶
Purpose¶
The Editor/ territory contains the entire Snap Studio Pro editor application.
Snap Studio Pro is an Editor-only Unity tool focused on: - prefab-to-2D workflows - sprite generation - animation export - thumbnail generation - preview rendering - editor production tooling
This folder contains the core editor architecture, workflow systems, UI layers, rendering systems, preview systems, pipeline integrations, and supporting infrastructure that power the Snap Studio Pro editor experience.
๐งฑ High-Level Architecture¶
Snap Studio Pro is intentionally organized into clear architectural territories with explicit ownership boundaries.
| Territory | Responsibility |
|---|---|
Window/ | Editor application shell, lifecycle, layout, navigation |
Panels/ | User-facing editor UI and workflow interaction |
Features/ | Workflow/domain behaviour |
Preview/ | Live preview coordination and preview-scene ownership |
Rendering/ | Low-level rendering and capture implementation |
Infrastructure/ | Shared support systems (prefs, runners, file IO, state) |
UI/ | Shared IMGUI infrastructure, themes, style systems |
Pipelines/ | Built-in / URP / HDRP isolated implementations |
Thumbnails/ | Thumbnail generation and caching infrastructure |
Session/ | Lightweight session restore workflows |
Startup/ | Editor startup, compatibility, and initialization workflows |
Diagnostics/ | Logging, debugging, and support tooling |
Presets/ | Preset persistence and serialization helpers |
PrefabMetadata/ | Lightweight prefab categorization and filtering |
Attributes/ | Shared editor-safe attributes and drawers |
Enums/ | Shared lightweight workflow enums |
Core/ | Foundational primitives and reusable low-level systems |
Abstractions/ | Focused integration seams and workflow contracts |
Each territory contains its own README.md describing: - ownership - dependency direction - architectural intent - non-goals - future boundaries
๐ง Architectural Philosophy¶
Snap Studio Pro is intentionally built around: - explicit composition - modular editor workflows - practical separation of concerns - render-pipeline isolation - maintainable orchestration
The architecture focuses on: - ownership clarity - reusable workflows - editor stability - long-term maintainability
โnot abstraction theatre or framework complexity for its own sake.
๐ Workflow Model¶
The editor architecture broadly flows like this:
Window
โ
Panels
โ
Features / Preview
โ
Rendering / Infrastructure / Pipelines
Window¶
Owns: - editor shell - lifecycle - layout - composition - repaint coordination
Panels¶
Own: - user interaction - request construction - workflow-facing editor UI
Features¶
Own: - export workflows - animation workflows - lighting workflows - capture behaviour - domain logic
Preview¶
Owns: - live preview scenes - prefab preview lifecycle - preview coordination
Rendering¶
Owns: - actual rendering - image generation - compositing - texture processing - low-level capture logic
Infrastructure¶
Owns: - prefs - runners - file IO - support systems - async editor workflows
๐งฉ Orchestration Philosophy¶
Some systems inside Snap Studio Pro are intentionally orchestration-heavy.
Examples include: - PrefabPreviewWindow - RightPanel - MiddlePreviewPanel - PrefabPreviewManager
These systems exist to coordinate: - editor workflows - layout - repaint flow - panel composition - preview state - multi-system interaction
This is intentional.
The architecture separates: - orchestration layers from - implementation layers
rather than forcing every class to be artificially small.
๐จ Render Pipeline Support¶
Snap Studio Pro supports: - Built-in Render Pipeline - Universal Render Pipeline (URP) - High Definition Render Pipeline (HDRP)
Pipeline-specific implementations are intentionally isolated under: - Pipelines/BuiltIn - Pipelines/URP - Pipelines/HDRP
This keeps: - rendering behaviour - volume systems - lighting systems - camera systems
cleanly separated per pipeline.
Stub-safe fallbacks are also used where required to allow clean compilation even when specific Unity pipeline packages are missing.
๐ผ Preview & Rendering Separation¶
Preview and Rendering are intentionally separate territories.
Preview owns:¶
- preview scene lifecycle
- prefab instance management
- interaction state
- preview coordination
Rendering owns:¶
- actual rendering
- image generation
- compositing
- texture processing
- low-level capture logic
This separation improves: - maintainability - workflow clarity - pipeline isolation - export safety
๐งช WIP / Labs Philosophy¶
Experimental systems are intentionally isolated under: - Panels/WIP - Features/WIP - Labs Mode
WIP systems are allowed to evolve quickly without affecting stable production workflows.
They should not become hidden dependencies for the main editor architecture until stabilized.
๐ Documentation Philosophy¶
Snap Studio Pro uses: - XML documentation - folder-level READMEs - territory documentation - workflow-focused user guides
to document: - ownership - architectural intent - dependency direction - workflow responsibilities
The goal is: - future maintainability - onboarding clarity - readable architecture - predictable extension
โnot documentation for its own sake.
๐ฌ Final Notes¶
Snap Studio Pro evolved organically over time into a large-scale Unity Editor tool with: - modular workflow systems - isolated render-pipeline support - reusable editor infrastructure - scalable editor architecture
The architecture intentionally balances: - practical Unity editor development with - maintainable long-term structure
while remaining focused on real-world production workflows rather than framework complexity.