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
- 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}`).
- 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.
- 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 authoring effects, restrict field types to the ones built-in effects use: 'number', 'boolean', 'color', 'rotation-degrees', 'translate', 'uv-coordinate'.
- For scale-like parameters, use `type: 'number'` with `min`/`max`/`step` (copy the pattern from `@remotion/effects`' own `scale()` schema).
- Add a unit assertion over the effect's schema so an unsupported field type fails at build time, not in the Studio Timeline.
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
- TimelineFontWeightField rendered for non-font-weight field
- Studio server port should be a number. Got ${typeof port} ($
- Studio server port should be a number between 1 and 65535. G
- Job is not running
- <Solid>: `pixelDensity` must be a positive finite number. Re
AI-assisted analysis of remotion-dev/remotion@10db9de073 (2026-08-22).
Data as JSON: /api/errors/3dd3627cb9e1cf1e.
Report an issue: GitHub.