Skip to content
HY Devlog
Go back

lilToon Parameters: A Reference Cross-Checked Against the Official Docs

lilToon is among the most widely used toon shaders for avatars. It is MIT licensed, and its inspector UI is localized into Korean. That makes it easy to pick up at first.

The trouble starts after that. The inspector shows the parameter names in Korean, but the documentation that explains what each of those parameters actually is exists only in Japanese. So searching for lilToon in Korean mostly turns up secondary material carried over from those Japanese docs.

Things go wrong in the carrying over. In Korean material, for instance, you run into an entry like this.

림 라이트의 벌금 (literally “the rim light’s monetary fine”) — the thinness of Rim Shade.

The name and the description do not agree with each other. Going back to the source settles it. The actual property is 「リムライトの細さ」, that is, the thinness of the rim light. 細さ means thinness or narrowness; it was rendered into English as fine(ness), and when that English word was carried across a second time it came back out in the word’s other sense — a monetary fine. The description itself was carried over correctly. Only the parameter name took that detour.

So I cross-checked the official Japanese documentation entry by entry. The baseline is lilToon 2.3.3, and the coverage extends to the range you touch most often in the inspector.

The Japanese parameter names are listed alongside so you can check against the source. Use them with the inspector language switched to Japanese, or when looking an entry up in the official docs.

Table of contents

Table of contents

Before you read


Basic settings (基本設定)

The first things you decide — the broad framing of how the material renders.

JapaneseEnglishDescription
描画モードRendering modeThe kind of rendering: opaque, cutout, transparent, refraction, and so on
CutoffCutoffAnything at or below this opacity becomes fully transparent
Cull Mode (描画面)Cull ModeRenders only the specified faces. Single-sided costs less than double-sided
裏面の法線を反転Flip backface normalsInverts the lighting calculation on backfaces
裏面を影にするShade backfacesHow strongly backfaces are forced dark. Use it when the inside of clothing looks unnaturally bright
非表示HideWhen on, the material is not drawn
ZWriteZWriteWhether depth information is written. Leaving it on is generally recommended, though turning it off sometimes improves transparent materials
Render QueueRender QueueDraw order. Higher values are drawn later. When two transparent materials overlap and one disappears, raise the value of the one that should be in front

Cull Mode and Render Queue are not shader-specific features; they map directly onto the rasterizer and output-merger stages of the graphics pipeline. That is also why overlapping semi-transparent surfaces are order-dependent.

Rendering mode list

JapaneseEnglishDescription
不透明OpaqueIgnores transparency
カットアウトCutoutUses transparency, but semi-transparency is not possible
半透明TransparentUses transparency. When two semi-transparent surfaces overlap, one may vanish. Used for facial expressions, see-through hair, and the like
[高負荷] 屈折[Heavy] RefractionDistorts whatever shows through
[高負荷] 屈折ぼかし[Heavy] Refraction blurRefraction plus a frosted-glass blur
[高負荷] ファー[Heavy] FurFur. Soft, but the depth ordering can look unnatural
[高負荷] ファー (カットアウト)[Heavy] Fur (cutout)Drawn with cutout, giving a harder look. Antialiasing improves it somewhat
[高負荷] ファー (2パス)[Heavy] Fur (2-pass)Blends transparent fur with cutout fur to soften the drawbacks of each
[高負荷] 宝石[Heavy] GemComplex refraction

Lighting and brightness settings (ライティング設定)

The docs recommend leaving these at their defaults. The baseline is the state right after pressing “Normal” under “Apply preset”; this is the area you touch only when you deliberately depart from it for photography or video work.

