SetScalarParameterValue Access Violation

Maybe you should try to use StaticMeshComponent->CreateDynamicMaterialInstance() instead of UMaterialInstanceDynamic::Create().

And, I’m not sure, but try to use simple if(materialDynamic) instead of if(materialDynamic != nullptr)