Skip to main content
Participant
October 20, 2021
Question

Meta file changed unwantedly when importing substance materials into Unity, causing color lost

  • October 20, 2021
  • 1 reply
  • 204 views

Hi there,

We're doing some user generated contents project, so it always need to import packages uploaded by users into our process server. However, we've found an issue with substance material, the the color and transparency will lost after import, which caused by the meta files get changed unwantedly when import.

It seems that importer version is one of the cause, i.e. user uploaded material is by importer version 21 and in Unity 2018 we use importer version 25, also we're preparing upgrade our project to Unity 2020 using importer version 29 -- however import a low importer version material into higher one will cause the meta file changed and all color info lost.

If using same importer version between upload and import, the meta file is good, color is kept, but then transparency isn't correct after import, it will need to manually click the material, let it show its details in the inspector, then the transparency well back, otherwise it will keep the solid color even you enter runtime.

The issue is already reported to Unity support and we investigated for a long time, Unity doesn't find too much helpful info on their side so it comes to the substance plugin may have bugs that causing this.

Here is a zip file contains the screenshots and video which explain what happened exactly:

mediafire download 

Hopes some one know what is exactly happening with those meta files.

This topic has been closed for replies.

1 reply

Ma5C8BAuthor
Participant
January 19, 2022

In the end we found there is one line in meta file which can affect this: projectContext.

The value in the example file we've get is -1, if we change it to 0, then everything is fine.

It seems the value is bind with pipeline type, which whether is URP, HDRP or built-in.

The question is where is the value is set, and is there anyway that we can change it before we import(i.e. when user export a unitypackage) the substance material into the unity project to prevent it messed up.