Hello,
There is a problem creating you dynamic material instance in the constructor.
What I did is the following.
In the constructor:
AAAAA::AAAAA(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
static ConstructorHelpers::FObjectFinder<UMaterialInstance> IconEnergyFillMatOb(TEXT("/Game/HUD/Materials/M_IconEnergyLevel_Inst"));
if (IconEnergyFillMatOb.Succeeded())
IconEnergyFillMatInst = IconEnergyFillMatOb.Object;
}
In the class AAAAA
UMaterialInstance* IconEnergyFillMatInst;
UMaterialInstanceDynamic* IconEnergyFillMatInstDyn;
In PostInitialize :
void AAAAA::PostInitializeComponents()
{
Super::PostInitializeComponents();
if (IconEnergyFillMatInst)
IconEnergyFillMatInstDyn = UMaterialInstanceDynamic::Create(IconEnergyFillMatInst, this);
}
The FObjectFinder uses a UMaterialInstance
And UMaterialInstanceDynamic::Create returns a UMaterialInstanceDynamic
I hope this will help you.
D.