Analysis updated 2026-05-18
Add stylized PBR plus toon shading to a VRChat or Unity avatar
Extend the shader with custom modules built on Shader Core
Create outline, rim light, and matcap effects for toon-style characters
Bake outline thickness into vertex colors using lilOutlineSmoother
Requires VCC/VPM and an existing Unity project set up for VRChat avatars.
NonToon is a shader for Unity that blends physically based rendering (PBR) techniques with non-photorealistic rendering (NPR), the style used for toon or anime-style characters. It is aimed at people creating 3D avatars, most likely for platforms like VRChat, and is installed through VPM, the VRChat Package Manager. The project is still under active development, so its features and specification could change significantly at any point. The shader includes a long list of rendering options: opaque, cutout, dithered, and translucent rendering modes, plus a fur mode. It supports normal maps, shadow offsets, and outlines whose thickness and depth can be adjusted using vertex colors. There are four detail textures and normal maps that can each be masked using the RGBA channels, along with specular highlights and a brightness boost useful for effects like glowing eyes. Other features include rim shading, ramp textures for stylized shading, SDF textures, additive and multiplicative matcaps, anisotropic hair specular highlights, rim lighting, distance fade, and stencil support. NonToon is built on a separate project called Shader Core, a modular shader system. Because of this, NonToon can be extended simply by installing additional modules, and most of its own built in features are themselves defined as modules, meaning they could be reused in other shaders too. The author is intentionally limiting scope. Documentation is written only in Japanese, since machine translation is considered good enough, and any English version the author wrote would likely be produced through machine translation anyway. New features are only added if they are close to essential for character expression, keeping the core shader lean, with everything else pushed into optional modules. Platform specific features are also handled through separate modules rather than the main shader. Outline thickness is intentionally not controllable through a mask texture, since the author believes vertex level effects should be handled through vertex data. A related project, lilOutlineSmoother, can bake texture data into vertex colors for outline control instead.
A modular Unity shader that blends physically based and toon-style rendering for stylized 3D character avatars, built for VRChat.
Mainly HLSL. The stack also includes HLSL, Unity, VPM.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly designer.
This repo across BitVibe Labs
Verify against the repo before relying on details.