Houdini 20.0 Unreal

Assets

How to import and export assets

On this page

Houdini Asset

Unreal creates a HoudiniAsset when you import a Houdini digital assset file (.hda, .hdalc) into an Unreal project. For education licenses, you can also import .hdanc file types.

The HoudiniAsset’s .uasset file asssociates with the .hda file and stores a copy of its binary contents. The HDA copy is only used if the source HDA is not found.

If you drag a HoudiniAsset from the Content Browser into the viewport, it spawns a HoudiniAssetActor. This actor uses a HoudiniAssetComponent as its main root component.

The HoudiniAssetComponent is the main component that handles cooking, parameters, inputs and outputs of the digital asset in the level.

Note

To check if your assets run inside Unreal via Houdini Engine, look at the HAPI_CLIENTNAME environment variable and verify it’s set to unreal.

Export Houdini digital asset

This covers a basic way to export an asset from Houdini into a Houdini Digital Asset. Visit the Digital Assset documentation to learn how digital assets work and common uses.

  1. In Houdini, select the nodes for your asset. Make sure to set the display flag on the node you want to render.

  2. In the main menu bar, click New Digital Asset From Selection...

  3. Name your digital asset and click Accept.

  4. In the Edit Operation Type Properties pop-up window, make any changes to your settings.

  5. Click Accept.

This creates a new subnet node.

Import asset into Unreal

  1. In Unreal, open the content browser.

  2. Left-click drag your HDA file into the content browser. Your HDA file should appear as a HoudiniAsset.

  3. Left-click drag your HoudiniAsset into the viewport.

Your HoudiniAsset now appears in your viewport. You can also import Expanded HDA files (HDA folders) into an Unreal project. Expanded HDA files doesn’t store a local copy of the asset’s content and requires the original file.

Note

Imported assets uses relative paths if it’s on the same drive as your project. Assets on different drives uses absolute paths. You should save the HDA file on the same drive as your project if you use a form of source control.

Updating Assets

After you import your digital asset, you can make revisions in Houdini without having to re-export and re-import your asset.

  1. In Houdini, make your changes to the nodes and/or node network.

  2. Right-click the subnet node and click Save Node Type.

  3. In Unreal’s content browser, right-click your HoudiniAsset and click Rebuild All Instances. This triggers a rebuild of all instances of that asset.

You should see your HoudiniAsset updates in your viewport.

Houdini Asset Details

In the Details panel for a HoudiniAssetActor, the Houdini Engine section lists a number of options and actions that can be performed on the Houdini Asset.

Status

The first thing that is displayed under the Houdini Engine logo is the Session Status. This indicates the current status of the Houdini Engine session, and lets you know whether or not the plugin is correctly talking to Houdini.

The statuses can be:

Status

Description

Not Started

The Houdini Engine session has not been initialized yet. (the plugin only starts a session after instantiating a new HDA or modifying an existing HDA)

Ready

The Houdini Engine Session was successfully created and the plugin is actively communicating with Houdini Engine

Stopped

The Houdini Engine session was manually interupted by the user

Failed

The plugin was unable to start a Houdini Engine session. The logs will likely indicate the reason of the failure

Lost

The plugin had lots contact with the Houdini Engine Session. This likely indicates that either Houdini / HARS was manually interrupted, or that it crashed

Failed - No License

This indicates that the plugin was unable to start a Houdini Engine session due to the lack of Houdini Engine / Houdini License

Disabled

This indicates that the session type is set to None in the plugin settings. The plugin will not try to create a Houdini Engine session, and will not be able to instantiate/cook HDAs

Generate

In the context of a HoudiniAssetActor, Cooking refers to the same concept as in Houdini. The outputs of a Digital Asset inside Houdini are recalculated when a cook is triggered. This generally happens either manually by a forced recook or (optionally) automatically when a parameter or input of the Houdini Asset changes.

Assets can also be cooked or rebuilt via Console Commands or Keyboard Shortcuts.

Setting

Description

Rebuild

Reimports the asset’s .hda file and forces the asset to recook even if no change has been detected. This is useful when the underlying .hda has been updated or if something has gotten out of sync. Rebuilding an HDA will update its interface, and any new parameter or input will be visible in the details panel. Value of existing parameter or input will be kept after a rebuild

Recook

The Houdini Engine Session was successfully created and the plugin is actively communicating with Houdini Engine

Reset Parameters

Resets all of the asset’s parameters to their default state saved in the Digital Asset

Temporary Cook Folder

Indicates the directory that will be used to save the temporary output files generated by the Houdini Asset when cooking. This can also be set via the “unreal_temp_folder” attribute

