remotion-dev/remotion · error · Error

Effects do not support scale fields: ${field.key}

Error message

Effects do not support scale fields: ${field.key}

What it means

Effects declare their editable parameters via an `InteractivitySchema` (a record of field schemas such as `type: 'number'`, `'boolean'`, `'color'`, `'rotation-degrees'`). The `type: 'scale'` field schema (`ScaleFieldSchema` in packages/core/src/interactivity-schema.ts:61) exists for sequence/style props but is not supported for effect props, so TimelineEffectPropItem throws while rendering the effect's prop row (packages/studio/src/components/Timeline/TimelineEffectPropItem.tsx:285). This is a hard authoring error: the Timeline crashes when it tries to display that effect.

Source

Thrown at packages/studio/src/components/Timeline/TimelineEffectPropItem.tsx:286

				value,
				schema: field.effectSchema,
				setPropStatuses,
				clientId,
			});
		},
		[
			clientId,
			field.effectIndex,
			field.effectSchema,
			field.key,
			nodePath,
			setPropStatuses,
			validatedLocation,
		],
	);

	if (field.fieldSchema.type === 'scale') {
		throw new Error(`Effects do not support scale fields: ${field.key}`);
	}

	if (!canUseEffectOperations()) {
		return <UnsupportedStatus label="read only" formattedValue={false} />;
	}

	if (effectStatus.type === 'cannot-update-effect') {
		if (effectStatus.reason === 'computed') {
			return (
				<TimelineComputedEffectPropValue
					propStatus={{status: 'computed'}}
					field={field}
					runtimeValueStore={runtimeValueStore}
					validatedLocation={validatedLocation}
				/>
			);
		}

View on GitHub (pinned to 10db9de073)

Solutions

  1. Change the field to `type: 'number'` with `min`/`max`/`step`/`default` — this is what the built-in `scale()` effect itself uses (`{type: 'number', min: 0.1, max: 10, step: 0.1, default: 1}`).
  2. If a built-in effect (not your own) triggers it, align versions: update `@remotion/effects`, `remotion`, and `@remotion/studio` to the same release so the schema and Studio agree.
  3. Reload Studio after fixing the effect schema so the Timeline re-renders from the corrected definition.

Example fix

// before
const mySchema = {
  factor: {type: 'scale', default: 1},
} as const satisfies InteractivitySchema;

// after
const mySchema = {
  factor: {type: 'number', min: 0.1, max: 10, step: 0.1, default: 1, description: 'Factor'},
} as const satisfies InteractivitySchema;
Defensive patterns

Strategy: validation

Validate before calling

import type {InteractivitySchema} from 'remotion';

const assertNoScaleFields = (schema: InteractivitySchema): void => {
  for (const [key, field] of Object.entries(schema)) {
    if (field.type === 'scale') {
      throw new Error(`Effects do not support scale fields: ${key}`);
    }
  }
};

// run on the effect's schema before registering/using the effect
assertNoScaleFields(myEffectSchema);

Type guard

const isEffectCompatibleField = (
  field: {type: string},
): boolean => field.type !== 'scale';

Prevention

When it happens

Trigger: A custom effect created via `createEffect` (as used throughout `@remotion/effects`) whose `schema` contains a field with `type: 'scale'`. When that effect is selected in the Studio Timeline and its prop row renders, the component throws `Effects do not support scale fields: <field.key>` and the Timeline UI breaks.

Common situations: Authoring a new effect for `@remotion/effects` and reusing a `ScaleFieldSchema` intended for element/sequence props; copying a style-prop schema into an effect schema; version drift where an older effects package ships a field type the installed Studio build rejects.

Related errors


AI-assisted analysis of remotion-dev/remotion@10db9de073 (2026-08-22). Data as JSON: /api/errors/3dd3627cb9e1cf1e. Report an issue: GitHub.