Actor Spawner & Painter in Editor Pro Documentation

ACTOR SPAWNER & PAINTER IN EDITOR PRO Documentation for version 3.0.0 Unreal Engine 5.6, 5.7 and 5.8 | Windows 64-bit Editor CelestiaDominance

OVERVIEW

Place your own Actor Blueprints directly in a level using precise clicks or a circular brush. Control spacing, uniform scale, random rotation, surface alignment and overlap between painted actors.

Placements are ordinary actors in the current level. They keep the components and behavior defined by their class and can be selected, moved, duplicated or deleted with Unreal's usual level-editing tools. The painter runs in the editor; the actor class determines what each placement does during gameplay.

The plugin supplies the painting tool and its C++ source. It includes no Blueprint assets, meshes, materials or example maps. Use actors from your project. A placeable Actor class needs a root component so it can retain a position, rotation and scale.

OPENING AND USING THE TOOL

1. Open your level and choose the visible, unlocked level that should receive the actors. 2. Click Actor Spawner & Painter in Editor Pro in the level editor toolbar, or choose the same entry in the Window menu. The tool is also listed among the editor modes. 3. Choose your class in Blueprint Class. For a Blueprint, compile and save it before painting. 4. Move the pointer over a surface in the level viewport. The surface must have collision that blocks Visibility traces. 5. Use Single Click Placement for individual drops, or turn it off and hold the left mouse button while moving across the surface to paint with the brush. 6. Release the mouse button to finish the stroke. Save the level to retain the placements.

Actors go into the current target level, which can differ from the level containing the surface under the pointer. Painting is unavailable during Play or Simulate, in asset preview viewports, and when the target level is hidden or locked.

MOUSE AND EDITOR CONTROLS

- Left click: begin a placement or brush stroke. - Hold left mouse and move: apply the brush as the hovered position advances. - Release left mouse: finish the stroke. - Double-click: both presses are handled as placement input. Spacing and overlap rules still determine whether an actor can be placed. - Alt, Ctrl, Shift, or the right/middle mouse button: stop the current painting stroke so navigation or editor shortcuts can take over. Release and press left mouse again to start a new stroke. - Escape: finish the stroke. Actors already placed remain in the level. - Undo/Redo: use Unreal's normal commands. Each completed click or brush stroke is one undo step. Use Undo to remove a stroke you do not want.

Switching modes, leaving the viewport, losing focus, closing the viewport, changing maps or starting Play/Simulate also ends an active stroke. To edit or delete individual placements, leave painting mode and use the normal editor selection tools.

SETTINGS REFERENCE

Blueprint Class The Actor class to place. Abstract, deprecated, transient and non-placeable classes are rejected. A normal Actor Blueprint with a Scene Component or another scene component as its root is suitable. A class without a root component is rejected with an Output Log message.

Brush Radius Radius in Unreal units, measured in the plane of the hovered surface. Default: 512. Allowed range: 0 to 65,536. A radius of zero places attempts at the hovered point. Single Click Placement uses the pointer's hit rather than a random position within the brush.

Paint Density Number of placement attempts per brush application, rounded to a whole number. Default: 1. Allowed range: 0 to 100. Zero disables brush placement. Spacing, overlap and surface checks can reduce the number of actors actually placed. Single Click Placement always attempts one actor, regardless of density.

Single Click Placement Default: off. When on, a press attempts one actor at the cursor hit and holding the button does not keep adding actors. When off, the brush samples positions across its circular area as you move.

Scale Min / Scale Max Range for a random uniform scale, applied to all three axes. Both default to 1. Allowed range: 0.01 to 10. Set both values to the same number for a fixed scale. Reversed limits are put in ascending order. The requested scale is supplied during actor construction; your construction script can still change the resulting transform.

Randomize Rotation Default: on. Selects a random yaw between Rotation Min and Rotation Max for each attempt. Turn it off for zero painter-applied yaw. The actor's own component rotations and construction logic still apply.

Rotation Min / Rotation Max Yaw range in degrees, used when Randomize Rotation is on. Defaults: 0 and 360. Each limit allows -360 to 360. Set matching limits for a fixed yaw. Reversed limits are put in ascending order.

Align To Normal Default: off. When on, the actor's local Z axis follows the normal at its placement point. Random yaw then spins around that normal. This supports flat ground, slopes, walls and other traced surfaces. If the visual mesh uses a different up axis, adjust its component rotation in the actor class.

Prevent Overlap With Tool Actors Default: on. Rejects placements whose final world-space component bounding box intersects another recognized tool actor's bounding box. Checks include the actor's constructed components, child actor components and final scale. For actors without usable component bounds, the tool uses a small fallback box centered on the pivot.

This is a bounding-box check, so rotated or irregular shapes can be rejected even when their visible geometry would fit. Untagged scenery is outside this overlap check. The ground is used as a placement surface rather than treated as an obstacle that automatically lifts the actor.

Minimum Distance Minimum 3D distance between actor pivots, in Unreal units. Default: 100. Allowed range: 0 to 10,000. It applies to recognized tool actors even when Prevent Overlap With Tool Actors is off. The check runs after surface projection and again after actor construction, so a construction script that moves an actor cannot bypass the final spacing check.

