Pipelines¶
Overview¶
The Pipelines folder contains all render-pipeline-specific functionality used by Snap Studio Pro.
Snap Studio Pro supports:
- Built-in Render Pipeline
- Universal Render Pipeline (URP)
- High Definition Render Pipeline (HDRP)
Each pipeline provides its own implementations for rendering, camera management, lighting, volume management, preview capture, and related editor functionality.
The goal of this architecture is to keep the rest of Snap Studio Pro pipeline-agnostic while allowing each render pipeline to handle its own requirements independently.
Folder Structure¶
BuiltIn¶
Contains Built-in Render Pipeline implementations, including:
- Camera management
- Lighting management
- Rendering environment setup
- Post Processing Stack v2 integration
- Volume management
- Preview capture
URP¶
Contains Universal Render Pipeline implementations, including:
- Camera management
- Lighting management
- Global Volume support
- Preview capture
- URP-specific rendering configuration
HDRP¶
Contains High Definition Render Pipeline implementations, including:
- Camera management
- Lighting management
- Global Volume support
- Preview capture
- HDRP-specific rendering configuration
Stubs¶
Contains compile-safe fallback implementations used when a specific render pipeline is unavailable.
These allow Snap Studio Pro to compile cleanly across all supported render pipelines without requiring conditional compilation throughout shared code.
Routing¶
Contains factory and routing systems responsible for selecting the correct pipeline implementation at runtime.
Examples include:
- RenderingManagerFactory
- CameraManagerFactory
- LightingManagerFactory
Recovery¶
Contains recovery and repair tooling used when render pipeline assets or related configuration are missing or have been modified by external assets.
Dependencies¶
Contains pipeline-related dependency management utilities.
Examples include:
- Package detection
- Scripting define management
- Built-in pipeline support validation
- Layer configuration helpers
Shaders¶
Contains shader installation and maintenance tooling used by Snap Studio Pro.
These systems generate and validate pipeline-specific shaders required by certain preview and export features.
Shared¶
Contains functionality shared across all supported render pipelines.
Examples include:
- Pipeline detection
- Shared lighting presets
- Cross-pipeline utility systems
Design Goals¶
The pipeline architecture is designed around the following principles:
- Pipeline-specific logic remains isolated.
- Shared systems remain pipeline-agnostic.
- Runtime pipeline selection occurs through routing factories.
- Unsupported pipelines compile safely through stubs.
- New pipeline functionality can be added without impacting unrelated pipelines.
This structure helps keep Snap Studio Pro maintainable while supporting multiple rendering backends across Unity projects.