ADecalActor, how to set materials dynamically (C++)


Try as I might, I want to set a new material to a ADecalActor placed in my world. The compiling phase goes through but fails the linking phase.

unresolved external symbol "public: void __cdecl ADecalActor::SetDecalMaterial(class UMaterialInterface *)" (?SetDecalMaterial@ADecalActor@@QEAAXPEAVUMaterialInterface@@@Z) referenced in function "public: void __cdecl ABaseNPC::SetDecalActor(class ADecalActor *)" (?SetDecalActor@ABaseNPC@@QEAAXPEAVADecalActor@@@Z)

In fact, other methods for ADecalActor have some trouble or another.

SetDecalMaterial() compiles but does not link.

GetDecalMaterial() also compiles but does not link.

CreateDynamicMaterialInstance() returns a valid pointer, but there is no way to specify the source of a material instance so it’s seems pretty useless. The pointer has a “Parent” node that points to the Instanced Material I had already put on the Actor but it doesn’t have a copy of the scalar parameters I need to change; so it sets nothing.

Help ?