Skip to main content

Version 1, Update 132

Read the Motion timeline playhead position

The new figma.motion.playheadPosition property returns the current playhead position of the active Motion timeline in seconds. It returns undefined when there is no active Motion timeline in the editor.

Version 1, Update 131

Video export

exportAsync can now export a top-level frame with animated content as video. Pass one of the new export settings types to receive a Uint8Array of the encoded file. Video export is only available when running in Figma.

New types

  • ExportSettingsMP4: Export an animated top-level frame as an MP4. Supports fps, a quality preset, and a size constraint.
  • ExportSettingsGIF: Export an animated top-level frame as a GIF. Supports fps, loopCount, and a size constraint.
  • ExportSettingsWEBM: Export an animated top-level frame as a WebM. Supports fps, a quality preset, and a size constraint.

Updated methods

  • exportAsync(): Added an overload accepting ExportSettingsMP4 | ExportSettingsGIF | ExportSettingsWEBM.

Version 1, Update 130

Motion support in the Plugin API

You can now use the Plugin API to read and update Motion animation data, including animation styles, timelines, animations, and manual keyframe tracks.

New methods

New properties

  • animationStyles: Read the Motion animation styles currently applied to a node.
  • animations: Read all Motion animation keyframes on a node, including keyframes created by animation styles and manual keyframe tracks.
  • manualKeyframeTracks: Read the manual Motion keyframe tracks bound to a node.
  • timelines: Read the Motion timelines that contain a node.

Shaders in the Plugin API

You can now use the Plugin API to discover, import, and apply shaders.

New methods

  • figma.listAvailableShaders(): List every shader available to the current file — shaders already in the file, shaders from subscribed libraries, and the user's owned shaders.
  • figma.importShaderById(): Materialize a shader into the current file so it can be applied.

New types

Updates for 2026-06-10

Slots GA

Slots were supported within the Plugin API throughout the public beta. With our GA launch of slots, we've introduced new capabilities alongside stability improvements in both Figma Design and the Plugin API.

New node type

  • SlotNode: Represents a slot within a component or instance. A slot is a child frame of a component that has freeform content editing.

New types

  • SlotSettings: Slot-specific configuration for 'SLOT'-typed component properties. Fields include stretchChildOnInsert, displayEmptyByDefault, minChildren, maxChildren, and allowPreferredValuesOnly.

New methods

New read properties

  • slotNode.limitViolations: Given slotSettings are configured on the slot definition, returns any limits that the current slot instance is in violation of. Possible kinds are 'BELOW_MIN', 'ABOVE_MAX', and 'HAS_NON_PREFERRED'. Returns an empty array when within limits.

Updated types

Updated methods

Version 1, Update 127

New features:

  • Grid layouts now support automatic row creation, automatic item positioning, and track reordering:
    • gridAutoTracks: controls whether empty rows are removed automatically. Perfect for pairing with gridItemsPositioning below.
    • gridItemsPositioning: controls whether children automatically flow into the next available cell in row-major order, similar to CSS grid-auto-flow: row.
    • reorderRows and reorderColumns: move one or more rows or columns to a new position in the grid, returning the full set of track movements.
  • The NoiseEffect and TextureEffect types now expose noiseSizeVector, allowing the noise size to be set independently along the x and y axes. The existing scalar noiseSize continues to work and now mirrors noiseSizeVector.x.
  • The SectionNode now expose strokes and cornerRadius, allowing plugins to modify those values on Sections.

Version 1, Update 124

Dev Mode: focused node in Plugin API

Plugins running in Figma Dev Mode can now read the node currently focused in the Dev Mode focus view. The existing figma.currentPage.focusedNode property (already used in Figma Slides and Figma Buzz for the focused slide or asset) now returns that node in Dev Mode as well. See Working in Dev Mode for more on building plugins for Dev Mode.

Version 1, Update 123

Expanded support for Figma Draw features

You can now use the Plugin API to view and manipulate Figma Draw features, including:

  • Creating and editing text on a path nodes
  • Viewing and adding transforms in transform groups
  • Viewing and adding stretch brush, scatter brush, and dynamic strokes
  • Modifying stroke width profiles to create custom variable width strokes or using preset stroke width profiles

We've also updated the documentation around setting pattern fills and strokes.

New types

New methods

New properties