Edited at

Unity 2018.1 + ShaderForgeUnloading でUnloading broken assemblyが出る

More than 1 year has passed since last update.


Pref.

皆様ご存知の通りShaderをノードベースで簡単に作れるアセット「Unity Shader Forge」が無償化されました()

そのShader Forgeですが18/05/25現在アセットストアからDLしてきてインポートしても

Unloading broken assembly Assets/ShaderForge/Editor/ShaderForge.dll, this assembly can cause crashes in the runtime

とエラーログが出ます.

これの打開策,いや応急処置を書き残します.

とりあえずエラーは出ないようになりますが,きっと致命的なことをしているかもしれないので間違っていたらコメントお願い致します.


Env.

Unity 2018.1.0f2

Unity shader forge 1.38


Cause

エラーの原因はUnity20181.1から廃止されたProceduralTextureクラスが原因みたいです.

https://docs.unity3d.com/ScriptReference/ProceduralTexture.html


Method


  1. Assets/ShaderForge/Editor/ShaderForge.dllを選択し,インスペクタ上で以下のようにcheck boxを外します.



  2. Assets/ShaderForge/Editor/Source code.zipをAssets/ShaderForge/Editorに解凍する.



3.「SFN_Tex2d.cs」「SF_EditorNodeView.cs」「SFN_Tex2dAsset.cs」をテキストエディタかIDEで開きます.

4.検索機能を使って「ProceduralTexture」を検索します.

5.検索結果でハイライト(ProceduralTextureでエラーが出ている箇所)をされた部位をコメントアウトか消していきます.

以下例です.


























きっとこれでエラーがでなくなったと思います.


Reference

http://anfadev.blogspot.jp/2018/04/how-to-get-shaderforge-to-work-with.html