Skip to content

Essential Graphics

Expose layer properties to the Essential Graphics Panel and override those controls on precomp instances.

Overview

Essential Graphics lets you create templates with editable properties that can be modified in Premiere Pro or other apps.

Compdown supports two related workflows:

  • Define controls on a source composition with essentialGraphics.
  • Set control values on a nested precomp layer with essentialProperties.

Basic usage

Add an essentialGraphics array to a composition:

yaml
compositions:
  - name: Lower Third
    layers:
      - name: title
        type: text
        text: Breaking News
      - name: bar
        type: solid
        color: FF0000

    essentialGraphics:
      - title.text
      - title.transform.position
      - bar.transform.opacity

Override controls on a precomp instance

Use essentialProperties on a layer that references another composition:

yaml
compositions:
  - name: Master Edit
    layers:
      - name: Lower Third Instance
        composition: Lower Third
        essentialProperties:
          Headline: "Breaking Update"
          Bar Blur: 12

essentialProperties schema

essentialProperties is a key/value object:

  • Key: controller name exactly as shown in Essential Graphics.
  • Value: number, boolean, string, or number array.

Rules:

  • Only valid on composition layers.
  • Missing controller name throws an error.
  • Duplicate controller names on the same layer throw an error.
  • Color controllers accept hex strings like ff0000 (or #ff0000).

essentialGraphics forms

Simple form (string)

Just the property path. Uses the path as the display name:

yaml
essentialGraphics:
  - title.text
  - title.transform.position

Expanded form (object)

Customize the display name and options:

yaml
essentialGraphics:
  - property: title.text
    name: Headline
  - property: title.transform.position
    name: Title Position

Schema

PropertyTypeRequiredDescription
propertystringyesProperty path
namestringnoCustom display name
encodePathInNamebooleannoEnable round-trip encoding (default: true)

Property paths

Format: layerName.propertyPath

Transform properties

PathProperty
layer.transform.positionPosition
layer.transform.scaleScale
layer.transform.rotationRotation
layer.transform.opacityOpacity
layer.transform.anchorPointAnchor Point

Text properties

PathProperty
layer.textSource text

Effect properties

PathProperty
layer.effects.EffectName.PropertyNameEffect property
yaml
essentialGraphics:
  - property: bar.effects.Gaussian Blur.Blurriness
    name: Blur Amount

Round-trip support

By default, Compdown encodes the property path in the controller name:

Display Name [path:layer.transform.position]

This allows exported text to include the full property path, enabling workflows like:

  1. Create comp from Compdown text with Essential Graphics
  2. Modify in Premiere
  3. Export back to text with paths preserved

Disabling path encoding

For cleaner names in Premiere (at the cost of round-trip):

yaml
essentialGraphics:
  - property: title.text
    name: Headline
    encodePathInName: false  # Name will be just Headline

Complete example

yaml
compositions:
  - name: Title Card Template
    width: 1920
    height: 1080
    duration: 5
    layers:
      - name: title
        type: text
        text: Main Title
        fontSize: 72
        fillColor: FFFFFF
        transform:
          position: [960, 400]

      - name: subtitle
        type: text
        text: Subtitle goes here
        fontSize: 36
        fillColor: CCCCCC
        transform:
          position: [960, 500]

      - name: background
        type: solid
        color: 1a1a2e
        effects:
          - name: Gaussian Blur
            properties:
              Blurriness: 0

    essentialGraphics:
      - property: title.text
        name: Main Title
      - property: subtitle.text
        name: Subtitle
      - property: title.transform.position
        name: Title Position
      - property: background.effects.Gaussian Blur.Blurriness
        name: Background Blur

Limitations

WARNING

  • Not all properties can be added to Essential Graphics. Compdown checks canAddToMotionGraphicsTemplate() and silently skips unsupported properties.
  • Custom names (addToMotionGraphicsTemplateAs()) require After Effects CC 2019 (16.1) or later.
  • Legacy Essential Graphics entries created manually export as name-only objects without property paths.
  • essentialProperties works only when the precomp layer has exposed Essential Graphics controls.

Released under the MIT License.