Is there any supported way for a Dev Mode plugin (editorType "dev") to read
Figma Motion data — figma.motion, node.animations, node.manualKeyframeTracks,
node.timelines?
In my testing these are available only in the design editor (editorType
"figma") and are completely absent in Dev Mode — in both codegen and inspect
modes. I'd love to confirm whether this is intended, and whether Dev Mode read
access is on the roadmap.
Environment: Plugin API "api" 1.0.0, @figma/plugin-typings 1.130.0 (latest),
Figma desktop app, 2026-06-29. (figma.motion availability is decided by the app
runtime, not the typings package — I compiled against the latest types.)
What I observe (same plugin, same file, same selected nodes):
- Design editor (editorType "figma", mode "default"):
figma.motion = present; node.animations / manualKeyframeTracks = returns real
keyframe data.
- Dev Mode (editorType "dev", mode "codegen"):
figma.motion = undefined; node.animations / manualKeyframeTracks = absent
(access throws).
- Dev Mode (editorType "dev", mode "inspect"):
figma.motion = undefined; node.animations / manualKeyframeTracks = absent
(access throws).
More detail:
- In the design editor everything works: figma.motion.figmaAnimationStyles()
returns styles, and animated nodes expose animations / manualKeyframeTracks
with SET tracks, keyframes (timelinePosition, value, easing), and
timelines[].duration.
- In Dev Mode, figma.motion is undefined (the getter isn't on the node
prototype), so reading motion is impossible there. I verified this across
every node on the page (manual .children recursion, since page.findAll throws
"Unknown node type … getPublicNodeType" on the new motion node types).
- The manifest declares capabilities ["inspect"] and the plugin's UI shows fine
in the Dev Mode panel — so the plugin runs in Dev Mode; only the Motion data
is unavailable.
I also confirmed the data isn't reachable from Dev Mode any other way:
- REST API GET /v1/files/:key/nodes?ids=… returns no motion / animation /
keyframe / timeline / easing fields anywhere in the payload.
- pluginData / sharedPluginData — Figma stores nothing motion-related there.
Questions:
1. Is "Motion read API is design-editor-only" intended, or a temporary Beta gap?
2. Is Dev Mode read access to Motion planned? If so, any rough timeline?
3. Is there any currently-supported way to surface Motion data in Dev Mode
(e.g. via codegen, the inspect panel, dev resources, or the REST API)?
