Port GLSL shaders from ShaderToy into Unity ShaderLab.
ShaderToy shaders are written in GLSL. Unity uses ShaderLab with HLSL/Cg. This tool automates the translation — parsing ShaderToy's conventions and generating Unity-compatible shader files, handling the signal conversion while minimizing the noise introduced in porting.
Manual shader porting is tedious and error-prone. ShaderToy is an incredible resource for learning and prototyping GPU effects, but the gap between ShaderToy GLSL and Unity ShaderLab is wide enough that most developers port by hand — or don't port at all.
C# Unity ShaderLab GLSL HLSL
- Copy a ShaderToy GLSL shader
- Run the porting tool
- Import the generated
.shaderfile into Unity
# Example (adjust based on your project structure)
dotnet run -- --input shader.glsl --output MyShader.shaderScreenshots coming soon. If you've used ShaderToy2Unity, PRs with examples are welcome.
Active development. See issues for planned features and known limitations.