skipInvisibleInstanceChildren
When enabled, causes all node properties and methods to skip over invisible nodes (and their descendants) inside instances
.
This makes operations like document traversal much faster.
info
Defaults to true in Figma Dev Mode and false in Figma and FigJam
Signature
skipInvisibleInstanceChildren: boolean
Remarks
Accessing and modifying invisible nodes and their descendants inside instances can be slow with the plugin API.
This is especially true in large documents with tens of thousands of nodes where a call to findAll
might come across many of these invisible instance children.
If your plugin does not need access to these nodes, we recommend setting figma.skipInvisibleInstanceChildren = true
as that often makes document traversal significantly faster.
When this flag is enabled, it will not be possible to access invisible nodes (and their descendants) inside instances.
This means properties such as children
and methods such as findAll
will exclude these nodes.
figma.getNodeById
will return null
for these nodes, and accessing any property on an existing node object for one of these nodes will throw an error.
For example, suppose that a portion of the document tree looks like this:
Frame (visible) → Instance (visible) → Frame (invisible) → Text (visible)
The last two frame and text nodes cannot be accessed after setting figma.skipInvisibleInstanceChildren = true
.
The benefit of enabling this flag is that document traversal methods, findAll
and findOne
, can be up to several times faster in large documents that have invisible instance children.
findAllWithCriteria
can be up to hundreds of times faster in large documents.