Houdini 20.0 Nodes Geometry nodes

Find Instances 1.0 geometry node

Find instances of the same geometry pieces and replace them with packed geometry instances.

Since 20.0

This SOP analyzes the geometry to find named pieces with matching topology and replaces them with packed geometry instances. Pieces with the same number of points and primitives and matching volumes are compared by the user defined attribute values.

This is useful if you have a model with a lot of duplicate geometry that’s been copied and pasted and you want to make them instances instead.

It is important to note that the points count and topology are expected to match up between pieces, so you can’t give two pieces of geometry that have the same shape but different topology and get a match. The purpose of this tool is to identify the same pieces that have been copied and replace them to make things more efficient.


When the Mode is set to Extract and Instance or Extract Prototypes, the user can supply a library of prototypes to compare the geometry with in the second input. This can be helpful in keeping prototypes aligned with their studios' assets.



Extract and Instance

Analyze the geometry and create packed geometry instances of the matching pieces. This is useful if you don’t have any customizations to make, as it does the copy to points for you.

Extract Prototypes

Analyze the geometry and output the prototypes in the first output and the instance points in the second output. Connect the prototypes and the instance points to the respective inputs of a Copy to Points SOP, enable the Piece Attribute, and set it to prototype in order to instance the prototypes onto the instance points.

Match Prototypes

Replaces named pieces with packed geometry instances, using the output metadata plugged into the nodes' second input. This is useful if you are working with both low-res and high-res geometry.

Piece Attribute

The attribute used to identify various pieces. If this attribute does not exist, it’ll be created using primitive connectivity.

Cache Comparison

Enable caching the comparison process.

Reference Frame

When Cache Comparison is turned on, specify the frame at which the analysis should be performed. You can do the analysis on a static frame and if your geometry is moving, it will extract the locations and copy those prototypes on to the moving points.

Show Copies


Do nothing.

Color Copies

Adds the specified color to the instances to identify them more easily.

Color per Prototype

Add a random color per prototype and their instances.


The instance color when Show Copies is set to Color Copies.

Transfer Attributes

If there are attributes on your geometry, you can transfer them onto each instance.


Sort by Area

In order to successfully re-orient pieces before comparing their various attributes, it can be helpful to sort the primitives by area.

Scale Method

Match by Scale

Only pieces with matching volume given a user tolerance will be compared.

Allow Uniform Scaling

Resizes the various pieces uniformly after alignment to fit within a unit cube in order to compare pieces with matching volume, given a user tolerance.

Allow Non-Uniform Scaling

All pieces with matching primitive and point counts will be compared. Valid candidates will be transformed non-uniformly in order to match potential prototypes before comparing attribute values.

Max Pre-Pass Iterations

When Scale Method is set to Allow Non-Uniform Scaling all pieces with matching primitive and point count will be compared against one another. Running more pre-pass iterations can speed this considerably. However, since the pre-pass comparisons are sequential, in certain cases this can be a little slower than running all the comparisons in parallel. The pre-pass comparisons will exit as soon as all prototypes have been found, otherwise it’ll run all comparisons on the remaining geometry.

Re Orient

When Scale Method is set to Allow Uniform Scaling, orients pieces using their oriented bounding box beforehand. This can help avoiding false positives.

Volume Tolerance

Pieces with a volume that match within the specified tolerance will be compared to one another.

Compare Attributes

Point Attributes

Specify the point attributes to compare.

Vertex Attributes

Specify the vertex attributes to compare.

Prim Attributes

Specify the primitive attributes to compare.


The tolerance within which each attribute value must fall in order to be considered a match.

See also

Geometry nodes