Why my index return -1?

why my MaterialInstanceDynamic info return index is -1 ?

this is code :

UMaterialInstanceDynamic* LocalDynamicMaterial;

LocalDynamicMaterial = UMaterialInstanceDynamic::Create(AiOwner->BaseUnitMesh->GetMaterial(0),AiOwner->BaseUnitMesh);

TArray < FMaterialParameterInfo > Info1;

TArray<FGuid> Info2;

LocalDynamicMaterial->GetAllScalarParameterInfo(Info1,Info2);


UE_LOG(LogTemp, Warning, TEXT("LocalDynamicMaterial->GetName() = %s = %d"),*Info1[0].Name.ToString(),Info1[0].Index);


//log return : LogTemp: Warning: LocalDynamicMaterial = Lerp = -1

the name is parametr is Correct but i dont know why index is -1 ?!

casue that my SetScalarParameterByIndex() always return false:

bool IsItWORK = LocalDynamicMaterial->SetScalarParameterByIndex(0, 1);

UE_LOG(LogTemp, Warning, TEXT("IsItWORK 1 = %s"), IsItWORK ? TEXT("True") : TEXT("False"));

Pleas help.