What's the different between the UMaterialInstanceDynamic::Create and CreateAndSetMaterialInstanceDynamic?

Hi, I am working on changing the parameter of material dynamically with C++.
I am facing a interesting question: When I am using CreateAndSetMaterialInstanceDynamic when we have already got into the Game Loop, it works. But UMaterialInstanceDynamic::Create to create the material instance only works in the states When the Game Loop haven’t been started. For example, it works in the BeginPlay, but in the Tick or OnFire or something.

So the question is: What’s the difference between them? Thx~