We have recently started sharing a UE4 project with multiple members of a team via perforce.
However, textures submitted to the depot sometimes give the following error when opened by other people:
“LogTexture: Error: Failed to build texture”, in combination with “LogTexture: Warning: GetMipData failed” followed by the path of the texture in the content folder.
This occurs during the launch of the project in the editor, and leaves the launch hanging at 60%
The result is that the texture is black in the content browser.
When the asset is saved, it seems to refresh and the texture returns.
This does not fix the error, because this needs to be done on each computer.
Everyone is on the same version of Unreal (custom version of 4.18)
void UTexture2D::GetMipData(int32 FirstMipToLoad, void** OutMipData)
{
if (PlatformData->TryLoadMips(FirstMipToLoad, OutMipData) == false)
{
// Unable to load mips from the cache. Rebuild the texture and try again.
UE_LOG(LogTexture,Warning,TEXT("GetMipData failed for %s (%s)"),
*GetPathName(), GPixelFormats[GetPixelFormat()].Name);
#if WITH_EDITOR
if (!GetOutermost()->bIsCookedForEditor)
{
ForceRebuildPlatformData();
if (PlatformData->TryLoadMips(FirstMipToLoad, OutMipData) == false)
{
UE_LOG(LogTexture, Error, TEXT("Failed to build texture %s."), *GetPathName());
}
}
#endif // #if WITH_EDITOR
}
}
It seems like it might have to do something with the derrived data cache, but removing the DDC, saved and intermediate folder does fix the issue.