Hi, I'm working with a setup that uses Houdini Engine to read point clouds for scattering static meshes in Unreal Engine. I'm encountering an issue with material instance overrides.
Currently, I'm using the unreal_uproperty_OverrideMaterials attribute to override the assigned materials. While the override itself works successfully, I can't seem to specify which material slot should receive the override material.
I've attempted various syntax approaches, including:
Prefixing the material path with square brackets to indicate slot index:
/Script/Engine.MaterialInstanceConstant'/Game/P214/Environment/Alley/CityGen/Pavement/Mesh/MI_Pavement_Base_01.MI_Pavement_Base_01'
Modifying the attribute name to include slot numbers:
unreal_uproperty_OverrideMaterials_1
According to the UProperty dump logs:
LogHoudiniEngineRuntime: unreal_uproperty_OverrideMaterials : OverrideMaterials (Override Materials) - UE TYPE: ObjectProperty array - H TYPE: string
This indicates that while Unreal expects an ObjectProperty array, the Houdini attribute type should be a string. I've tried using both string and string array types in Houdini, but neither approach seems to work for specifying material slots. The plugin version is at 20.0.590, and unreal version is 5.2, not sure if this affects the behavior though.
Is this functionality unsupported, or am I missing something in my implementation? Any information would be greatly appreciated.