Houdini Engine for Unreal
 All Files Pages
Debugging

Overview

When using the plug-in, Houdini Engine is internally managing a Houdini scene:

  • When a Houdini Asset is instantiated inside Unreal, Houdini Engine actually instantiates that Houdini asset inside the Houdini scene.
  • When input geometries from Unreal are connected to the Houdini asset, the Unreal geometry is marshalled to Houdini and replicated in an Input node in the Houdini scene.
  • Asset Parameters that are set in Unreal are also mirrored in the Houdini scene.
  • Manipulators, like Curves and Handles are also replicated in and linked to the Houdini scene.
  • Finally, the geometries that the Houdini asset Outputs from the Houdini scene are replicated back into Unreal.

Because of that, the internal Houdini scene is at the very core of how Houdini Engine works. This internal Houdini Scene is normally hidden away from the user, as by default, the plugin uses a Houdini Engine session, that uses a headless version of Houdini.

However, there are times when there is a need to investigate why an asset isn't behaving as expected. For that, being able to inspect the internal Houdini scene can be very useful. This is especially true in cases where an asset is behaving correctly in standalone Houdini, but misbehaving in Unreal.

Debugging Workflows

Unreal_Debugging.png

In the Houdini Engine menu in Unreal, there are options to open, or save out the internal Houdini scene. This will dump the current state of the internal houdini scene to a .hip file, and will let you inspect it in a separate Houdini UI session. This is extremely helpful when troubleshooting various Houdini Engine issues. This also means that inspecting the internal Houdini scene requires a license capable of running the Houdini UI.

Another interesting use of this debugging feature is to see exactly what data and metadata is being passed into the Houdini scene when inputting data from Unreal. For example, simply create a null asset with an input, and connect an Unreal geometry to it. The exact data and metadata available in Houdini can then be directly seen from the saved Houdini scene. This is much quicker and reliable than just checking the documentations.

Another useful workflow is to author assets while viewing this internal Houdini scene. The benefit is that the replicated Unreal geometry is immediately available in this Houdini scene. Asset authors can directly test how the Unreal geometry would behave in the asset. The author can also have Houdini and Unreal running at the same time. Then, the author can make changes to the asset in the Houdini UI, save them in the Houdini UI, and Rebuild the asset inside Unreal to immediately see the changes.

Debugging with Session Sync

Unreal_DebuggingWindow.png

Session Sync was added in Houdini 18.5, and is both a replacement and improvement over the Houdini Engine Debugger that was avaialble in previous versions of Houdini.

Houdini Engine SessionSync can be accessed from the Windows Menu in Houdini. It allows a Houdini Engine Session to be created in a running interactive instance of the Houdini application, through an RPC connection.

This allows fast iteration when debugging a digital asset, because the author can see the changes to the Houdini Scene in realtime as they are enacted by the connected plug-in. This requires that the plug-in is configured for a remote Session, and that the session type and parameter in Unreal matches those used by Session Sync in Houdini. For more information, see the Houdini Documentation.

Session Sync also has the added ability to push changes made in Houdini to Unreal. This is extremly usefull, as when debugging an asset, you can unlock it in Houdini, troubleshoot and fix the issue, while seeing the unreal outputs update in relatime. Once the issue is fixed, can save and update the asset.