Houdini 20.0 Unreal

Introduction to Houdini Engine for Unreal

Overview of Houdini Engine for unreal, compatibility, and use cases

On this page

Houdini Engine for Unreal plug-in brings Houdini’s powerful and flexible procedural workflow into Unreal through Houdini Digital Assets (.hda). A Houdini artist can create a packaged digital assets with a network of nodes, inputs, and promoted paramteers. These can then be passed onto Unreal for an artist to make changes without using Houdini.

General information:

Compatibility:

Currently, the plugins has binaries for UE5.3, 5.2, 5.1, 5.0, UE4.27 and UE4.26, and is linked with the latest production build of Houdini.

Source code for the plugin is available on this repository for UE5.3, 5.2, 5.1, 5.0, UE4.27, UE4.26.

Note

UE5.1 and UE5.0 use the same source files/branches, the 5.0 sources are also intended to be used with 5.1.

Support and reporting bugs:

What are Houdini Digital Assets (HDAs)

Houdini uses a node-based workflow and you build scenes using a network of nodes. These networks can be tools, assets, landscapes, geometry, curves, skeletal mesh, etc. From there, you can package these network of nodes into a Houdini Digital Asset known as an HDA.

See Introduction to digital assets for more information.

Plug-in session types

This section briefly explains the differences between Session, Session Sync, and Node Sync and some common use cases for each.

Houdini Engine Session

Houdini Engine Session allows you to import an HDA into Unreal and edit its inputs and parameters without Houdini. The packaged HDA could be a tool, procedural workflow, or assets using Houdini’s nodes and networks. The exposed inputs and paramters can then be further edited using Houdini asset details panel in Unreal. See Create a Session for more information.

Houdini Engine Session use case

Houdini Engine Session can be useful for Technical Artists with a team of artists who may not be familiar with Houdini. The Technical Artist can create a tool or procedural workflow with a set inputs and parameters that are exposed in the packaged HDA. These settings are then available to the artist in Unreal Engine through the Houdini Engine details panel.

See Using procedural modeling assets in Unreal for a workflow example.

Session Sync

Session Sync supports all the features of Houdini Engine Session with a few additions. When you launch Session Sync, it opens a new Houdini that is synced between the Unreal and Houdini. You can sync changes in real-time to Houdini to allow for quick iteration and troubleshooting. See Using Session Sync for more information.

Some additional benefits include:

  • Houdini changes automatically update in Unreal

  • real-time feedback when building assets in Houdini

  • synchronize viewports in Unreal and Houdini

  • send HDA changes between Houdini and Unreal in real-time.

Session Sync use cases

One Session Sync use case is to take parts of your level such as assets to create new content like geometry or simulation. An example is you kit bash a building in Unreal, you can then bring them into Houdini to build interiors, add building parts, re-UV it. From there, you can see the results in Unreal or export it in Houdini as a separate asset.

Another use case is to prototype tools with better context. You have an ivy tool and try to scatter it around your level in Unreal. The iterations to the tool would require constant back and forth to get the desired results. Instead, you can send the assets from Unreal into Houdini to iterate the tool while still retaining the context of the assets.

Node Sync

Node Sync allows you transfer assets between Unreal and Houdini without a dedicated HDA. You can send any type of asset that’s supported by HDA inputs and fetech any asset types that can be outputted by the plugin. See Inputs and Outputs for more information on supported types.

Node Sync use case

One Node Sync use case is to test parts of your tool or node network that’s work in progress instead of packaging it as an HDA. An example is you have a building asset in Houdini, you can fetch the node in Unreal to check you it works with materials, curves, and the geometry are the right dimensions.

This also saves time for tools as they become larger and Node Sync doesn’t require you to constantly rebuild the HDA.

Houdini Niagara

The Houdini-Niagara plugin allows you to exchange point cloud data between Houdini and Unreal’s Niagara system using the HoudiniNiagara Data Interface. You can export Houdini’s attribute data as HoudiniPointCache assets. These can then be imported into Unreal to use the Niagara systems and emitters to create complex effects and particle systems.

Inputs

Input refers to sending data from Unreal to a Houdini Digital Asset (HDA). When you make changes to the input, it’s automatically pushed to the HDA and causes the output to be re-evaluated and recooked. See Inputs for more information.

Houdini Engine for Unreal supports the following input types:

