Capture Studio Docs
View packages

Reference

Automation and API

Use the runner, command-line entry point, exit codes, and extension interfaces.

Capture Studio 26.8.5Unity 6000.0+Built-in · URP · HDRPEditor onlyOffline first

Runner

csharp
CaptureRunResult result = await CaptureStudioRunner.Run(request, cancellationToken);

CaptureStudioRunner.Preview(request) expands the queue without mutating editor state. Run returns structured queue, verification, restoration, warnings, evidence, and diagnostic data. Only one run can own editor state at a time.

Command-line entry point

The command-line entry point supports unattended validation and production runs. Use a rendered editor process when a run includes composition delivery:

text
<unity> -projectPath <project> -executeMethod KiwiStudios.CaptureStudio.Editor.CaptureStudioCommandLine.Run -kiwiCaptureStudioProject Assets/Path/StudioProject.asset -kiwiCaptureStudioOutput <path> -kiwiCaptureStudioMode complete

Add -kiwiCaptureStudioPlan, -kiwiCaptureStudioSequence, -kiwiCaptureStudioResult, or -kiwiCaptureStudioContinueAfterFailure as needed. -kiwiCaptureStudioMode accepts complete, capture, render, verify, or dry-run. Exit codes are 0 success, 2 preflight failure, 3 cancellation, 4 execution failure, and 5 verification failure.

render and any complete run containing a Media Sequence must omit Unity's -batchmode flag. Official Recorder composition capture advances through Unity's rendered end-of-frame loop, which is unavailable in a headless batch process. Capture Studio rejects this combination during preflight with exit code 2; it does not start a run that cannot advance. A rendered editor can still be launched and controlled entirely from a terminal or CI host.

-batchmode remains supported for dry-run, verify, and scene-capture-only work that does not require composition delivery. Keep -nographics disabled for any Recorder path that needs a graphics device. The result receipt is written before the process exits and is the authoritative automation outcome.

Example validation-only invocation:

text
<unity> -batchmode -nographics -projectPath <project> -executeMethod KiwiStudios.CaptureStudio.Editor.CaptureStudioCommandLine.Run -kiwiCaptureStudioProject Assets/Path/StudioProject.asset -kiwiCaptureStudioMode dry-run -kiwiCaptureStudioResult <receipt.json>

Extension interfaces

  • ICapturePreparationStep
  • ICaptureReadinessProbe
  • ICaptureCleanupStep
  • ICaptureVariableProvider
  • IMediaEffect
  • ITransitionProvider

Register extensions with CaptureStudioExtensionRegistry.Register. IDs must be nonempty and unique within an extension category. Unregister only extensions owned by the calling integration. Extension callbacks receive cancellation, current queue context, variables, and explicit render inputs; they never need to edit Core contracts.

See the Extension SDK sample for compile-ready registrations.

Still stuck?

Bring the run receipt with you.

Include the Capture Studio version, Unity version, operating system, render pipeline, Recorder version, output profile, receipt, restoration status, and a minimal reproduction.

Email supportJoin Discord

Capture Studio 26.8.5

Search documentation