This has now been fixed, but the update will be delayed about 3 weeks I'm afraid
To be clear, this happens when pressing the "Open shader in Shader Forger" button in the inspector.
SF doesn't support beta versions I'm afraid. The next update will be for 5.6, and after that it'll probably start to target Unity 2017.
Got the same issue and found that it boils down to the way the reference to the Camera object in the SF_PreviewWindow. m_camera. SF tries to read the m_camera variable from the PreviewRenderUtility class, which has been made obsolete and Unity is suggesting to use the 'camera' getter instead. The same goes for the m_Light variable.
By assigning pruCam / pruLights like this in seems to solve the issue:
// class: SF_PreviewWindow, function: SetupPreview
PreviewRenderUtility pru = pruRef as PreviewRenderUtility;
pruCam = pru.camera;
pruLights = pru.lights;
I've tested this for Unity 2017 (beta 5) and seems to work at first glance. Can't say if anything else is broken due to obsolete fields in 2017 or other potential incompatibilities.
Joachim Holmér (Developer) 4 weeks ago.
Am I missing something?
I'm missing time at the moment. Should be done this week at least!
really keen to get this update! Is it coming out this week still?
Monday or Tuesday. Apologies for the delays
By the way - I generally don't update SF to support beta versions of Unity, but this fix is something that should have been fixed even without the errors, so consider this an exception!
Hey, I've recently upgraded to Unity 2017.2.0f3 and this bug returned, I did a clean install like you explained in the FAQ
Q: After updating, I get errors spamming in the console when opening SF, how do I fix this?But got exactly these error logs. Is there anything else I can do to fix this?
I'd try restarting Unity between step 3 and 4! The .dll might still be loaded
Thanks it worked!
I can confirm I'm also getting this error again on 2017.2.0f3 - ShaderForge will not open/load. I had to re-install Unity 5 and create a temp project just to create a shader and import it into my 2017 project :-/ Is there a final fix for this ever persistent issue?
I wish there was a final fix. There genuinely seems to be a bug with how assets are updated sometimes, where some users are getting an older version of the plugin than they wanted. It could be related to not closing Unity between removing SF and reinstalling it, where the .dll is still loaded, or something similar. But at this point, I really don't know how to debug it when everything, for some reason, works fine on my end :(
I just followed these exact steps: Deleted SF Folder. Restored default window layout. Restarted Unity. Installed SF from asset store:
Note that I also rebooted my Mac before installing the new SF. Same result. How do I get this plugin to work in Unity 2017?
It looks like you're on an old version of SF, it shouldn't happen with the latest
An old version? I'm installing directly from the Unity Asset Store. How do I get the latest? According to both your website and the UAS, it says v1.38
I want to clarify for anyone searching for the solution to this problem in Unity 2017. The Asset Store is finding an old version in the cache folder instead of downloading the latest (currently v1.38) On a Mac, you need to navigate to Users\XXX\Library\Unity\Asset Store-5.x and delete the folder "Joachim Holmr". You can then download Shader Forge from the Asset Store normally and it will install and open. Many thanks to Keenan Woodall for finally solving this.
Customer support service by UserEcho