Skip to content

Prefab

Purpose

Owns prefab-facing abstraction contracts used by preview, rendering, loading, instantiation, and lifecycle workflows.

This territory defines the seams that isolate prefab discovery, loading, instantiation, validation, shader fallback handling, and layer management from higher-level preview and export systems.

Owns

  • Prefab loading contracts
  • Prefab instantiation contracts
  • Prefab lifecycle contracts
  • Preview instance contracts
  • Preview layer contracts
  • Shader fallback contracts

Does NOT Own

  • Prefab repository implementation
  • Asset database access implementation
  • Preview rendering
  • Preview scene ownership
  • Export workflows
  • Thumbnail generation

Allowed Dependencies

Prefab abstractions may depend on:

  • Unity GameObject types
  • Shared collections
  • Primitive data structures

Prefab abstractions should avoid depending directly on:

  • Preview implementations
  • Rendering systems
  • Export systems
  • Panel systems
  • Asset repository implementations

Notes

Prefab abstractions represent some of the most important architectural seams in Snap Studio Pro.

They allow preview systems to interact with prefab workflows without depending directly on editor-specific loading, instantiation, or asset database implementations.

Concrete feature systems own implementation.

Prefab abstractions own the contract surface.

Future Candidates

  • Prefab validation contracts
  • Preview bounds contracts
  • Prefab metadata contracts
  • Prefab state restoration contracts