Migrate > Asset does not exist on disk

I am constantly getting very weird errors when migrating my content to other projects.
In this example I am migrating 4.10 content to an empty project.
Both projects dont have any left over re-directors.

Due to nda-reasons I cannot paste a pastebin link with the whole output log, but I can show this:
Yellow (error) text:

LogAssetTools:Warning: /Game/Poop_Effects/StaticMeshes/LP_SM_Poop_03 does not exist on disk. LogAssetTools:Warning: /Game/Lasers/Static_Meshes/SM_Test_01 does not exist on disk. LogAssetTools:Warning: /Game/Lasers/Static_Meshes/SM_NP_Swirl_Tail3_01 does not exist on disk. LogAssetTools:Warning: /Game/Lasers/Static_Meshes/SM_LaserBeam_01 does not exist on disk. LogAssetTools:Warning: /Game/Lasers/Static_Meshes/SM_HP_Cylinder_03 does not exist on disk. LogAssetTools:Warning: /Game/Effects/StaticMeshes/SM_RocketRefracMesh does not exist on disk. LogAssetTools:Warning: /Game/Effects/StaticMeshes/SM_Poop_CeilingDrop_01 does not exist on disk. LogAssetTools:Warning: /Game/Effects/StaticMeshes/SM_Poop_WallDrip_01 does not exist on disk. LogAssetTools:Warning: /Game/Poop_Effects/StaticMeshes/LP_SM_Poop_04 does not exist on disk. LogAssetTools:Warning: /Game/Poop_Effects/StaticMeshes/SM_Poop_01 does not exist on disk. LogAssetTools:Warning: /Game/Poop_Effects/StaticMeshes/SM_Poop_02 does not exist on disk. LogAssetTools:Warning: /Game/Particle_Effects/StaticMeshes/SM_Sphere_01 does not exist on disk. LogAssetTools:Warning: /Game/Poop_Effects/StaticMeshes/PooGUN2000 does not exist on disk. LogAssetTools:Warning: /Game/Poop_Effects/StaticMeshes/SM_PoopRocket_01 does not exist on disk.

Red (error) text:

*> AssetRegistry: New page: Copy Errors

AssetRegistry:Error: Error
/Game/Poop_Effects/StaticMeshes/LP_SM_Poop_03
does not exist on disk.
/Game/Lasers/Static_Meshes/SM_Test_01
does not exist on disk.
/Game/Lasers/Static_Meshes/SM_NP_Swirl_Tail3_01
does not exist on disk.
/Game/Lasers/Static_Meshes/SM_LaserBeam_01
does not exist on disk.
/Game/Lasers/Static_Meshes/SM_HP_Cylinder_03
does not exist on disk.
/Game/Effects/StaticMeshes/SM_RocketRefracMesh
does not exist on disk.
/Game/Effects/StaticMeshes/SM_Poop_CeilingDrop_01
does not exist on disk.
/Game/Effects/StaticMeshes/SM_Poop_WallDrip_01
does not exist on disk.
/Game/Poop_Effects/StaticMeshes/LP_SM_Poop_04
does not exist on disk.
/Game/Poop_Effects/StaticMeshes/SM_Poop_01
does not exist on disk.
/Game/Poop_Effects/StaticMeshes/SM_Poop_02
does not exist on disk.
/Game/Particle_Effects/StaticMeshes/SM_Sphere_01
does not exist on disk.
/Game/Poop_Effects/StaticMeshes/PooGUN2000
does not exist on disk.
/Game/Poop_Effects/StaticMeshes/SM_PoopRocket_01 does not exist on disk.*

And this is very odd, because:

  1. The files do exist on disk, are in the correct folders.
  2. The files actually do get transferred to the new project, into the right folders.
  3. The files are available in the content browser… and now comes the “But!”

But!
Any shader thats connected to these meshes lost a variety of things.
It can be missing material functions:

Texture Sample nodes change sampler types:

Missing Texture Inputs:

Yet, the material function is migrated fine, the texture samples should be identical to the ones prior to migrating, and the textures inputs that are lost, had their textures migrated just fine and are available in the content browser.

I am at a loss at the moment.

Hey Luos,

I just attempted to migrate some content from a pre-existing 4.10.4 project and did not have any error messages or warnings. This is going to be hard for me to reproduce as it is a variable issue and is project specific.