JapaneseEnglishDescription
明るさの下限Brightness lower limitThe floor on how dark it can go. Keeps things from going pitch black. 0.0–0.2 recommended for VRChat
明るさの上限Brightness upper limitThe ceiling on how bright it can go. Prevents blowing out to white
ライトのモノクロ化Monochrome lightingSaturation of the light. Can compensate for a strongly tinted world, but creates a color mismatch with your surroundings
影色への環境光影響度Ambient influence on shadow colorHow strongly ambient light affects the shadow color
Unlit化Unlit conversionDisables lighting to approximate Unlit. Used to compensate for dark worlds, but brightening yourself also makes the avatars around you relatively darker
頂点ライトの強度Vertex light strengthStrength of point and spot lights computed per vertex. With several meshes, setting it to 0 reduces brightness differences between them
ライト方向のオーバーライドLight direction overrideA vector added to the light direction. It doubles as a fallback, so leaving x, y and z all at 0 can make the material go fully dark where there is no light
オブジェクトの向きに追従Follow object orientationThe override direction rotates along with the object
[Built-in RP] ライトの合成Light blendingHow additional realtime lights are combined. Additive is optically correct but blows out to white easily; lighten (max) is the opposite
[HDRP] Before exposure limitBefore exposure limitA brightness limit applied before exposure
[HDRP] Directional Lightの強さDirectional Light strengthStrength of the Directional Light applied to the material

This lighting portion is published separately as a CC0 library called OpenLit. You can use it when you are writing your own shader and want the brightness to match lilToon.


Color settings (色設定)

Main color / transparency (メインカラー / 透過)

The base color. If the rendering mode is cutout or transparent, the alpha channel of the texture or of the color picker is used as opacity.

JapaneseEnglishDescription
色 / 透明度Color / opacityAssign a texture. The color from the picker on the right is multiplied in
色相 / 彩度 / 明度 / ガンマHue / saturation / value / gammaColor correction. Gamma emphasizes contrast
グラデーションマップGradient mapReplaces the coloring with a specified gradient. It is applied per RGB channel, so the result differs depending on whether the input was converted to grayscale
色調補正マスクColor correction maskColor correction is disabled wherever the mask is painted black. Uses the R channel
焼き込みBakeExports the color-correction result as a texture

How this interacts with VRChat safety. The color of the texture you assign here is preserved when safety kicks in, but colors edited through color correction are not. If you have edited them, baking to a texture is the safer route.

The docs describe the final output color like this: the shader performs no special color processing, so the texture’s own color comes through as-is, and the only thing it does is multiply by the light color. With a white light you get the texture as it is; with a dark orange light you get the texture multiplied by that color.

Main color 2nd / 3rd (メインカラー2nd・3rd)

Layers placed on top of the main color. Use them for decals, fine surface detail, hair gradients and so on. You can also convert a GIF to animate them, or fade them out by distance.

JapaneseEnglishDescription
テクスチャTextureConvert Gif lets you animate a GIF
MSDFテクスチャMSDF textureRequires converting in advance, but allows near-vector representation
UV ModeUV ModeUV0–3 and MatCap are available
デカール化Use as decalUses the layer as a decal
マスクMaskComposites only the specified area. Uses the R channel
ライティングを適用Apply lightingApplies the light’s brightness
合成モードBlend modeNormal / additive / screen / multiply
開始距離 / 終了距離 / 強度Start distance / end distance / strengthDistance fade settings
Tiling / Offset / 角度Tiling / Offset / angleTexture placement

Turning on decal mode adds further entries: mirror mode, copy mode, X and Y position and size, frame count and FPS. They are there for flipping through a sprite sheet as an animation.

Alpha mask (アルファマスク)

A black-and-white mask that sets opacity. The docs recommend avoiding it where possible. Putting the same information into the main texture’s alpha channel keeps everything in a single texture, whereas using an alpha mask means sampling a second texture, which raises the shader’s cost. It is a feature kept around for compatibility.

JapaneseEnglishDescription
アルファマスクAlpha maskNone (disabled) / replace / multiply. Uses the R channel
InvertInvertInverts the mask
TransparencyTransparencyOpacity
CutoffCutoffAt or below this value it becomes fully transparent
Scale・OffsetScale / offsetThe final strength is AlphaMask * Scale + Offset. Scale = -1 with Offset = 1 gives an inversion
アルファマスクを焼き込みBake alpha maskApplies the mask to the main texture and bakes it in

The alpha mask is ignored when safety kicks in.

Shadow settings (影設定)

The part that most shapes the impression lilToon gives. Blur at 0 gives anime-style shading; raising it moves toward an illustrated look, and raising it further toward a realistic one. Shadows can be set in up to three levels, so lightening the innermost shadow color can even read as bounced light.

