UModeler X MCP已上线 — 用 AI 智能体建模
UModeler X

Painting Data & Channels

PaintData assetization, per-channel painting, save and duplicate behavior.

Translation in progress — showing the English version.

PaintData Assets

Painting results no longer live only inside the scene — they are persisted as permanent assets in the project. The storage is split into two trees: an Editor-only tree and a Runtime tree that ships in builds.

Editor tree — PaintData .asset

{SaveDataFolder}/PaintData/{Material name}/{Channel name}/
    └─ <channel name>.asset

PaintData is an editor-only ScriptableObject and is not included in builds.

SaveDataFolder default: Assets/UModelerXData/Editor

Runtime tree — .mat / .png

{PaintRuntimeFolder}/{Material name}/{Channel name}/
    ├─ <material name>.mat         (runtime material)
    └─ <channel name>.png          (runtime texture)

The material and texture are runtime assets, so they live in a separate Runtime tree.

PaintRuntimeFolder default: Assets/UModelerXData/Runtime/PaintData

Auto-Setup

The moment a material is assigned to an object's material slot, the corresponding PaintData / channel / layer assets are created automatically and bound to the slot, and you can begin painting immediately.

What gets created vs. reused depends on what the slot already contains — the rules below keep the painter from accidentally overwriting source assets that aren't meant to be edited.

Material handling

Material in the slotBehavior
NoneAuto-setup is skipped. Assign a material first to begin painting
Modifiable .mat (regular material under Assets/)The original is shared. Other objects using the same material stay in sync with painting results
Read-only material (built-in, under Packages/, inside the UModelerX package, etc.)A .mat clone is created in the PaintData folder and the object's slot is swapped to the clone. The original is preserved

Texture handling (per channel)

Texture in the slotBehavior
None (empty slot)A new PNG is created, pre-filled with the channel's default background color
Modifiable Texture2D asset (under Assets/, main asset)The texture is adopted as-is and painting writes directly into the original PNG. Every object that shares this texture stays in sync
Read-only / sub-asset / other type (built-in, embedded FBX texture, RenderTexture, etc.)A new PNG is created with the original pixels copied in as the initial content. It looks identical to the source even before Apply, and painting never touches the original asset

Per-Channel PaintData

Each channel (Albedo / Normal / Metallic / Roughness / Mask, etc.) is managed as a distinct channel entry. Channels that point at the same PNG automatically share a single PaintData instance (deduplication).

Channels Panel

The Channels panel in the Painting 3D inspector lists the channels owned by the current material. From here you can change the resolution and select channels. See the Channels Group page for details.

Painting Multiple Channels Simultaneously

Brush, shape, and gradient commands all iterate over the active channels and apply in a single pass. You can paint the same stroke onto multiple channels at once, which speeds up PBR material work.

Scene Save Behavior

When a scene is saved, the PaintData on UModelerX components inside that scene is flushed to disk along with the scene. Render textures are restored immediately after the save so you can keep working without interruption.

Object Duplication

When a painted object is duplicated, its PaintData / material(.mat) / texture(.png) assets are also duplicated and detached from the original. Edits on either side do not affect the other.

Prefab Stage

When you paint inside a Prefab Stage and then leave the stage, in-progress PaintData is cleaned up alongside the prefab as part of the closing handlers. (The actual prefab save still follows Unity's standard save flow.)

Brush Color Persistence

The brush color is stored per channel (Albedo / Metallic / Roughness, etc.) and automatically persisted, so closing and reopening the window preserves the last color you used on each channel.

Painting Data & Channels | UModeler X Manual