Most Houdini assets need to have some of their temporary cooked content written to a uasset file. Static Meshes, Materials, Textures, Landscape Infos etc. will be stored in the Temporary Cook Folder (by default Game/HoudiniEngine/Temp). All unused and unreferenced assets stored in this folder can be cleaned up automatically by using the Clean Houdini Engine Temp Folder entry in the Houdini Engine menu.

Bake

Baking refers to the creation of native Unreal assets or actors based on the outputs of the Houdini asset. Contrary to cooked outputs, which are still owned by the Houdini Asset Actor, and will be destroyed with it, baked output are independant, and are not tied to the Houdini Asset that generated them.

Setting

Description

Bake

Bake all the outputs of the Houdini Asset. The type of asset produced when baking can be control by the combo box next to the bake button

Actor

Can be used to bake the current asset outputs to Actors in the world. Baking to Actors will bake all outputs and then spawns new individual Unreal-native actors for each outputa. The new actors will be added to a new folder in the World Outliner

Blueprint

Can be used to bake the current asset outputs to a BluePrint Actor in the content browser. All of the Houdini Asset’s outputs are baked to .uasset files in the bake folder, and a new Blueprint Actor class is created, which has components that uses all the baked outputs

Foliage

Bakes the instanced static mesh components generated by the asset to unreal’s foliage system, adding new foliage type for each instanced mesh. This option is only enabled if your asset generates instances

World Outliner (not in V2)

Bakes a single Static Mesh and sets it on the first World Outliner input’s actor, then disconnect the input. This option is only available if the asset has at least one world outliner input and generates one static mesh

Bake Options can also be used to control or automate some of the baking process:

Setting

Description

Remove HDA output after Bake

After baking, all the temporary/cook outputs of the HDA will be automatically destroyed. This is especially usefull when baking to Actors, as this avoids having both baked and cooked outputs overlapping

Auto Bake

When enabled, the temporary outputs of the Houdini Assets are automnatically baked after a succesfull cook

Recenter Baked Actors

When enabled, this option automatically recenters the position of all the baked Actors, making them use the center of their bounding box instead of the HDA’s location

Replace previous Bake

When enabled, baking will always overwrite the previous bake’s results. When disabled, the baked files will be created incrementally, and will never replace previous bake files

Bake Folder

This can be used to set the directory where baked output assets will be saved if the “unreal_bake_folder” attribute is not set on the output. The Bake Folder is determined by checking the “unreal_bake_folder” attribute first (prim, detail), then this property, and lastly the default folder configured in the plugin settings

All Houdini assets present in the level can be replaced automatically by their baked counterpart by using the Bake And Replace All Houdini Assets entry in the file menu. This process cannot be reverted and should only be used with final content.

Baking all or only selected Houdini Asset Actors can also be achieved via Console Commands or Keyboard Shortcuts.

Asset Options

Cook Triggers

Setting

Description

On Parameter/Input change

When any parameter or input is changed on the HDA, a cook of the asset will be triggered. Disabling this allows parameters/inputs to be changed without recooking the ouputs. Cooking must then be performed manually by pressing on the Recook button. This may be desired for complex assets that have a long cooking time

On Transform change

When enabled, translating, rotating or scaling the Houdini Asset Actor in Unreal will automatically trigger a recook of the HDA

Recenter Baked Actors

When enabled, this option automatically recenters the position of all the baked Actors, making them use the center of their bounding box instead of the HDA’s location

On Asset Input Cook

When using another HDA in an Asset Input, this option lets you decide if this HDA should be recooked automatically when its input HDA is cooked (ie, after modifying its parameters or inputs)

Miscellaneous

Setting

Description

Push transform to Houdini

Indicates whether or not the Unreal world transform should be set on the digital asset’s input node in Houdini

Do not generate outputs

Prevents the Houdini Asset from generating outputs. The asset will be cooked in Houdini, but will not produce anything in Unreal. This can be useful when chaining multiple Houdini Assets together via Asset Inputs

Output templated geos

When enabled, outputs will be created for templated nodes found in the HDA. Such templated outputs are editor-only, and will, by default, use a wireframe material. They can be useful to visualize helper geometry (like a cutting plane for example) directly in the Unreal Editor

Input Curves & Editable Output Curves

Setting

Description

Enable Curve Settings

By default the settings in this section get their values from the plugin’s default settings. To override any of these settings on a particular Houdini Asset Component, enable this setting

Disable rot & scale Attributes

If this is checked, the plugin will not create rot and scale attributes on the points of input curves and editable output curves that are sent to Houdini by this component. The default value for this setting can be configured in the plugin settings: Curve settings documentation.

Help and Debug

Setting

Description

Show Cook log

Displays the contents of the Houdini cook log. This is useful for troubleshooting/debugging the Digital Asset

Asset Help

Displays the contents of the Digital Asset help. The help is created via the Help tab in the Operator Type Properties window for the Digital Asset in Houdini

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.