I was wondering how I create a wrapper for a Houdini asset actor, and re-use that wrapper and recook the asset after updating parameters via c++. The examples I have seen provided all seem to instantiate a new HDA every time instead of retaining a pointer to one and recooking it.

I have a few multiparm parameters on my HDA, and whenever I try to recook after the first time, the parameters on my actor appear to pass in the wrong data to the HDA leading to crashes/hangs. It works just fine if I instantiate each time, but I want to be able to change the existing HDA. My main problem is I'm not sure on what the order of operations has to be, as it seems that if I don't allow the HDA to resize the multiparm array, I can't pass in the update multiparm parameters. It looks like I need at least 2 cooks. 1 to resize the arrays, then another to pass the multiparm values to the new entries.

Are there any code examples out there showing how to use the c++ API for Unreal in this way, preferably with multiparm parameters as that seems to be what is causing the most issues when recooking.