Paint prefabs directly into your scene with randomized transforms, scale, and per-instance color variation. Everything needed to start painting is included and ready to use out of the box.
DPT_ShaderVariation for per-instance recoloring with zero extra draw callsOpen the painter and start placing assets in just a few steps.
Ctrl + Left Click and drag across scene surfaces to paint prefabs.Ctrl + Z and Ctrl + Y freely.
The palette is where you manage which prefabs the painter can place. It supports multiple groups, saveable presets, and several ways to add and remove assets.
| Control | Description |
|---|---|
| Active Palette File & Save As New | Saves your current palette as a reusable project asset. Load different palettes via the object field to switch between prop sets or biome themes instantly. |
| Thumbnail Grid | Shows icon previews for all loaded prefabs. Hover over any thumbnail to see a larger preview and the asset name. Right-click a thumbnail to open the prefab, create a variant, or toggle its active state in the palette. |
| Spawn Weight | Select one or more prefabs in the palette to reveal the Selected Item Settings panel. Use the Spawn Weight slider or field to control how frequently that prefab appears relative to others during painting — a value of 2 makes it spawn twice as often as a prefab weighted at 1. A small w badge on the thumbnail indicates a non-default weight is active. Weights are saved with the palette file. |
| Groups | The first group acts as your main active palette. Add more groups with + Add Group to organise assets by type, biome, or any other category. Press 1–9 / 0 to switch between groups quickly. |
| Marquee Selection | Click and drag over the thumbnail grid to select multiple prefabs at once. Use this to bulk-move or remove a set of assets. |
| Drag to Scene | Drag any prefab from the palette directly into the Scene view for manual one-off placement. |
| Drop to Remove | Drag selected prefabs into this zone to remove them from the palette. |
Switch between Paint, Erase, and Recolor tabs at the top of the panel. Use the large green button to start painting and the red button to stop.
| Mode | How It Works |
|---|---|
| Paint Mode | The default mode. Hold Ctrl + Left Click and drag to continuously paint prefabs onto surfaces within the brush radius. A spawn count estimate (~N) is shown when Scatter Mode is active. |
| Scatter Mode [O] | Places a large number of prefabs randomly across the full brush area in a single stroke. Ideal for painting dense ground cover like grass or rocks across wide areas. Toggle it on or off with O. |
| Line Mode | Hold Ctrl + Alt + Drag to paint prefabs in a straight line from your starting point. Useful for fences, walls, or road edges. Displays an estimated placement count while dragging. |
| Grid Mode | Hold Ctrl + Shift + Drag to paint prefabs snapped to a regular grid pattern. Good for structured layouts like floor tiles, crates, or crops. Shows an estimated placement count while dragging. |
| Paint Path [G] | Places prefabs along a smooth curved path. Press G to enter path mode, then Ctrl + Left Click to place nodes. Press G again or Enter to finish — the tool will populate the curve with prefabs spaced evenly along it. Shows an estimated placement count before you finish. |
| Setting | Description |
|---|---|
| Paintable Layer | Only surfaces on this layer will receive prefabs. Make sure your terrain or ground mesh uses a matching layer, otherwise raycasts will pass through and nothing will be placed. |
| Brush Shape [C] | Switches between Circle and Square brush footprints. Press C to cycle. |
| Brush Radius [ [ / ] ] | Controls the size of the brush area. Use [ to shrink and ] to grow the radius interactively in the scene. |
| Randomize Scatter [U] | When enabled, prefabs are placed at random positions within the brush radius rather than exactly at the cursor. When disabled, all placements land at the cursor position. |
| Min Spacing [M / Shift+M] | Sets the minimum distance between placed objects. Use M to step the value up and Shift+M to step it down. When Smart Clearance is on, object size is also factored in — see Transform & Hierarchy. |
| Spawn Rate [X / Shift+X] | Controls how quickly prefabs are placed during a held drag. Lower values place objects faster. Use X to increase the interval and Shift+X to decrease it. |
| Stretch Spacing To Fit [S] | Only visible in the editor window when Path Paint is active. If true, slightly stretches or squashes spacing to perfectly close a path loop. Turn OFF for rigid modular tiles (like roads) to prevent seams. |
| Brush Handle Color | Changes the color of the brush circle in the scene view. Adjust this if the default color is hard to see against your terrain. |
Per-instance visual variation using the DPT shader pipeline. These options add variety across painted objects without creating extra materials or breaking GPU batching.
| Setting | Description |
|---|---|
| Randomize Brightness [B] | Applies a random brightness offset to each placed prefab via the DPT_ShaderVariation component. Helps break up flat, uniform lighting across repeated assets. |
| Apply Color Tint [V] | Applies a color tint and optional HSV variance to each placed prefab. Useful for adding natural color variation to foliage, rocks, or any asset using the DPT shader. |
Controls how placed prefabs are oriented, scaled, named, and organised in the scene hierarchy.
| Setting | Description |
|---|---|
| Align to Ground [N] | Rotates each placed prefab so its up axis matches the surface normal it lands on. Useful for objects on slopes or uneven terrain. |
| Randomize Y Rotation [Y] | Rotates each placed prefab randomly around its vertical axis. Helps break up repetitive silhouettes when painting many of the same asset. |
| Randomize Scale [L] | Applies a random scale to each placed prefab between a minimum and maximum value you define. When disabled, a single fixed scale slider is shown instead. |
| Fixed Scale | Active when Randomize Scale is off. Applies a uniform scale to every placed prefab. |
| Allow Stacking [K] | When enabled, prefabs can be placed on top of previously painted objects — useful for layering props, such as painting moss or debris on top of rocks. When disabled, the painter will not place objects on other painted children of the same parent. |
| Place By Collider [P] | Positions prefabs based on the bottom of their collider bounds rather than their pivot point. This prevents objects with off-centre pivots from sinking into the ground. For prefabs without colliders, a temporary collider is generated automatically. |
| Smart Clearance [I] | Automatically accounts for each prefab's physical size when spacing objects. This prevents overlapping even when Min Spacing is set low. Increasing Min Spacing adds extra gap on top of the object's natural footprint. |
| Use Physics Fall [H] | After placement, runs a short editor-side physics simulation so prefabs fall and settle naturally under gravity. Good for filling uneven terrain, rock piles, or any scene where you want objects to rest realistically rather than float at the surface hit point. |
| Post-Placement Rotate [J] | After placing a prefab or group (via Scatter, Line, Grid, or Path), the tool pauses and lets you rotate the result by moving your mouse. The rotation pivots around the centre of the placed group and projects grounding onto the surface in real time. Click to confirm. |
Options for organizing painted objects, overriding object settings, and injecting components at paint time.
| Setting | Description |
|---|---|
| Parent Object & Name | All painted prefabs are placed as children of the assigned parent object. Set a name here and click New to create a fresh parent. The tool names each placed child sequentially using your chosen naming convention. |
| Naming Convention | Sets the prefix or pattern used when naming each spawned object. Objects are numbered sequentially—for example Rock_001, Rock_002, and so on. |
| Override Tag & Layer | Forces all placed objects to use the tag and layer you specify here, ignoring the values stored on the source prefab. You can also choose whether child objects are included. |
| Script Component Injection |
Attach custom C# components automatically as prefabs are painted without creating prefab variants.
|
The DPT shader uses a packed texture format that combines metallic, occlusion, detail, and smoothness data into a single file. You can create these using the built-in packer at Tools → DPT Games → Texture Channel Packer.
1.0 - value). Use this to convert a roughness map into a smoothness map.(R + G + B) / 3). Enable this if your source map is a 24-bit RGB file with no alpha channel.Before packing, make sure all source textures have these settings in the Unity Inspector:
All shortcuts are active while the painter is open and painting is enabled. They do not interfere with Unity's built-in editor shortcuts.
| Shortcut | Action |
|---|---|
| ' | Toggle painting on / off |
| Ctrl + Left Click | Paint prefabs (hold and drag to paint continuously) |
| Ctrl + Right Click | Erase painted objects under the brush |
| Ctrl + Alt + Drag | Line mode — paint along a straight line |
| Ctrl + Shift + Drag | Grid mode — paint snapped to a grid |
| G | Enter / finish Paint Path mode |
| Enter | Finish and populate the current path |
| S | Toggle Stretch Spacing To Fit, only viewable when Path Paint is on. |
| [ / ] | Decrease / increase brush radius |
| C | Cycle brush shape (Circle / Square) |
| O | Toggle Scatter mode |
| U | Toggle Randomize Scatter |
| M / Shift+M | Step Min Spacing up / down |
| X / Shift+X | Step Spawn Rate up / down |
| N | Toggle Align to Ground |
| Y | Toggle Randomize Y Rotation |
| L | Toggle Randomize Scale |
| K | Toggle Allow Stacking |
| P | Toggle Place By Collider |
| I | Toggle Smart Clearance |
| H | Toggle Use Physics Fall |
| J | Toggle Post-Placement Rotate |
| B | Toggle Randomize Brightness |
| V | Toggle Apply Color Tint |
| 1–9 / 0 | Switch palette group |
Ctrl + Z to undo. You can also switch to Erase mode and use Ctrl + Right Click to remove objects individually.If your project needs custom integration with the DPT ecosystem — including vertex data packing, normal array setup, GPU wind systems, or bespoke shader features — freelance technical art services are available. This also extends to general asset production: hard surface modelling, stylized prop creation, and game-ready LOD work tailored to your project's constraints.
For freelance or consulting enquiries, contact: support.dptgames [at] gmail.com with the subject line [Contract Inquiry].
[Support Request].