Houdini Engine for Unreal
 All Files Pages

Houdini Engines for Unreal currently supports outputting four types of geometries from Houdini Assets:

Geometries are outputted from the nodes that currently have the display flag set. For SOP-type assets, the geometry will be outputted from the display SOP node within the sub-network. For Object-type assets, the display node of each Object sub-network will be outputted.

By default, the plug-in does not use the output nodes, but will output the geometry of the nodes that have the display flag. If you enable the "use output nodes" checkbox in the asset options in the details panel, the plugin will use the HDA's output nodes, and will only use the display flag node if no output nodes are found.

Static Meshes

Most Houdini assets will produce Static Meshes upon cook. The generated Static Meshes Components corresponding to the display nodes will be attached to the Houdini Asset Actor, and listed in the Houdini Outputs section in the details panel. They can be baked in order to separate them from the asset and convert them to standalone Static Meshes available in the content browser.


The Houdini Outputs section will also display the materials assigned to each generated meshes, and give you the option to override them either by drag and dropping or selecting a Material in the drop down list.

Generated meshes can also have colliders and sockets assigned to them. Those can be visualized in the Static Mesh Editor by double clicking on the mesh thumbnail in the Details panel.

For more information on the mesh generation mechanism, please consult Meshes.

In version 2, Static Mesh creation time has been optimized and now uses Mesh Descriptions. You can also decide to use an even faster Proxy Mesh generation while editing the HDA. The ProxyMeshes can be automatically refined to Static Mesh, either on a timer, when saving/playing the level, or manually. To enable them, tick "Enable Proxy Mesh" in the project settings.

Proxy Meshes were added to provide a faster visual feedback when modifying an HDA, but are no mean considered as an asset's "final" output. They will only create their main level LOD, and won't have any colliders, and cannot be instanced.

You can clearly see that an HDA is using proxy meshes, as each of its proxy will display a Houdini Logo sprite.


In order to easily separate multiple meshes in your output, you can simply pack each mesh into a pack primitive before merging thenm in your asset's output. Packed primitives are normally used for instancers, but in Version 2, a single pack primitive will always create a Static Mesh instead of an instancer with one instance.

The unreal_output_name attribute can be used to set the output mesh's name.

Instancers And Foliage.

When using packed primitives or attribute instancers, Houdini assets will produce Instanced Static Mesh Components. All the instancers will be listed in the Houdini Outputs sections of the details panel, and labeled "instancer". In a similar way as Static Meshes, if the instanced static geometry was produced by the asset, it will also be listed in the Houdini Output Mesh section. It will be labeled as "instanced" to indicate that the mesh is used by oner of the instancer in the HDA's outputs.

The unreal_output_name attribute can be used to set the output instancer's name.


For more information, please consult Instancers.

In version 2, you now also have the ability to directly create Foliage instances instead of Instanced Static Mesh Components. For that, you will need to add the unreal_foliage int attribute to your instancer, and set its value to 1. If not already existing, new foliage types will be created for the instanced meshes, and the instances added to the current level's foliage actor. When modifying the HDA, the plugin will only modify/update the foliage instances it created, and will not modify or remove manually placed foliage instances.


If your asset outputs one or multiple Heightfield node, then the resulting geometry will be created directly as a Landscape in Unreal.

Generated Landscapes and their materials will be listed in the Houdini Outputs section in the details panel.


The unreal_landscape_tile_actor_type attribute can be set to 1 in order to tell the plugin that it should create LandscapeStreamingProxies and a SharedLandscapeActor instead of multiple Landscape Actors. In version 1, the unreal_landscape_streaming_proxy primitive / detail int attribute was used for a similar purpose.

The unreal_output_name attribute can be used to set the output landscape actor's name. When using streaming proxies, the proxies' shared landscape actor name can be set using the unreal_landscape_shared_actor_name attribute, and the unreal_output_name attribute will control the proxies' names.

For more information, please see Landscapes.

Spline Component

In version 2, it is now possible for HDA to output curves as Spline Components. To do so, add the unreal_output_curve int attribute to the curve, with its value set to 1.

For more information, please consult Curve Output.

Templated Geo Output

In version 2, when the Output Templated Geos asset option is enabled, the plugin has the ability to display an asset's templated geos. This can be used to display helper geometry used to produce the HDA's output, without actually creating an actual output.

Templated geos outputs use a specific wireframe default material. They will not be baked, and will be hidden in-game by default. Only templated meshes are supported, and display geos are never considered templated.

Currently, guide geometries are not supported, but only nodes with the templated flags.

Mesh Build Settings

A number of properties that control the behaviour/creation of the generated Static Meshes (like the default collision presets, the use of MikkTSpace, Distance Field etc..) can be modifed directly on the details panels.

Those properties are normally found in the Static Mesh Components details, or in the Static Mesh Editor. They are listed under "Static Mesh Generation" in the Houdini Asset's details, as "Static Mesh Generation properties" and Static Mesh Build Settings".

They allow overriding the default build settings values set in the plugin settings per Houdini Asset Component. Additionally, they can also be modified procedurally via attributes by using generic property attributes (detail attributes only).

ie: i = 1;