My niagara module inputs do not show up when I add it to an emitter

I have solved my problem. I think my original problem was due to me not understanding how the Niagara scripting language works. I think it is an interesting hybrid between a “normal” control flow language and a data flow language, but all the data flow bits that aren’t used simply “disappear”. And the parameters that I had added to the module weren’t actually used (see below), therefore apparently the system decided to just remove them.

I originally had a method on my data interface that I called that had only a side effect (initialising my data interface) but it didn’t return anything. Apparently that made the data interface module input parameter disappear too.

I fixed it by having an output parameter on the DI initialise method (success boolean). Once I returned that from my module as an output the DI input paremeter immediately showed up too.

But: my C++ initialise method still wasn’t called. But as soon as I actually used the output parameter of my module (by assigning it to an emitter variable) everything suddenly started working.