On this page

Houdini Engine for Unreal supports both inputting and outputting meshes to/from Unreal.

Input

There are multiple ways to import meshes from Unreal to Houdini. You can use geometry:

You can import sockets, colliders, and LOD static meshes into Houdini as groups and attributes. Check the Export checkboxes on the input UI.

Output

Mesh Generation

Houdini assets contain Objects, Geos, and Parts. These control how the geometery in Unreal splits into multiple meshes.

  • Object (OBJ) nodes are Houdini’s transform nodes. They can contain other OBJ nodes or geometry (SOP) nodes.

  • Geo (SOP) nodes are Houdini’s geometry container nodes. They don’t contain geometry but contain parts.

  • Parts contain the actual mesh/geometry/attribute data.

You can use packed primitives to separate multiples meshes in your output. An example is to create multiple parts from merged geometry. See Packed Primitives for more information.

A pack primitive creates its own part and Static Mesh. If you don’t copy the packed primitive multiple times, a static mesh is created instead of an instancer. The only thing that may split meshes further is collision groups or LOD groups.

To create a packed primitive:

  1. Connect the output of a geometry into the input of a Pack SOP.

  2. Repeat these steps for each geometry into a separate Pack SOP.

  3. Connect the output of each Pack SOP into the input of a Merge SOP.

    • When you import the HDA, the geometry will come in as a single static mesh. Once you bake it, they become separate Unreal Actors.

A Statich mesh is generated and regroups its LODS. Another static mesh is created for the non-collidable and non-LOD geometry. Additional meshes are created for each complex collision geometry group. Other groups in the asset will not split parts into separate meshes.

All the meshes generated by the asset are listed with their materials in the Houdini Outputs section.

This section details the type and number of colliders, LODs, sockets generated by the plugin for its corresponding Static Mesh.

Split Meshes

The latest versions of the plugin support multiple meshes on a single HDA output node. This feature is only available with unpacked primitives.

Since older versions of the plugin did not support this, there may be differences in behaviour when using older HDA files.

To turn off this feature:

  1. In the HDA Component, turn off the checkbox Split Mesh Support. The option to turn off this feature will be removed soon.

Different meshes can be created by appending a unique identifier to the collision or lod group names. For example, rendered_collision_geo_A and rendererd_collision_geo_B will create two meshes. A group called lod_1_A will assign an LOD to the first mesh.

Attributes

General

Houdini Engine for Unreal can recognize and convert various attributes to their Unreal equivalent.

Attribute Name

Owner

Type

Description

N

point, vertex

float3

Set the normals of the mesh. The plug-in can recompute the normals automatically. You can control this by changing the value of the Recompute Normals settings, located in the Static Mesh Build Settings part of the plug-in settings.

If normals are present, you can also have the tangents to be automatically recomputed by changing the Recompute Tangents plug-in settings.

uv

point, vertex

float2

Set the UV sets of the mesh. You can use up to eight different UV sets naming them uv, uv2..uv8

Cd

any

float3, float4

Set the vertex colors of the mesh

unreal_lightmap_resolution

any

int

Set the lightmap resolution of the mesh

unreal_material

point, vertex

string

Set the Unreal material on the faces of a mesh. The value of this attribute must be set to reference a material

All the different materials used by a mesh are in the Houdini Outputs section of the details panel. See Materials for more information.

unreal_face_smoothing_mask

prim

int

Set the mesh smoothing mask data

unreal_generated_mesh_name

any

string

Set the name used for the generated mesh

You can also add sockets and colliders to the mesh using special groups.

Houdini to Unreal

This table lists special attributes to set in an HDA and the plugin recognizes when you translate the Houdini data to Unreal outputs. You can setup these attributes on your assets to control and override some properties and behaviours of the generated Unreal outputs. See Attributes and Groups for more information.

Meshes

Attribute Name

Owner

Type

Description

unreal_lightmap_resolution

any

int

Lightmap resolution for the mesh component

unreal_output_name

any

string

Name to be used for the output. Default value for single landscape actor: Landscape

unreal_disable_gamma_correction

any

int

Meshes

If not 0, gamma correction is not performed when reading the 'Cd' attribute.

unreal_generated_mesh_name

any

string

(deprecated) use unreal_output_name instead

unreal_nanite_enabled

any

int

Enables Nanite on the generated meshes (UE5)

unreal_nanite_position_precision

any

int

The position precision attribute to be used for Nanite Meshes (UE5)

unreal_nanite_percent_triangles

any

int

The percent of triangles to keep for Nanite Meshes, zero by default (no triangles) (UE5)

Meshes Nanite

(UE5 only) The plugin can control the Nanite settings on the meshes found in the outputs of your HDA by using the following attributes:

Attribute Name

Owner

Type

Description

unreal_nanite_enabled

any

int

Turns on Nanite on the generated meshes.

unreal_nanite_position_precision

any

int

The position precision attribute for Nanite Meshes.

unreal_nanite_percent_triangles

any

int

The percent of triangles to keep for Nanite Meshes, zero by default (no triangles).

unreal_nanite_fallback_relative_error

any

float

Fallback relative error - sets the maximum amount of relative error allowed when removing details from the source mesh. This relative error value doesn’t have a unit size and is relative to the size of the mesh.

unreal_nanite_trim_relative_error

any

float

Trim relative error - All detail in the source mesh with less visual impact than this relative error amount is removed. This relative error value doesn’t have a unit size and is relative to the size of the mesh.

Having any of those three attributes automatically enables Nanite on the generated Static Meshes. This only applies to refined meshes, as Houdini Proxy Meshes do not support Nanite.

Unreal to Houdini

See Attributes Inputs for a list of mesh attributes.

Meshes