Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

[solved] Tried to update to the latest version but got warning: "File exists in project, but with different guid"

A topic by Rekize created Nov 06, 2018 Views: 6,196 Replies: 4
Viewing posts 1 to 5
(1 edit)

Hi, I tried to update STM to the latest version, but got this warning: "File exists in project, but with different guid" on these items:

Under shaders:
STM.gcinc
STMdropshadow.gcinc
STMoutline.gcinc
The UI folder
The Unlit folder

If I update it anyway the STM text will not show. How may I solve this?

Developer

Hey!


These are all files I updated in the very latest update to fix a big where text wouldn't cast a shadow, and to add more masking options to UI text.


Please do a back up before updating just in case, but have you tried setting Unity's asset serialization mode to "Force Text"? Or have you tried deleting the original files before importing the new ones? If the GUIs are different, it might just be that you have to re-apply the shaders in STM's inspector. (Changing any value will tell the mesh to Rebuild, which might be why it's not showing?


Also, if you moved STM's files to a different folder, this might also cause the issue as Unity will always place new files in the original folder, so that would create a double instead of replacing the original.


There's a bunch of things that could be causing this, but these are the first solutions I can think of off the top of my head! Please let me know what works for you.


-Kai

(1 edit)

I have tried one by one but still no luck:

1. The asset serialization mode is already  "Force Text".

2. Deleting the whole STM folder and re-import it from Asset Store.

3. Re-apply the shaders. Then I found most shaders works, just the STM UI shader doesn't work. Even STM UI Dropshadow and STM UI Outline work.

I also found the 3D STM element works, but not the UI STM element.

By thw way I forgot to mention that, after importing, the console showed many similar errors of " There Surface shader function 'surf' not found at line xx" in many files. I am using Unity 2018.1.4f1. Hope this info. helps...

Developer

Hey,


Make sure on your material settings that the Unity UI default shader has its mask mode set to "Outside". I accidentally shipped a build where that value was set to "Inside" which doesn't render text.


Try not importing the legacy shaders - those all used surface functions, and all the new shaders use fragment functions. These will be excluded from the next 1.x patch.


Finally, try right-clicking on the .cginc files in the "Shaders" folder, and click "Reimport".


Please let me know if any of these work! That last one is strange, but Unity doesn't automatically recompile .cginc files when they change, and I just realized that they new .cginc files wouldn't line up with the new shaders after an update. Hopefully that's the one that fixes this?

(1 edit)

Thanks!


Setting the material that uses the STM/UI/Default shader mask mode to "Outside" works!


I deleted the Legacy shaders, but see no notable difference as I am not using any. Turned out the console errors only display after the update, and disappeared after relaunching Unity.


It worked without reimporting the "Shaders" folder. I tried reimporting it too, but no notable difference is seen in my use case.