Skip to content

Capture

Purpose

Owns low-level render capture and texture compositing implementation used by preview and export systems.

This territory is responsible for converting rendered camera output into Texture2D assets, compositing image layers, and handling rendering-safe texture capture workflows.

Owns

  • RenderTexture capture implementation
  • Camera-to-texture conversion
  • Texture compositing
  • Alpha flattening workflows
  • RenderTexture lifecycle handling
  • Rendering-safe texture readback utilities

Does NOT Own

  • Export workflow orchestration
  • Preview workflow coordination
  • Preview scene lifecycle management
  • Panel UI
  • File saving/export persistence
  • Rendering pipeline orchestration

Allowed Dependencies

Capture may depend on:

  • Rendering abstractions
  • Diagnostics
  • Unity rendering APIs
  • Texture lifecycle utilities

Capture should avoid depending on:

  • Panels
  • Window
  • Preview orchestration systems
  • Feature workflow coordinators

Notes

This folder exists to isolate low-level capture implementation from higher-level preview and export workflows.

Capture systems here own: - how rendered pixels are retrieved - how textures are composited - how RenderTextures are managed safely - how alpha/image merging behaves

Preview and Features decide: - when capture occurs - why capture occurs - how captures are used

This separation is important because capture/resource management is highly implementation-sensitive and prone to: - texture leaks - invalid RenderTexture state - incorrect cleanup - GPU resource issues

Cleanup and restoration ownership are intentionally centralized in this territory.

Future Candidates

  • Continue protecting RenderTexture restoration ownership.
  • Avoid allowing workflow orchestration into Rendering.Capture.
  • Maintain strict cleanup guarantees for temporary rendering resources.
  • Keep compositing systems implementation-focused and reusable.