In my constructor I do this:
static ConstructorHelpers::FObjectFinder<UMaterial> Yellow_Emiss_Material(TEXT("Material'/BMove/Meshes/Trainer_shoes/Materials/M_Shoe_Yellow.M_Shoe_Yellow'"));
M_Yellow_Glow = (UMaterial *)Yellow_Emiss_Material.Object;
The material has a parameter called Emission Strength that I would like to set. Its default is 0.0.
On BeginPlay(), I then create this material using a dynamic material instance.
UMaterialInstanceDynamic *M_Obj = UMaterialInstanceDynamic::Create(M_Yellow_Glow, this);
if (bPadded) {
M_Obj->SetScalarParameterValue(FName("Emission Strength"), 5.0);
}
else {
M_Obj->SetScalarParameterValue(FName("Emission Strength"), 0.0);
}
The changes to the parameter value are not seen. Why?