Pattern Painter LogoPattern Painter

Pattern Painter is a Unity Editor tool designed to speed up level design, prototyping, and game development workflows. It enables efficient placement of Game Objects in various geometric patterns.

  • Grid
  • Checkerboard
  • Line
  • Circle
  • Oval
  • Triangle
  • Rectangle
  • Pentagon
  • Hexagon
  • Concentric Circles
  • Radial Spokes
  • more to come!

Getting Started

The basic workflow is:

  1. Select a Game Object as a base surface for projection.
  2. Project a pattern of Placement Points and tweak its settings to your needs.
  3. Instantiate a Prefab at each Placement Point.

Optionally:

  • Adjust the rotation of generated Game Objects.
  • Align objects to other surfaces, like terrains and other meshes.

Placement Mode

Open the Pattern Painter UI via Tools > Pattern Painter

Pattern Painter tool menu

Select a single Game Object in the scene to serve as a “base surface” onto which the pattern will generate Placement Points. The selected Game Object or at least one of its children must have a Mesh.

message-example-1Select a base surface

You will see a live preview of Placement Points (green spheres) projected onto the selected Game Object.

Live preview of Placement Points
Tip:If placement points don't appear, try moving the camera closer to the object or adjusting the pattern settings to reduce point density.

If they don't appear:

  • Move the camera closer to the object.
  • Adjust pattern settings to reduce point density.

Select a pattern and click “Calculate Placement Points”

message-example-3

Prefab Settings

Set a Prefab in the “Prefab to Instantiate” field. The green spheres will update to the Prefab's silhouette.

Optionally, assign a Parent Object from the scene to keep prefabs organized.

Assign Parent for Game Objects

Click “Create Prefabs at Placement Points” to generate prefabs at the Placement Points.

Note:Pattern Painter supports Undo/Redo operations, so you can experiment freely and revert changes if needed.

Alignment Settings (Optional)

Adjust the rotation of generated Game Objects using the “Prefab Rotation Mode” dropdown, then click “Recalculate Prefab Rotation”

Align to Terrain (Optional)

To align objects to another surface (e.g., a terrain), create a temporary cube to serve as a surface to project your pattern.

Temporary base for alignment

Then select the Alignment Layer of the terrain and click “Align With Surface”

Warning:The target surface for alignment must be on a selected Alignment Layer, have a Collider, and be positioned below the base surface in world-space (Y-axis).

Important:

  • Target surface must be on a selected Alignment Layer.
  • It must have a Collider.
  • It must be below the base surface in world-space (Y-axis).

Developer Notes

  • Pattern Painter supports Undo & Redo for placement operations.Undo Placement
  • Warning appears if the pattern is too dense or too large.Long Running Process Warning
  • Press Space Bar to cancel a long-running operation.Long running process progress bar
  • For best performance, bake meshes together instead of tracking many nested objects.
  • Base surface must have a height (may not work on a single Plane).
  • Supports only one base surface selection at a time.

Known Limitations

  • Currently designed for 3D workflows, not tested for 2D.
  • Not recommended for high-density, large-scale terrain object placement.
  • Base surface must have a height, for example, a Cube instead of a single Plane.
  • Current version supports only one base surface selection at a time.

Release History

  • A big new update with improvements and more pattern options!

    • New line patterns: Triangle, Rectangle, Pentagon, Hexagon, and Oval.
    • All new patterns are fully customizable.
    • Added support for multiple Prefabs in the same pattern.
    • New 'Randomize Offset' option to break up repetitive patterns.
    • Prefab Live Preview now shows rotation in the scene.
    • Package size reduced by 87% by moving docs online — faster downloads, cleaner project.
    • New animation when placing prefabs.
    • Supports prefabs with over 65,535 vertices.
    • Under-the-hood upgrades and bug fixes.