JapaneseEnglishDescription
マスクタイプMask typeWith “strength”, darker weakens the shadow; with “flatten”, darker flattens the normals and suppresses the sense of volume
マスクと強度Mask and strengthShadow strength. Use it to disable shadows on the face alone. Uses the R channel
LODLODBlur amount for the texture. Lowers the resolution via MipMap to fake a blur
ぼかし量マスクBlur amount maskVaries the blur amount by area. RGB corresponds to shadow colors 1, 2 and 3
影色1・2・3Shadow colors 1, 2 and 3By default they are multiplied into the main color. Alpha is treated as each shadow’s blend strength
範囲RangeThe extent over which the shadow falls
ぼかしBlur0 is anime-style, raising it is illustrated, raising it further is realistic. RGB corresponds to shadow colors 1, 2 and 3
ノーマルマップ強度Normal map strengthHow strongly the normal map is applied to the shadow
影を受け取るReceive shadowsReceives shadows cast by other objects. In roofed spaces this often looks off, so turning it off is frequently the better choice
境界の色 / 境界の幅Border color / border widthLays a color along the shadow boundary. Usable for effects like subsurface scattering
コントラストContrastMultiplies the main color in once more to make the shadow color more vivid
影色への環境光影響度Ambient influence on shadow colorLeave the shadow color black and set this to 1 and you get a shadow color close to the Standard Shader
AO MapAO MapThe darker the area, the more readily a shadow appears. RGB corresponds to shadow colors 1, 2 and 3
Min・MaxMin / MaxRemaps the AO Map into this range

The docs also spell out how the shadow color is computed. Seeing how the parameters interlock makes it easier to grasp than just moving values around.

影色 = (影色テクスチャがあれば影色テクスチャ、なければメインカラー)
       * カラーピッカーの影色
       * lerp(1.0, メインカラー, コントラスト);

最終的な影色 = lerp(影色, メインカラー, 環境光 * 影色への環境光影響度);

The shadow color is (the shadow color texture if there is one, otherwise the main color) × the shadow color from the color picker × lerp(1.0, main color, contrast), and the final shadow color is that value lerped toward the main color by the ambient influence.

The three shadow levels are combined in this order.

影色2・3の合成結果 = lerp(影色3, 影色2, 3影のライティング);
全影の合成結果     = lerp(影色2・3の合成結果, 影色1, 2影のライティング);
最終結果           = lerp(全影の合成結果, メインカラー, 1影のライティング);

They are mixed from the innermost (3) outward to (1), and blended with the main color last.

RimShade

It adds shadow along the model’s silhouette to give a sense of volume. As the docs put it, this is a rim light acting as a shadow, and the effect reads as 3DCG rather than illustrated.

JapaneseEnglishDescription
色 / マスクColor / maskRimShade’s color and mask. Uses the R channel
ノーマルマップ強度Normal map strengthHow strongly the normal map is applied
範囲RangeThe extent over which the shadow falls
ぼかしBlur0 is anime-style, raising it is realistic
リムライトの細さRim light thinnessThe so-called Fresnel parameter. Strengthens contrast to make the rim narrower

That last entry is the one from the opening. It is “thinness”, not “a fine”, and it adjusts Fresnel contrast.

Emission settings (発光設定)

For things that emit light of their own, like LEDs and lamps. The specified color is added regardless of light strength, so it shows up especially well in dark spaces.

JapaneseEnglishDescription
ColorEmission color. UV settings sit behind the triangle beside it
マスクMaskWhere it emits and how strongly. Uses the RGBA channels
点滅の強さ / タイプ / 速度 / ズレBlink strength / type / speed / offsetWith type off it blinks smoothly; with it on the blink is sharp
グラデーションGradientVaries the color over time
視差の強さParallax strengthShifts the UV depending on the viewing angle
蛍光FluorescenceGlows only in the dark. It will not glow in a space with no light at all, though

Normal map and gloss settings (ノーマルマップ・光沢設定)

Normal map (ノーマルマップ設定)

A normal map changes nothing on its own. All it does is affect how shadows, rim light and the rest get applied. Up to two can be used, so the usual split is the first for broad shading and the second for detail. Only the second one supports a mask.

