Skip to content
Support

After Effects quirks

Behaviours of After Effects itself that look like Prism failing: locked layers, temporal ease array sizes, match names, parenting time compensation, time remap keys, text stroke, and fonts.

Some failures are not Prism. They are After Effects behaving in ways that surprise everyone who scripts it, and the error text rarely says so. These have all been reported by real sessions.

The short version
A locked layer silently rejects writes. Unlock it first.
Temporal ease arrays must match the property's dimensions, and the rule is not what you would guess.
Parenting a layer compensates at the current time, which can move the child.
Fonts are referenced by PostScript name, never the name you see in the font menu.

A locked layer rejects writes

Can not set attribute "comment" on Layer "…" because the Layer is locked.

This applies to comment, guideLayer, and most other attributes. It fails mid-script, so earlier steps have already run.

Unlock the layer, make the change, then re-lock it if it was locked deliberately. When building over a project you did not create, check layer.locked before writing.

Guide layers inherited from a template are the usual source: they are often locked on purpose and are easy to miss.

Temporal ease arrays and dimensions

Unable to call "setTemporalEaseAtKey" because of parameter 2. Value array does not have 1 elements.

After Effects expects the ease array to match the property's temporal dimension count, which is not always the number of values it holds:

PropertyValuesEase array length
Opacity11
Position (spatial)2 or 31
Scale2 or 33
Camera Point of Interest31

Getting this wrong throws, and the message names the size it wanted but not why.

Ask for eased keyframes rather than setting the array yourself. Prism's easing helper handles the dimension rules for every property type.

Match names are not the names you see

The internal identifier often differs from the label in the timeline, and some have changed across versions.

What you wantMatch name
Text propertiesADBE Text Propertiesnot ADBE Text
Shape layer contentsADBE Vector Items Group
Effects on a layerADBE Effect Parade
Camera Point of InterestUnder the camera's own transform group, not the layer's

ADBE Fast Blur Group cannot be added on modern After Effects versions. Use Gaussian Blur instead.

Camera layers are the common trap: ADBE Point of Interest returns null when looked up under a plain ADBE Transform Group.

Parenting moves the child

Assigning layer.parent compensates for the parent's transform at the current comp time. If the parent already has keyframes, the child can jump.

To attach without moving, either set parent while the parent transform is at its default, or use Prism's raw-parenting helper, which skips the compensation.

The same applies to null objects created away from the origin: the child re-roots into the parent's space and shifts.

Time Remap keys disappear on fresh footage

Adding a footage layer and immediately enabling time remapping can silently lose the keys.

Two rules make it reliable:

  • layer.property("ADBE Time Remap") is always null. Enable and key through layer.timeRemap.
  • Do not probe a freshly imported footage item's width or duration straight after importing — it can crash the wrapper. Import, then re-find the item by id.

Text stroke

Two separate issues, both in After Effects itself:

  • Reading strokeColor throws when applyStroke is false. Check applyStroke before reading any stroke property.
  • After Effects 2026 applies a default stroke to new text, which eats into the glyphs and leaves letters looking thin or hollow. Ask for text with no stroke.

Fonts are PostScript names

After Effects matches fonts by PostScript name, which has no spaces:

Font menuUse
Helvetica Neue BoldHelveticaNeue-Bold
Arial BlackArial-Black

A display name usually resolves to the wrong weight or silently falls back.

After Effects can quit while a script runs

Scrubbing the timeline while a scripted operation is in flight can crash After Effects outright. This is an After Effects fault and there is no way for Prism to prevent it.

While a request is running, let it finish before scrubbing or editing manually.

Some operations are simply intermittent

A few operations do not apply cleanly on the first attempt, independently of Prism. Layer styles are the known case.

Re-run the same request once. If it succeeds on the retry, that is the known intermittent behaviour rather than a configuration problem.