The type of objects currently supported by the plugin’s inputs:

  • Static Mesh

  • Static Mesh Components

  • Instanced Static Mesh Component

  • Skeletal Mesh

  • Skeletal Mesh Components

  • BSP Brushes

  • Geometry Collection

  • Geometry Collection Component

  • Houdini Spline Components (Curve IN)

  • Unreal Spline Components

  • Landscape

  • Landscape Splines

  • Spline Mesh Components

  • Foliage

  • Data Tables

  • Actors

  • Blueprints

  • Houdini Asset Actors

  • Level Instances

  • Packed Level Actors

  • Animations (beta)

Outputs

Output refers to sending data from a Houdini Digital Asset (HDA) to Unreal. See Outputs for more information.

Houdini Engines for Unreal supports the following output types:

  • Static Meshes

  • Instancers and Foliage

  • Landscapes

  • Spline Component

  • Data Tables

  • Geometry Collection

  • Skeletal Mesh

  • Landscape Splines

Parameters

Parameters are the options in a node. These are important in HDAs to promote parameters and customize which parameters you want exposed for the end user. These parameters then appear as options in Unreal to modify.

Example of promoted parameters for a procedural modeling fence
Promoted parameters as available options in Unreal

The following parameters are supported:

  • integers

  • floats

  • strings

  • buttons

  • colors

  • files

  • folders

  • labels

  • multiparams

  • ramps

  • separators

  • toggles

  • operator path

  • menus

Recook, rebuild, and bake assets

When you import HDAs into Unreal, you can see these parameters in the Houdini Engine details panel. The parameters to rebuild, cook, or bake an asset controls the global behavior of your HDAs.

Recook assets

When you recook an asset, the HDA processes and updates whether you made changes or not in the parameters. The term cooking is the same concept as in Houdini. The outputs of the HDA are recalculated when the cook is triggered. To see changes to your inputs and parameters within Unreal, you have to recook the asset.

Rebuild assets

When you rebuild, the asset gets recooked and also reimports the HDA. This is useful when you have made changes in Houdini to your HDA and you want the new inputs or parameters to appear.

Bake assets

When you bake an asset, this creates an Unreal asset or actor from your HDA. The original HDA remains unchanged but the new Unreal asset or actor is no longer connected to the HDA and all of its parameters.

This new Unreal asset or actor no longer requires the Houdini Engine for Unreal to function.

Unreal

Getting started

Basics

Using Houdini Engine

Reference

Houdini Engine for Unreal Engine is a plug-in that allows integration of Houdini technology into Unreal. Session Sync and Node Sync are two features of the Houdini Engine Plugin to interact with a live session of Houdini.

This plug-in brings Houdini’s powerful and flexible procedural workflow into Unreal Engine through Houdini Digital Assets. Artists can interactively adjust asset parameters inside the editor and use Unreal assets as inputs. Houdini’s procedural engine will then “cook” the asset and the results will be available in the editor without the need for baking.

General information:

Compatibility:

Currently, the plugins has binaries that have been built for UE5.3, 5.2, 5.1, 5.0, UE4.27 and UE4.26, and is linked with the latest production build of Houdini.

Source code for the plugin is available on this repository for UE5.3, 5.2, 5.1, 5.0, UE4.27, UE4.26.

Note

UE5.1 and UE5.0 use the same source files/branches, the 5.0 sources are also intended to be used with 5.1.

Support and reporting bugs:

SessionSync

The Houdini Engine SessionSync feature allows you to connect to a session of Houdini Engine running inside Houdini with its GUI. It supports all the features of the regular Houdini Engine workflow and additional features specific to Session Sync.

Houdini Engine uses a non-UI version of Houdini while Session Sync lets you see and interact with the Houdini session through Houdini’s user interface. It also synchronizes changes made in either Unreal or Houdini so both programs can make changes and see the same results.

NodeSync

NodeSync is a feature for the Houdini Unreal Engine Plugin that enables sharing assets between Unreal and Houdini Session Sync. It works for Skeletal and static meshes.

You can send and receive data to and from Unreal without a dedicated HDA. It works with Static and Skeletal meshes as well as Actors.

Houdini Niagara

The Houdini-Niagara plugin allows you to exchange point cloud data between Houdini and Unreal’s Niagara system using the HoudiniNiagara Data Interface. You can export Houdini’s attribute data as HoudiniPointCache assets. These can then be imported into Unreal to use the Niagara systems and emitters to create complex effects and particle systems.