The docs list what a normal map affects: shadows, backlight, gloss, MatCap, rim light, glitter, AudioLink, refraction and gem.

Backlight (逆光ライト)

The light shining in from behind that illustration uses so often. It can receive shadows and follow the light, so the light enters a little differently than with rim light.

JapaneseEnglishDescription
ColorBacklight color
範囲 / ぼかしRange / blurHow far it glows and how soft it is
指向性DirectionalityHow much the brightness changes with the light direction
視線方向の影響度View direction influenceChanges the extent of the light according to the view direction
影を受け取るReceive shadowsReceives shadows cast by other objects
裏面で無効化Disable on backfacesTurns it off on backfaces

Gloss (光沢設定)

Covers everything from illustration-style highlights to realistic reflection of ambient light. You can assign a cubemap to customize the reflected light.

JapaneseEnglishDescription
滑らかさSmoothnessSurface smoothness. Lowering it softens the reflection. Uses the R channel
金属度MetallicHow metallic it looks. Uses the R channel
反射率ReflectanceReflectance of ambient light
ColorColor of the reflection
光沢のタイプGloss typeThe shape in which light is reflected
複数ライトから光沢を生成Gloss from multiple lightsAlso generates gloss from point and spot lights
環境光の反射Ambient reflectionReflects the surrounding colors
合成モードBlend modeNormal / additive / screen / multiply

MatCap (マットキャップ設定)

A MatCap moves with the camera direction. You draw the texture as highlights painted onto a sphere, and since it does not change with the lighting environment it is easy to work with.

JapaneseEnglishDescription
マットキャップMatCapThe MatCap texture
UV1を合成Blend UV1Blends UV1 into the MatCap UV. Projecting UV1 onto hair from the front and blending the y axis limits vertical movement, which suits hair highlights well
Z軸回転キャンセルCancel Z-axis rotationSuppresses the rotation you get from tilting your head or the camera in VR
パース補正Perspective correctionKeeps the projection from drifting at the edges of the screen
VR時の視差の強さParallax strength in VRAdjusts the “shimmer” in VR
マスクMaskWhere it applies. Uses the RGB channels
ライティングを適用Apply lightingKeeps the color from floating away under dark lighting
影部分で無効化 / 裏面で無効化Disable in shadow / on backfacesTurns the MatCap off in those areas
合成モードBlend modeNormal / additive / screen / multiply
カスタムノーマルマップCustom normal mapA normal map used only for the MatCap

Rim light (リムライト設定)

The look of light wrapping around the form. A highlight along the outline lifts the character off the background.

JapaneseEnglishDescription
色 / マスクColor / maskLets you change or disable the color by area
範囲 / ぼかしRange / blur0 is anime-style; raising it gives a softer impression
リムライトの細さRim light thinnessThe Fresnel parameter. Strengthens contrast to make the rim narrower
ライティングを適用Apply lightingKeeps the color from floating away under dark lighting
影部分で無効化Disable in shadowTurns it off in shadowed areas
裏面で無効化Disable on backfacesUse it when the inside of clothing glows unnaturally
ライト方向の影響度Light direction influenceLets you give the directly lit and indirectly lit parts their own blur, range and color
直接光の幅 / 間接光の幅Direct light width / indirect light widthThe extent of each
ノーマルマップ強度Normal map strengthHow strongly the normal map is applied
VR時の視差の強さParallax strength in VRParallax in VR

Glitter (ラメ設定)

Creates a sparkling texture.

JapaneseEnglishDescription
UV ModeUV ModeIf there is no UV1, UV0 is used. Enabling Generating Lightmap UVs on FBX import can generate UV1 automatically
ColorAn HDR color. Values above 1 make it sparkle harder
メインカラーの強度Main color strengthHow much the main color is multiplied in
ライティングを適用Apply lightingKeeps the color from floating away under dark lighting
影部分 / 裏面で無効化Disable in shadow / on backfacesRemoves it in those areas
ShapeマスクShape maskThe shape of the glitter. Uses the RGBA channels
ランダム化(Angle / Size)Randomize (angle / size)Random rotation and scaling
サイズ / パーティクルサイズSize / particle sizeMaxing out the particle size produces something like a Voronoi diagram
密度 / 感度 / 点滅の速度Density / sensitivity / blink speedHow strongly it glints and how responsive it is
角度制限Angle limitLimits the angles at which it glints
ライト方向の影響度Light direction influenceHow much the light direction is reflected in the gloss
ランダムカラーRandom colorHow much the color is randomized
ノーマルマップ強度Normal map strengthHow strongly the normal map is applied
コントラスト(後処理)Contrast (post-process)Controls density by adjusting gamma

