“It turns the dark and strange arts of shader programming into something understandable and non-evil”
Nicklas 'Nifflas' Nygren, developer of the Knytt series


Make sure you're using a version of Unity it supports. If Unity is outdated, it will download the latest compatible version rather than the latest. For versioning info, check the changelog.


Yes! It would be nice to add a note saying that the shaders are compatible with Shader Forge, in case your customers want to open and edit them too.


As of Shader Forge beta 0.33, deferred pre-pass lighting is supported. As of Shader Forge 1.10, deferred pre-pass was replaced by the Unity 5 deferred pipeline. Mind that deferred makes your shader less flexible when it comes to lighting, and it will disable some main node inputs. That said, most forward rendering SF shaders will work even when your project is rendered with deferred rendering, but they will be forward rendered. There are some forward rendered shaders that break in deferred though - partial transparency / alpha blending and tessellation will break when using shadows with deferred rendering on.


Your shaders will most likely work unless you've made a super expensive shader, but Shader Forge is primarily aimed at pushing visual quality, so most things are done on a per-pixel level, rather than per-vertex. There are some quality settings you can alter to make lighting cheaper, but in general it's best to stick to unlit, relatively simple stuff on mobile. There may come an update to make it easier to deal with vert/frag separation in SF. That said, some companies are using SF to prototype shaders though, and then optimize it for mobile use later, which seems to work very well!


SF 1.06 works in Unity 4.5, but is no longer supported. For the latest versioning info, check the changelog.


For some people, upgrading seems to break SF. Here's what you can do to solve it:
1. If SF is open, close it
2. Delete the SF folder entirely
3. Reset the window layout of Unity
4. Install the new version of SF

If this doesn't help, please post a topic on the feedback page, detailing what happens.


Software limitations. DirectX is currently owned by Microsoft, so on platforms other than their own, it isn't available. In order for other platforms to use tessellation, Unity would need to update their OpenGL implementation to a later version that supports it.