How to update parameters created in a Houdini Digital Asset in Unreal (parameters created in python)

Hi everyone,

Short explanation:
I want to be able to see parameters (of a Houdini Digital Asset) that I created in Houdini’s Python Module, in Unreal.

Long explanation:
I’m creating a Digital Asset in Houdini and want to use it in Unreal. When I create parameters in Houdini in the “Type Properties” window everything is fine and the asset works in Unreal and parameters are visible and can be adjusted.
Now I added some a Python function in the Python Module of Houdini that creates some parameters. I also created a button that when pressed, triggers this function. This all works in Houdini but as soon as I export this to Unreal the button does nothing.
If I use the Sync Session in Unreal (so I have my Houdini and Unreal open at the same time with the same asset) and press on the button (in Unreal), then the parameters do get created in Houdini, but still not in Unreal.
The only solution I found so far is, place the tool in Unreal, go back to Houdini’s “Type Properties” window, save the tool again and press “Revert Layout” in the pop-up window. Only then the parameters created in Python get visible in Unreal. But as soon as I place another HDA in the level I have to do that all over again.
I want the user to use this tool only in Unreal, without reverting the layout all the time in Houdini. Is there away to achieve this?

Thanks in advance, you would really help me out here!

The DCC like Unreal need to be made to support dynamic parameter creation through HAPI. This is not standard in any of the current ports. In general this isn’t great interface design too. A simple fix is to make a dedicated UI/node so you’re not trying to dynamically create UI on the fly. Most engines and DCCs don’t work with dynamic parameter creation, while you can make it work with custom pyqt style interfaces it’s not worth the work and effort to maintain. HAPI is a very limited portal to Houdini and most host for the integration are far more limited in their capabilities.
Good Luck

Thank you for the quick reply, that explains a lot!

For anyone who has the same problem:
I wanted to create a dynamic UI depending on the amount of points of the given input.
I now use a Multiparm Block (folder) with some parameters in it (created in the “Type properties” of the asset itself).
Only the size of this folder and parameter values are changed in Python and this seems to work in Unreal as well.

@LaidlawFX is right, currently working on a UI system that binds with a HDA in Unity and Unreal. Current solution is exporting HDA parameters into JSON than using that info to redo the UI layout with unity or unreal GUI programming.