






Product Description
π¦ Fur Grooming Tool
Paint your fur maps directly onto the UV layout β right inside Unity.
Fur Grooming Tool is an editor window for authoring liltoon fur textures without leaving Unity. Comb the fur flow, paint how long it grows, and mask where it grows β then export clean, ready-to-use normal and mask textures that snap straight onto your material. No Blender round-trips, no Photoshop, no guesswork.
Four tabs, paint layers on the masks, a live 3D preview on your model, full symmetry, undo/redo, and one-click export. Everything that does work runs in the editor.
β¨ Four tabs, one window
π§ Direction β fur flow (normal map)
Drag across the UV to comb the fur. Set how strongly it lies down with the tilt strength and max-angle controls. Sub-modes let you edit exactly what you want:
Pinch β converge a tuft to a point (cowlicks, swirls)
Direction only / Strength only β tweak one channel without disturbing the other
Erase β fade strength back out
Live arrow overlay shows the flow as you paint (color-selectable)
Flip G toggle for correct Unity/OpenGL orientation
Exports a tangent-space normal map
π Length β how long the fur grows (grayscale mask)
Built for smooth gradients, not flat fills:
Soft brush with adjustable hardness + flow build-up for natural falloff
Smudge to melt hard edges into gradients
Gradient tool β drag a line for a clean rootβtip ramp
Fill white / Fill black to take a layer solid
Smooth layer β one-click blur of the layer you are painting
Right-drag lays down black to shorten; on the bottom layer it erases instead
Exports a grayscale length mask
β« Alpha β where fur grows (presence mask)
Crisp, binary control for cutouts:
Hard white / black brushes
Fill white / Fill black for instant base coverage
Threshold + optional soft 1px anti-aliased edge
Perfect for paw pads, claws, and fur poking through clothing
Exports a crisp presence mask
π§΅ Collision β fur that fits under clothing
Point it at your outfit meshes and press Resolve. At each texel it fires a fan of rays over the hemisphere to measure how shadowed the spot is and which way there is still room, then leans the fur over far enough for the tip to fit and caps its length by the room left along the way it ends up pointing.
A 20k-triangle garment against a 256Γ256 direction field resolves in about 0.15 s at medium quality
The resolve writes its own layer, so it can be hidden, faded or dropped without touching the groom underneath
The coverage map is shown on the tab beside previews of the three masks it writes
Scene-view debug hairs: surface normal in green, fur as groomed in blue, fur after resolving in red
Revert, and a resolve counts as a single undo step
π§± Paint layers on Length and Alpha
Both masks are layer stacks, the way a 2D editor does it:
Add, duplicate, delete, reorder, rename, show/hide, opacity, and a blend mode per layer (Normal / Min / Max)
Painting goes to the selected layer, so an idea can be tried and then kept or dropped without disturbing what is underneath
Merge shown flattens the shown layers exactly as the mask composites; hidden layers are kept
Holes β marks turns a layer inside out, keeping only what was erased as black marks, so stacked masks stop cancelling each other out
Export, the material preview and the resolver all read the composite, so what is saved is what is shown
Direction stays a single flat field
Groom files written by 1.0.x still load, as one base layer per mask.
π One bake per outfit
The Collision tab resolves one outfit with the paint window open. An avatar with several outfits wants that per outfit, and wants the result to arrive and leave with the toggle. Drop Fur Outfit Occluder on an outfit root and press Bake:
Collects every mesh under that root as clothing β nothing to list by hand
Reads the groom back out of the maps already on your fur material, so the paint window does not have to be open and no groom file has to sit beside the scene
Writes a fresh normal / length / alpha set and a copy of the fur material that uses them
Builds an animator layer that swaps that copy in while a bool avatar parameter is on β the same parameter your outfit toggle already uses
Your source material and its maps are never written to; each outfit gets its own copy, and re-baking after more painting picks up the new groom
The swap layer is named after the fur mesh rather than the outfit, so several outfits share one layer with a state each
π₯ See it on your model β live
Scene-view brush highlight β a marker shows exactly where your brush is on the actual 3D mesh as you paint. Symmetric/overlapping UVs light up every matching spot (e.g. both sides of the body at once).
Adjustable marker shape, color, and size.
Smoothed camera follow β the Scene camera glides to whatever you're painting, with optional align-to-surface-normal, distance/zoom, and field-of-view controls.
πͺ Symmetry that actually works
Paint one side, hit Apply mirror, done. Mirror leftβright, topβbottom, or both, with an adjustable axis. For the direction map it correctly flips the flow vectors across the axis, so mirrored fur points the right way β not just a copied image. Mirror applies to every layer of both masks.
πΊοΈ Grab the UV straight from the mesh
No exporting UV snapshots from Blender. Drag your avatar's mesh in and the tool auto-generates the UV wireframe as your paint background. Uses a direct mesh reference (no material guessing), regenerates on assign, with a manual Refresh UV button. A UV map dropdown picks the channel: new meshes default to UV0, and any of UV1βUV7 the mesh has can be displayed instead, with the Scene-view marker following the same channel.
π οΈ Workflow built for real editing
Undo / redo β Ctrl+Z, Ctrl+Y (or Ctrl+Shift+Z), plus toolbar buttons. Per stroke and per operation.
Zoom & pan β cursor-anchored scroll zoom (up to 16Γ), middle-drag pan, zoom slider + reset. Paint fine detail on tiny islands like toes.
Set-and-forget saving β pick an output folder + base name once; saving writes straight there and overwrites silently (no file dialog every time).
Load mask β bring an existing grayscale texture back into Length or Alpha to keep editing.
Save / Load groom β store your entire editable session, the direction field and both layer stacks, and resume later.
Auto-assign β exported maps drop straight onto your material's slot on save.
Clean UI β settings grouped into collapsible sections in a scrollable panel, so the paint canvas always stays big. Color-coded action buttons.
Export resolution 512β4096, with correct import settings applied automatically (Normal map / linear grayscale, sRGB off).
π§© liltoon-ready (and shader-agnostic)
Defaults target liltoon fur β _FurVectorTex (direction), _FurLengthMask (length), _FurMask (presence) β and the main _BumpMap normal slot. Every target property name is editable, so it works with other shaders too.
β Requirements & install
Unity 2019.4+
All the work happens in the editor. The outfit component carries settings and runs nothing at runtime; a bake leaves two animator states and a material swap, which is what the animation window writes when you drag a material onto a renderer slot. No performance rank hit.
Install via VRChat Creator Companion (add the listing) or import the .unitypackage directly
Works on any mesh with a UV0 map
π License
MIT β free to use, modify, and redistribute. Use it on personal and commercial avatars.