how to get the diffuse texture?

solved

TArray<UTexture*> textures;
		FString xx;
		
		FString name_D = "_D";

		UTexture * tex_D;
		if (mat->GetTextureParameterValue("Diffuse", tex_D))
		{
			name_D = tex_D->GetName();
		}
		else
		{
			name_D = (mat->GetMaterial()->GetBaseMaterial()->BaseColor.Expression->GetReferencedTexture()->GetName());
		}

		mat->GetBaseMaterial()->GetBaseMaterial()->GetUsedTextures(textures, EMaterialQualityLevel::High, true, ERHIFeatureLevel::Type::ES2, true);
		mat->GetBaseMaterial()->GetBaseMaterial()->GetUsedTextures(textures, EMaterialQualityLevel::High, true, ERHIFeatureLevel::Type::ES3_1, true);
		mat->GetBaseMaterial()->GetBaseMaterial()->GetUsedTextures(textures, EMaterialQualityLevel::High, true, ERHIFeatureLevel::Type::Num, true);
		mat->GetBaseMaterial()->GetBaseMaterial()->GetUsedTextures(textures, EMaterialQualityLevel::High, true, ERHIFeatureLevel::Type::SM4, true);
		mat->GetBaseMaterial()->GetBaseMaterial()->GetUsedTextures(textures, EMaterialQualityLevel::High, true, ERHIFeatureLevel::Type::SM5, true);
		if (textures.Num() > 0)
		{
			
			FString NumX;
			NumX = FString::FromInt(textures.Num());
			for (UTexture* tex : textures)
			{
				


				FString sID = tex->GetName();
				if (tex->GetName()==name_D)
				{
					//now the tex is the Diffuse texture

				}

			}

		}