Advanced settings — Outline (輪郭線設定)

The feature that corresponds to line art. Thickness can be driven by a texture, which gives you tapered stroke ends and partial masking, and pulling the color from a texture gives you colored line art.

There is one point the docs draw attention to. Models whose normals have been adjusted for face shading, and hard-edged models, normally do not produce a smooth outline; lilToon stores normal information in the vertex colors so it can draw one smoothly.

JapaneseEnglishDescription
テクスチャTextureYou can also set the color with the picker on the right
色相 / 彩度 / 明度 / ガンマHue / saturation / value / gammaColor correction
焼き込みBakeExports the corrected texture
ハイライトHighlightTurning on “take color from main color” multiplies the texture color in. Min and Max set the range
ライティングを適用Apply lightingApplies the brightness change from lighting
マスクと太さMask and thicknessNo outline appears where the mask is painted black. Uses the R channel
太さを補正Thickness correctionCorrects the change in thickness with distance
頂点カラーVertex colorNone / R→Width / RGBA→Normal & Width
太さ0の頂点を削除Delete zero-thickness verticesDeletes vertices where the thickness is 0, taking them out of rendering
Z BiasZ BiasMoves the outline forward or backward
ノーマルマップNormal mapAdjusts the direction the outline is pushed out

Between the word “push out” (押し出す) in that last entry and the design of using vertex normals for thickness, it looks like expansion along the normal direction — but the docs never state the rendering method explicitly. What is certain stops at the two sentences above.


Things that snag when you read the docs

Problems in the source itself, found while cross-checking. Verified on 2026-08-26.

For reference, every lilToon docs page has the same two sections: 概要 (overview) and パラメーター (parameters). Every property description lives in the パラメーター one, so below I link the page and name the property in the subheading.

Min・Max — the name and the description disagree

影設定

AO Mapを Mix ~Maxの範囲で再マッピングします。

The entry is named Min・Max but the description says Mix~Max. Min is what the value actually means, so the description looks like the typo.

Atras — the spelling changes mid-sentence

ラメ設定

形状のマスクテクスチャが Atras 化されている場合の縦横の アトラス 数の設定です。

The same sentence uses Roman Atras first and katakana アトラス second. It clearly means a texture atlas, so Atras is the typo. The entry name itself is Atras, so that is what shows up in the inspector too.

コントラスト(後処理) — it refers to an entry that isn’t there

ラメ設定

後処理で適用されるコントラストです。 前述のコントラスト は一定以下の明るさをカットするのに対し、こちらはガンマ値を調整することで密度を制御します。

It points at “the contrast mentioned earlier”, but that page has no standalone コントラスト entry. The list runs from UV Mode to コントラスト(後処理), 21 entries, and it is not among them.

The cubemap in gloss settings — in the overview, not in the parameters

光沢設定

Cubemapを指定することで 反射光をカスタマイズできるため様々な使い方ができます。

That is what the overview (概要) promises, but the parameter list (パラメーター) on the same page holds only eight entries — 滑らかさ 金属度 反射率 光沢のタイプ 複数ライトから光沢を生成 環境光の反射 合成モード — with no description of the entry that takes the cubemap.


So the official docs are not complete either. Running into an entry that is in the inspector but not in the docs is normal; when that happens, moving the value yourself is the faster route.


Summary


References

The material this post started from is 릴툰 쉐이더의 수치와 기능에 대해 알아보자! (“Let’s look into the values and features of the lilToon shader”). I used it as a reference for which entries to cover; the descriptions were written by cross-checking the official Japanese documentation entry by entry.


Share this post:

Previous Post
Ext4 and NTFS: How Linux and Windows Handle Disks
Next Post
Accessing Tensor Data Directly in Sentis: Why and How to Avoid Readback