Skip to content

Comp Details

Outputs the active composition's dimensions, frame rate, and duration as values.

Category: Utility Menu path: Utility > Comp Details

Ports

PortTypeDirectionDescription
widthscalaroutputComposition width in pixels
heightscalaroutputComposition height in pixels
sizevec2output(width, height) as a single vec2
aspectRatioscalaroutputwidth / height (0 if height is 0)
frameRatescalaroutputFrames per second
durationscalaroutputTotal duration in frames

Parameters

None — the node reads its values directly from the active composition.

How It Works

A pure CPU value source. On every evaluation, the node reads the composition's metadata from the engine's EvalContext and emits each field as a typed output port. The values change whenever the user adjusts the composition settings (dimensions, frame rate, duration); downstream cached nodes invalidate automatically.

Usage Examples

Basic: Anchor a layout to comp center

Wire size into a MakeVector or directly into a Transform2D position to keep something pinned to the center as the comp resizes — for example Transform2D.position = size * 0.5.

Creative: Frame-rate-aware oscillation

Multiply the frameRate output into a Time-based math expression to keep an animation's perceived speed constant when you switch between 24fps and 60fps comps.

Practical: Aspect-ratio-aware Noise scale

Drive Noise's scale from aspectRatio so a curl-noise field has square cells regardless of comp shape.

Tips

  • Output is cached aggressively because it doesn't vary per frame; bumping comp settings invalidates downstream automatically.
  • For per-frame values like the playhead, use the Time node instead.
  • Time — outputs the current frame, seconds, and normalized time
  • Constant — emits a fixed user-supplied value
  • Math — combines values via 28 arithmetic / interpolation operations

Caddis — professional motion design.