The brush also waits for its hovered center to move at least this distance before another application within the same stroke, with a minimum movement of 1 unit. Holding the pointer still does not continuously fill the same area. Large, fast cursor movements can leave gaps; use slower strokes or shorter spacing for denser coverage.

Require Surface Below Default: on. For a brush sample away from the center, the tool searches for a surface along the hovered surface's normal. On a wall, this search follows the wall normal rather than always searching vertically downward. If no surface is found, the sample is skipped.

When off, a sample with no secondary hit can remain on the brush's sampling plane. The pointer still needs an initial surface hit to use the tool. Single-click placement uses that initial hit directly.

Tool Actor Tag Tag assigned to painted actors and used to recognize existing placements. The original default is 1A2A3A4A5A6A7A8A9A0. An empty/None setting falls back to this default.

The active tag and the original default tag are both recognized. This preserves checks against older placements that kept their default tag. Changing the active tag does not retag existing actors. Actors using a previous custom tag are outside the new group unless you retag them. A manually duplicated actor carrying a recognized tag participates in subsequent spacing and overlap checks.

SETTINGS AND SAVING

Painting settings are saved per project and per editor user, including the chosen class, brush settings, scale and rotation ranges, alignment, spacing, overlap, surface requirement and tag. These are personal editor preferences rather than a shared project preset asset.

Invalid numeric values are sanitized and supported limits are enforced. Existing actors are not changed when you edit a painter setting; the new setting affects subsequent placements.

Save the level after painting. Saved placements do not depend on a special painter actor or runtime painter component. Gameplay, networking, collision and cooking requirements come from the actor classes and assets you choose.

SURFACES, PIVOTS AND CONSTRUCTION SCRIPTS

The tool traces collision using the Visibility channel, with complex traces requested. A visible mesh without a suitable blocking collision response may not be paintable. Hidden actors and actors in hidden levels are ignored as placement surfaces.

With overlap prevention on, recognized painted actors are also ignored as trace surfaces so the brush can continue reaching the scenery beneath them. With it off, their Visibility collision can become a placement surface.

The actor pivot is placed at the surface hit. There is no automatic offset that moves the lowest mesh point onto the ground. For reliable contact, prepare the root and mesh offset in the actor class. A mesh centered on its pivot may extend into the surface after placement.

Construction scripts run as actors are placed and may run again through normal editor movement notifications. They should tolerate normal editor construction and avoid irreversible external side effects. The tool checks the resulting transform, spacing and bounds before accepting a placement, but a rejected candidate may already have run its construction logic.

Spacing and overlap are placement-time checks. They do not continuously constrain actors after you move them manually, animate them, or change their construction logic.

PRACTICAL STARTING POINTS

Precise prop placement: turn on Single Click Placement, set Scale Min and Scale Max to 1, and turn off Randomize Rotation. Click the desired surface. Set Minimum Distance to 0 if you need closely spaced pivots; overlap prevention can still reject intersecting bounds.

Scatter across terrain: turn off Single Click Placement, start with a modest radius and density, then drag slowly. Increase Minimum Distance for wider gaps. Use a narrow scale range and random yaw for variation. Enable Align To Normal when the actor should tilt with the terrain.

Place along a wall: enable Align To Normal and Require Surface Below, then hover a wall with Visibility-blocking collision. The actor's local Z axis points away from the wall. Prepare the actor's component orientation for that use.

TROUBLESHOOTING

Nothing is placed Check that a valid class is selected, it has a root component, the target level is visible and unlocked, and Play/Simulate is stopped. Check the surface's Visibility collision. In brush mode, make sure density rounds to at least 1 and move the pointer enough to trigger another application. Spacing or overlap rejection can also prevent placement.

Fewer actors appear than the density setting Density counts attempts. Some samples can miss the surface, fail minimum spacing or overlap existing tool actors. Reduce density or spacing, adjust radius, or review the actor bounds and surface.

Actors look tilted or sunk into the ground Check Align To Normal, the actor's local axes, mesh component rotation and pivot offset. The tool aligns local Z and places the pivot at the hit. Review any construction script that changes the transform.

Overlap prevention leaves unexpectedly large gaps It uses world-space bounding boxes, including non-colliding components and child actor components. An offset, large or rotated component can enlarge those bounds. Review the components or rely on Minimum Distance with overlap prevention off when that suits your layout.

The brush stops after navigation or leaving the viewport The stroke has ended. Return to the level viewport and press left mouse again.

Old placements are not recognized Check their actor tags. The current tool tag and original default tag are recognized; unrelated custom tags and manually removed tags are not.

Large painting operations slow the editor Every placement is a full actor, and its construction script runs. Use modest density and brush sizes, simpler actor classes, and meaningful spacing. This tool does not convert actors into foliage or instanced static meshes.

SUPPORT

Discord: https://discord.gg/9Zc4wbwqG9

When reporting a problem, include the Unreal Engine version, plugin version, chosen actor class, relevant painter settings, reproduction steps and any Output Log message.

Copyright (c) 2026 CelestiaDominance. All Rights Reserved.