Unfortunately this could be one of those things where you will need to replace certain assets like texture samples and missing references by hand.

Thanks,

Understandable ofcourse.

that said, is there anything known about “assets not existing” while they actualy do exist? is there any ini/folder/whatever that I could clean/edit/remove so that the list gets rebuild properly?

To me it sounds like it could be a referencing issue as it is reporting ‘assets not existing’ when they clearly do. These two projects you are migrating assets between wouldn’t happen to share the same name, would they?

I would take a look at the reference viewer in the content browser for the project you are having issues with, and see if they are indeed tracking back to the correct directory location. You could try deleting your ‘Intermediate’ and ‘Saved’ folders to see if that fixes the issue as well.

Let me know if you manage to get this resolved as I am curious to know how for future reference.

Thanks,

Hey Andrew, the projects do not carry the same name.
I also had it while trying to migrate (all) the particles from the elemental demo over to a new project. but as I tried that three times, only one of those three times it failed.

I didn’t log it at the time because I thought I did something wrong myself.

I also deleted the intermediate and saved folders for both projects and tried migrating… nothing changed.

As for the referencing issues, since I already manually changed everything…
I will update this thread once I need to migrate content.
which should happen again in a few weeks or so.

Hey Andrew, back at migrating content and:

LogAssetTools:Warning:
/Game/Effects/StaticMeshes/SM_RocketRefracMesh
does not exist on disk.
LogAssetTools:Warning:
/Game/Poop_Effects/StaticMeshes/LP_SM_Poop_03
does not exist on disk.
LogAssetTools:Warning:
/Game/Effects/StaticMeshes/SM_Poop_CeilingDrop_01
does not exist on disk.
LogAssetTools:Warning:
/Game/Particle_Effects/StaticMeshes/SM_Sphere_01
does not exist on disk. AssetRegistry:
New page: Copy Errors
AssetRegistry:Error: Error
/Game/Effects/StaticMeshes/SM_RocketRefracMesh
does not exist on disk.
/Game/Poop_Effects/StaticMeshes/LP_SM_Poop_03
does not exist on disk.
/Game/Effects/StaticMeshes/SM_Poop_CeilingDrop_01
does not exist on disk.
/Game/Particle_Effects/StaticMeshes/SM_Sphere_01
does not exist on disk.

This is getting so annoying.
Will do some more research now.

Any way to find anything that references these specific meshes?

So, after some clairvoyance or whatever you want to call it I tried the following:

Since the file doesnt exist on drive, nor does it exist in that exact folder location in the content browser I was like… fffffuuuuu** it.

I recreated the folder structure of the unexisting file, and also put a random file there with the same name.
(File name: “SM_RocketRefracMesh”)
This worked, and was save-able.

Now I tried to delete the file, it told me it was still being referenced by a material.
Now it becomes funny.

Facts:

  1. At one point in its life, this material did have the static mesh as a preview mesh.

  2. currently this preview was the regular sphere, though this might be because the preview mesh was deleted.

  3. even though it doesnt bring this up during saving, editing, using new preview meshes… somewhere… something in the material still referenced to “SM_RocketRefracMesh”

Solution untill actual fix:

  1. recreate the file location

  2. recreate filename (same type)

  3. save

  4. Delete file

  5. Pending deleted assets pop-up, select a new (existing?) reference.

  6. Replace reference.

  7. save pending reference.

  8. Fix up references.

  9. ???

  10. Profit.

This does seem like quite a bug though.

Additional Edit:

The temp solution I posted works, clean migration ftw.

That said, apparently fixing up references doesnt look at any meshes that where used as preview meshes inside material editor?

hello Andrew, since you never got back to me on this, could you please tell me if this has been resolved on your end?

The bug is basically between the following:

  1. Any mesh that was being used as a mesh-preview in the material editor can be deleted, but the reference to it still exists. causing migration issues.
  2. any mesh in the content browser that is being moved to another location in the folder structure wont “tell” the material its location has been updated, resulting in an error when migrating that material, as it still looks for the old location of the mesh, even when references are updated/fixed.

Hey Luos,

