Issue Severity: Critical
Engine Version: 5.1.1
Why the severity of this bug is critical: This is a game breaking issue because not only you have to go trough all your materials, instanced materials and particles and fix all the textures. But you also had to remember what textures was used where. If you worked in a team or a big project it will be a nightmare to fix the issue considering that is not even reversible if you don’t have a backup of the project
How to Replicate:
- Start a new project and import the Unreal Engine Mannequins that has some advanced nodes used in their materials.
- Create a New Folder in the Content directory for a new project and add inside this main project another folder to store your mannequin
- Move all the assets of the mannequin inside the new folder
- Save all and restart the engine
Now all the textures of your mannequin will be broken and if you enter inside the material all of the textures was unlinked
Manual Solution:
- You have to enter inside the materials and feed again all the textures in their respective nodes
- You have to enter inside all the instanced materials and update all the texture parameters there as well
Possible ideas to Fix the Issue 1 “Material Side”
When moving materials the engine should check all the nodes and find the textures. Then it should save the material nodes and their respective texture path into an array. Then it should move the material. Once done it should replace all the paths for the textures in the material
Possible Ideas to Fix the Issue 2 “Texture Side”
When moving textures it should use the reference to find all the materials that uses this texture and store the nodes location in an array. It also have to create another array to save the data about the instanced materials that uses the texture and their parameters references. Then after moving the texture it should update all the materials with the new path of the texture
Possible Ideas to Fix the Issue 3 “Instanced Materials Side”
Instanced materials parameters also breaks so it should update the parameter paths for textures the same way as in fix 1 but for instanced materials
PS: This issue happens also if you move particle systems or their respective textures