Get Tool: Simple Painter | Painting | Unity Asset Store

Simple Painter
is a high-performance, GPU-driven runtime texture painting framework for Unity. It enables real-time painting directly onto 3D meshes with full PBR multi-channel support, covering Albedo, Normal, Metallic, Roughness, Height, and any custom shader property.

The system is built around a phased command pipeline — all GPU work is batched into a single CommandBuffer per frame, ensuring minimal draw call overhead and zero per-frame GC allocations. The architecture is modular and extensible: triggers detect input, stroke methods interpolate brush paths, tools dispatch stamps, and committers finalize the result onto persistent texture layers.

Painting Modes: Simple Painter supports both direct painting (instant commit on stroke end) and simulation-based painting with three tiers of real-time fluid dynamics — from lightweight gravity drips to full MLS-MPM particle fluid. Each simulation tier produces physically-driven effects including flow, absorption, evaporation, and viscous cohesion, all running entirely on the GPU.

Channel & Layer System: Paint onto multiple material channels simultaneously. Each channel supports multiple layers with independent visibility, opacity, blend modes, and initial textures. Blend modes are type-aware — Color channels offer Screen, Overlay, and SoftLight; Normal channels offer RNM, UDN, Whiteout, and MaxSlope; Scalar channels provide standard arithmetic blends.

Input Flexibility: Three built-in trigger types handle different input scenarios: screen-space raycasting (mouse/touch), physics collisions (tire tracks, scratches), and particle system impacts (splatter effects). Four stroke interpolation methods are included: Bezier curves for smooth freehand, Line for straight edges, Dot for stippling, and Anchored for stamp placement with drag-to-resize.

Environment & Simulation: The PaintEnvironment system provides gravity-driven flow fields with optional WindZone integration, noise-based perturbation, and external brush forces (push, pull, swirl). Fluid simulations read from this shared flow context to produce realistic paint behavior on any surface orientation.

Progress Tracking: A built-in progress tracker measures paint coverage on any channel as a 0-to-1 ratio using async GPU readback and Burst-compiled counting. Supports UV island masking and custom mask textures for precise measurement regions — ideal for puzzle or objective-based gameplay.

Simple Painter is compatible with Built-In, URP, and HDRP render pipelines.

Updated 18 days ago
Published 23 days ago
StatusReleased
CategoryAssets
Authordeepwave
Made withUnity
Tags3D, brush, canvas, decal, draw, mesh, paint, Painting, PBR (Physically Based Rendering), texture
AI DisclosureAI Assisted, Text