Skip to main content

1.25.0

1.25.0 - 2026-10-20​

  • Changed: the Material Profile and Preset asset inspectors use the main window's collapsible sections and headings instead of plain foldouts.
  • Changed: ToonColorAssistantWindow moved from the ToonColorAssistant.Editor namespace to ToonColorAssistant.Editor.Window. A script that opens the window by its type needs the new namespace.
  • Added: Scene preview on the Toon Color Assistant component displays all component results on the same avatar root through NDMF preview renderers without changing source materials or meshes. Preview includes renderer overrides and generated surface textures. Select affected objects or refresh from the current pose in the inspector. The preview is on by default for an avatar with the component; Show in the Scene view turns it off per avatar. The choice is an editor session setting and does not change the build configuration.
  • Fixed: normals generated from albedo textures on Poiyomi 9.3, 10, and 11 follow the albedo UV channel, tiling, offset, panning, and stochastic sampling. Revert restores the previous normal sampling settings.
  • Added: a non-destructive Toon Color Assistant component for avatar and outfit roots. It collects child renderers, including inactive objects, and supports per-renderer overrides, per-material selection, manual material types, and automatic suggestions from sampled submesh UV colours. Nested components own their children.
  • Added: a UI Toolkit inspector styled like the main window. Default settings and per-renderer Use own settings instead of the defaults edit channels, shading and surface generation with the main window's sliders and toggles; renderers and sections build their fields only when opened. Component settings support undo and prefab overrides. The component uses the documentation logo as its icon.
  • Added: renderers on objects tagged EditorOnly, or below one, are left out of the component.
  • Changed: a shader the component cannot write to, an animated material swap, or an upstream preview that remaps material slots no longer stops the whole avatar. The renderer or material is skipped and listed under Notices; only an issue you can fix, such as a lighting mode that ignores shadow colours, still blocks.
  • Changed: the Scene preview lists problems and notices in collapsible sections with repeats merged, scrolled in a fixed height. Each problem has Select and Exclude buttons; Exclude stops applying the component to that renderer or material.
  • Added: the renderer list splits into Applied and Not applied sections, follows the object hierarchy as folders, and has a search field that matches renderer and material names.
  • Added: each folder in the renderer list has a checkbox; unchecking it stops the component from applying to every renderer below that object, and checking it applies them all again.
  • Added: Groups on the component. Materials put in a group, from the Group field of each material, share one palette made from the colour their members use most, so shadow colours match across renderers. A group has its own material type, and its members use it instead of their own. Turn on Palette only for a member, such as an expression material, to give it the group's palette without adding its colour to it.
  • Fixed: the scene preview no longer freezes the editor behind an NDMF "Hold on" dialog after every edit. It keeps each avatar's colour analysis and generated normal and matcap textures, and rebuilds only what the edit changed, so typing a group name or toggling a renderer updates at once. A build makes each identical texture once and shares it.
  • Fixed: the component takes each material's base colour from the colour its surface uses most instead of mixing every colour on it, so skin next to dark details on one texture no longer turns greyish. It also reads a material's samples in one pass, so analysing a Poiyomi material takes tens of milliseconds instead of seconds.
  • Fixed: an edit now rebuilds the preview only for the renderers it affects. Renaming a group rebuilds nothing, and changing one renderer's settings no longer makes NDMF and other tools rebuild the whole avatar.
  • Fixed: rebuilding one renderer's preview no longer removes the generated normal and matcap textures from the other renderers' previews, nor makes them analyse their colours again. Each generated texture is kept while a preview still shows it, and a material's colour analysis is shared by every preview that shows the same mesh, material and pose.
  • Fixed: changing a colour or slider in the main window rebuilds the component preview only for the renderers showing the window's preview, not every renderer of every avatar, and keeps those renderers' colour analysis, since the window's preview leaves the base colour as it is.
  • Fixed: typing a group name no longer refreshes the preview on every key. The name is saved when you press Enter or leave the field.
  • Changed: Normal Map (UV0) is off by default in the component's surface settings. Turn it on in Default settings or in a renderer's own settings.
  • Added: optional NDMF build integration that applies to copied materials and generated assets. Surface textures use power-of-two resolutions, mipmaps, and Windows Unity normal-map encoding. Existing texture import settings remain unchanged. Animated material swaps and unsupported build configurations report an issue. On a build target other than Windows, surface textures are skipped with a notice and colours are still applied.
  • Changed: opening the component inspector on a prefab instance no longer writes renderer entries, so it adds no prefab overrides. Press Refresh renderers to list new renderers and materials; until then they use the Default settings.
  • Changed: Skin gets a soft highlight that follows the light instead of a sharp toon spot. On lilToon and Poiyomi's lilToon reflections its specular is Realistic, and on Poiyomi's Unity-chan stylized specular, applying the highlight now sets Specular Mode to match the material type: Realistic for skin and the other types whose highlight follows the light, such as plastic, metal and glass, and Toon for types with a toon highlight, such as hair and leather.
  • Fixed: on lilToon and Poiyomi's lilToon reflections, the highlight strength now sets how bright the highlight is. It is written as the reflection colour's alpha, which the shader uses as the highlight's strength; before, the alpha already on the material stayed, so a weaker highlight such as skin's was as bright as hair's.
  • Fixed: on Poiyomi, Generate & Assign in Lighting Ramp and in Shadow Mask, and applying a Highlight drawn with lilToon reflections, leave on only the keyword of the Lighting Type or Stylized Reflections Mode that the material's value selects, as the shader inspector does. Generate & Assign used to turn its type's keyword on beside another type's, and the apply left a keyword that drew a different type until the inspector next corrected it. Revert puts the value and every type's keyword back. If you change the Lighting Type after assigning a ramp or a shadow mask, Revert and Remove still put back the type the material had before the assignment, its value and its keywords, as every other Revert does.
  • Fixed: on Poiyomi, applying Backlight writes the backlight's border and blur, and applying Highlight with lilToon reflections writes the toon specular's mode, border, blur and normal strength, as on lilToon. They used to keep the material's old values, so the same settings gave a different backlight band and highlight on Poiyomi than on lilToon.
  • Fixed: on Poiyomi, a highlight drawn with lilToon reflections now checks the Stylized Reflections module that draws it. With the module off, the material shows a warning whose fix turns the module on; applying with the highlight recommended turns it on too, and any other apply leaves the highlight's colour and specular values alone. It used to write them into the switched-off module with no warning.
  • Fixed: on lilToon and on Poiyomi's lilToon reflections, a highlight with both Apply Specular and Environment Reflections off draws nothing. This is now shown as a warning, and its fix, or applying with the highlight recommended, turns Apply Specular on.
  • Fixed: on lilToon Multi and Poiyomi, a shadow, rim, backlight or highlight is judged by the shader keyword that actually draws it. One that draws no longer shows a "turned off" warning, and one that does not draw now does.
  • Changed: on Poiyomi, applying the rim, backlight or highlight no longer turns on the Shadows module, since Poiyomi draws them without it. Only applying the shadows turns it on.
  • Changed: on Poiyomi, turning off a highlight drawn with lilToon reflections turns off the Stylized Reflections module instead of the reflection switch inside it.
  • Changed: on lilToon other than Multi, turning a feature on or off no longer adds or removes lilToon Multi's feature keywords, which those shaders never read.
  • Fixed: on Poiyomi, Generate & Assign in Lighting Ramp and in Shadow Mask turns on the Shadows module and the lighting type's keyword that draw the texture, and Revert turns them back off. The texture used to be written into a material whose shadows were off, where it showed nothing.
  • Fixed: on Poiyomi, Shadow Mask is offered only while the shadow mask's Map Type is Strength, as on lilToon. With Flat the shader uses the texture to blend in flat shading, so a strength mask drew something else.
  • Fixed: on Poiyomi 9.3, removing a Detail Normal (UV1) leaves the Detail Normals & Texture module on, because the same module draws the detail texture. It used to switch the detail texture off too.
  • Fixed: on Poiyomi, the shadow colour is no longer written in the Cloth lighting type, nor in Realistic on 9.3, because the shader does not read it there; the primary shadow shows as not available instead. The shadow border, deep and third shadow colours and the shadow's base mix are written only in Multilayer Math, the only lighting type that reads them. They used to be written in every lighting type and changed your values for a type you might switch to later. Cloth, and Realistic on 9.3, now also show the Switch to Multilayer Math fix that Shade Map and Flat show.
  • Added: a Texture Kit texture that is assigned but does not draw, such as a matcap whose module is off or a Poiyomi lighting ramp whose shadows are off, shows a warning that names the texture and whose fix turns the feature on.
  • Fixed: a MatCap Normal or MatCap Mask counts as drawn only while the matcap module is on, because the shader reads them inside it. Assigning a matcap normal turns the matcap on with it, and removing the normal leaves the matcap on. On lilToon Multi, a first matcap whose custom normal is off is no longer counted as drawing its normal just because the second matcap uses one.
  • Changed: a lilToon Lite shadow colour texture is skipped, with a note, when a colours-only apply would put it on a material whose shadows are off. It used to be written there and draw nothing.
  • Changed: a translucent surface's shading over the surface behind it now counts that surface's shadow as off when its Poiyomi Shadows module is off, or when a lilToon Multi shadow keyword is off. It used to treat a Poiyomi shadow as always on.
  • Changed: applying to a material type that does not recommend gloss (Fur, Suede, Velvet, Emissive, Eye, Teeth) with Turn off not recommended features on turns off only a matcap the tool made or one with no texture. A matcap that uses your own texture stays on, and the result says it was kept.
  • Fixed: on Poiyomi, the gloss matcap no longer darkens and takes the shadow's colour inside shadows. It is now added on top of the lighting and tinted only by the light's colour, as on lilToon. It follows the main light as on lilToon; extra point or spot lights and premultiplied transparency do not affect the gloss on Poiyomi.
  • Fixed: Revert and Revert All Targets now also undo what a warning's fix button changed, such as switching the Poiyomi lighting mode to Multilayer Math or turning a disabled feature on. They used to leave those values changed. A fix button that covers the current material adds it to the targets list, as Apply to All Targets does, so Revert All Targets reaches it.
  • Fixed: on Poiyomi, the Apply tab warns when a colour Toon Color Assistant writes cannot show, and its button fixes only that setting. A warning appears only while the module that shows the colour is on, and an outline warning only while Outline is checked. A theme colour set on the highlight, specular tint, rim shade, rim light, outline, MatCap, Glitter or Hair highlight colour shows instead of the colour Toon Color Assistant applies: Theme Color 0-3 always, ColorChord and AL Theme only in worlds with AudioLink. Turn the theme colour off sets it back to Off. An AudioLink colour override on the outline, and on Poiyomi 10.0 and 11.0 also on the matcap and glitter, replaces the colour while audio plays in worlds with AudioLink; Turn the AudioLink colour override off turns off only that override and leaves AudioLink on. On Poiyomi 10.0 and 11.0, the matcap's Reflection Fallback hides the matcap in worlds with a reflection probe; Turn Reflection Fallback off turns it off.
  • Fixed: on Poiyomi, applying the highlight no longer writes the stylized specular feather while Specular Mode is Realistic, and assigning Glitter no longer writes the glitter size while Random Size is on. Poiyomi does not read those values in those modes, so your own settings are kept.