I do apologize for not responding sooner. So there are a few suggestions I have in order to help you clean up the old references. Firstly, run the ‘Fix Up Redirectors in Folder’ command on your ‘Content’ folder within the Content Browser (which I am sure you have tried already).

Your next step is going to be renaming your Project so it is unique. This way maybe the migrated assets are forced to create new references with the new project name. I would also take a look at the '‘Reference Viewer’ to see how these lingering references are behaving.

Cheers,

I am a bit confused.

I already mentioned that fixing up references isnt helping.
Also, renaming the project wont help either.

The issue is that any mesh used as a preview in the material editor also has a reference, but never gets updated if said mesh is moved to another folder or deleted.

so when moving a project that has a material that at one point used a preview mesh, it will break migration due to old/oudated referencing.

shouldn’t this be filed as a bug?

Hey Luos,

I actually just tested this on my end with two new projects and some simple assets, but did not reproduce the error. Below are the the steps I took, so let me know if my steps need modification so I can accurately reproduce your issue.

  1. Created new blank project.
  2. Imported a simple asset into the Content Browser to be used as the preview asset.
  3. Create a new material and assigned the preview mesh to that material.
  4. I then moved both the Preview Mesh and Material to newly created folders.
  5. Then I migrated the material to a different project using the same engine version.
  6. In the new project, the preview mesh, textures, and materials were all migrated successfully without any missing references or errors.

I will say, if you are doing a large amount of migrating between larger projects, you are more than likely going to encounter referencing issues. I will do my best to reproduce this issue and get a bug entered though.

Thanks,

Most steps are correct, but try the following:
Delete the mesh you use as a preview.
or
Move the mesh to a new folder or rename folder.
fix up re-directors.
Migrate

result:

I sadly dont have the time atm the really dig into a 100% bug-result rate, when I do I’ll record the process.

Nontheless, that is gonna take me at least an hour to fix.
and it happens… every… frickin… time.

So I just attempted to reproduce the issue again, using the suggested changes in my steps, and did not get the issue to occur. Once you find the time and can narrow down the exact repro steps, we can continue to work through this issue and get a bug entered.

there, was able to recreate it three times, two times while recording.
Best to watch the vid, as its rather weird to explain.
Direct showcase at 6:52, but might be wise to watch most of it.

So I watched your video, and I am getting some different results when running the replace references command. In your video at the 8:00 min mark, when you go to open your material again after replacing the references, the mesh you are using to replace the original, ‘Shot 2’, is not presented in the preview window. This is opposite of what I am getting, as after replacing the references of the original preview mesh, ‘Shot1’, I can open the material and see it is replaced with the newly referenced mesh, ‘Shot2.’ This irregularity could be part of the issue.

Next, if you move a little forward in time at 8:09, you can see that when you go to migrate the assets, ‘Shot1’ is labeled as a redirector. This is the exact point in which you need to use the ‘Fix up Redirectors in Folder’ command. This is the suggested workflow before choosing to migrate any assets that might have redirectors or replaced references, as issues like the one you are experiencing can snowball on itself. I was able to see the referencing error that you point out a couple times when choosing to migrate, but as soon as I used the ‘Fix up Redirectors in Folder’ the issue resolved itself. We added this option for referencing issues like these, and it is suggested that you use it after replacing references and moving things around in your project to avoid these errors.

With all of that said, I do appreciate you going through the time to create the video to better explain the issue. Unfortunately, if I were to try and report this as a bug, it would more than likely get kicked back as invalid since it is resolved by using the ‘Fix Up Redirectors in Folder’ option. Avoiding errors like this in the future is just going to take some workflow adaptations, which is good practice. I know you are constantly working in UE4 to keep your packs and other projects up to date, so making sure things are correctly referenced before moving/migrating assets is going to be very important in maintaining the integrity of future projects.

Let me know if the ‘Fix Up Redirectors in Folder’ option is not working for you, as this can be addressed as another bug. I appreciate your patience while we worked through this, and hate that it gave you so much trouble. Preventative measures can be taken, and the more you know, the better you can prepare.

Thank you,

I always use the fix up re-directors, though, I do admit its rather vague that it also needs to be used after replacing references… as the name kind of says it. you replaced references.

that said, I was looking for the specific error and to reproduce it.
I can tell with 100% certainty that the initial error reports I did where with content where I most definitively fixed the redirectors.