Hi,
maybe the
UMaterialInstanceDynamic::GetVectorParameterValue(FName ParameterName, FLinearColor & OutValue)
could fit your needs ? If so, just try to replace
if (!MatInst ->GetLinearColorParameterValue(TEXT("Colour1"), Colour))
by
if (!MatInst->GetVectorParameterValue(TEXT("Colour1"), Colour))