image.png

Example File:

Instancing is a powerful feature inside Octane. There are a few ways to approach it and also a few gotchas to be aware of. One of the most powerful and easy to use ways of instancing in Houdini is using packed primitives. See Object Level Instancing for the alternative method.

How to enable Packed Instancing

Packed primitives are incredibly powerful and easy to use. Octane supports packed primitive instancing.

All you need to get this to work is to pack your geo - you can do this using the pack node, or via some of the pack options in nodes like copy to points, copy and transform etc.

image.png

And then enable packed instancing in your octane object parmeters.

image.png

Instance Attributes

You can find a guide on how to handle instance attributes here:

Instance Attributes

Gotchas - things to be aware of

  1. Materials can either be assigned to the geometry before packing it, or on the object level. Any materials assigned on the packed primitives will be ignored when packed instancing is enabled.

    Material assignment before packing

    Material assignment before packing

    Material assignment in object parms

    Material assignment in object parms

  2. As of Octane 2026 using packed instances has a longer processing time than using object level instances. We have goals on improving this, but for now it’s a good thing to be aware of. For scenes with many millions of instances it is best to use object level instancing.

  3. You cannot mix packed and unpacked geo in the same obj when using packed instancing, and make sure all objects have the same.

  4. Packed alembics are currently NOT supported

  5. Since the packed instances are all inside one object, you cannot set separate octane object parameter settings for each (for example light id masks, trace sets, geometry settings etc). These settings are all taken from the one object. If you need more flexibility here you might want to use Object Level Instancing

  6. This method does not allow instancing lights - namely the universal light (you can instance normal geo with emissive materials of course). For this you will need to use Object Level Instancing

  7. This method also doesn’t currently allow for instancing volumes, even when inside packed primitives. For this you will also want to use Object Level Instancing