Houdini Engine for Unreal
 All Files Pages
Assets

Houdini Asset

A HoudiniAsset is created by Importing a Houdini .hda file into an Unreal project.

The HoudiniAsset's .uasset file is associated with the corresponding .hda file and stores a copy of the binary contents of that .hda. The copy of the .hda content will only be used if the source .hda is not found.

Dragging a HoudiniAsset into the viewport will spawn a HoudiniAssetActor.

Unreal_AssetContext.png

When changing the content of the .hda file in Houdini, you can update the .uasset by right-clicking on it in the Content Browser and selecting Reimport or Rebuild All Instances. In addition Rebuild All Instances will trigger a rebuild of all instances of that asset.

Expanded hda files (hda folders) can also be imported into an Unreal project by selection the file in the hda folder. However, Expanded hda files will not store a local copy of the asset's content, and require the original file to be present.

The Asset will be imported using relative paths if it is on the same drive as your project, else, absolute paths will be used. If you intend on using some form of source control for your project / asset, we recommend that you save them on the same drive as your project, to be sure that they use relative paths.

Note
If you need to know if your assets are running inside Unreal via Houdini Engine, you should look for the HAPI_CLIENT_NAME environment variable. The Houdini-Engine for Unreal plug-in will set it to "unreal" after successfully initializing HAPI.

Asset Details Panel

Unreal_AssetOptions.png

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

Options

  • Enable Cooking on Parameter Change When any parameter is changed, triggers a cook of the asset. Disabling this allows parameters to be changed without recooking the ouputs. Cooking must then be performed manually. This may be desired for complex assets that have a long cooking time.
  • Upload Transforms to Houdini Engine Whether or not to set the Unreal world transform on the digital asset's input node in Houdini.
  • Transform Change Triggers Cooks Translating, rotating or scaling the Asset Actor in Unreal will trigger a recook.
  • Use Native Houdini Materials Houdini materials applied to output nodes will be marshaled to Unreal. See Materials for details.
  • Cooking Triggers Downstream Cooks When the digital asset is cooked, will trigger a cook on other digital assets for which the given asset is an input. See Asset Inputs for details.

Cooking

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

  • Recook Asset Triggers a cook of the outputs of the asset in Houdini. This is useful mostly when the option Enabled Cooking on Parameter Change is disabled.
  • Rebuild Asset 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 changed or if something has gotten out of sync.
  • Reset Parameters Resets the asset parameters to the saved default state as specified in the Digital Asset.

Some assets, mainly the one creating landscapes, or assets that create textures from a Houdini material, will need to have some of their temporary cook content written to a file. This temporary content will be stored in the Temporary Cook Folder (Game/HoudiniEngine/Temp). All unused and unreferenced assets stored in this folder can be cleaned up automatcally by using the Clean Houdini Engine Temp Folder entry in the file menu.

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

Baking

Baking refers to creating Unreal .uasset files based on the outputs of the asset.

  • Bake Blueprint Bakes all outputs into .uasset files and creates a new Blueprint Actor class which has components which use the baked outputs.
  • Replace with Blueprint: Does the same as Bake Blueprint and then spawns an Actor based on the new Blueprint and replaces the current HoudiniAssetActor with it in the map.
  • Bake to Actors Bakes all ouputs and then spawns new individual Unreal-native actors for each ouput. For example each StaticMeshComponent will spawn a StaticMeshActor. Note that an InstancedStaticMeshComponent will spawn StaticMeshActors as well, because there is no native InstancedStaticMeshActor in Unreal. The new actors will be added to a new folder in the World Outliner.

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 .

Help and Debugging

  • Fetch Cook Log Displays the contents of the Houdini cook log. This is useful for 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.