Skip to content

Spline Asset Placer

Module: Art · Category: Scatter · Tool ID: SplineAssetPlacer

Artist-friendly spline-driven mesh distribution. Pick a spline actor in the level, pick a mesh, set spacing, click Place. Includes tangent alignment, ground snap with surface-normal alignment, scale randomization (uniform or per-axis), random rotation, lateral/vertical offset, quick presets (Road / Fence / Pipe / Foliage Row / Streetlight), and batch mode for applying the same setup to all spline actors in the level.

Screenshot 01 — Hero shot — Tool open with a spline actor selected, fence preset loaded, mesh placed along the spline visible in viewport.


  • Distributing repeating meshes along a path: roads, fences, pipes, cables, streetlights, foliage rows
  • Quick rope bridge / chain link / row-of-anything authoring
  • Ground-snapped foliage rows that follow terrain
  • Batch placement on multiple splines at once
  • Don’t use this for irregular scatter — use Procedural Scattering & Placement Suite for that
  • Don’t expect cubic interpolation between samples — placement uses spline distance, snapped to spacing

  1. Open the EQLabs Hub and search for Spline (or browse to Art → Scatter)
  2. Click the tool card
  3. Either: select a spline actor in the level and click Pick Selected Spline Actor, or click Create Spline Actor to spawn one

The panel is organized into six sections:

FieldWhat it does
Spline ActorCurrently picked spline actor (selected from the level)
Pick Selected Spline ActorPicks whatever spline-bearing actor is selected in the level
Create Spline ActorSpawns a new actor with a USplineComponent
Mesh pickerThe static mesh to distribute
FieldWhat it doesDefault
SpacingDistance between instances along the spline200 cm
Spacing JitterRandom ± variation on spacing0
Start Trim / End TrimSkip the first/last N units of spline0
Offset RightLateral offset from spline0
Offset UpVertical offset0
Random Offset Right / Up / ForwardRandom ± jitter on each offset axis0
Scale Min / MaxUniform random scale range0.91.1
Non-Uniform ScaleToggle X/Y/Z independent randomizationfalse
Per-axis scale rangesWhen non-uniform, separate min/max per axiseach 0.91.1
Align to TangentRotate instance to follow spline directiontrue
Random YawRandom Yaw rotationfalse
Yaw Min / MaxRandom Yaw range when enabled0360
Pitch / Roll Min / MaxRandom Pitch/Roll ranges0
Step Rotation YawIncremental Yaw per instance (spiral stairs, twisted cables)0
FieldWhat it doesDefault
Ground SnapTrace from the spline location to ground and snapfalse
Ground Trace DistanceHow far to trace down500 cm
Align to Surface NormalRotate instance up-vector to ground normalfalse
Sink DepthPush the instance into the ground (cm)0

Per-row preset list:

PresetTuned for
RoadWide spacing, tangent-aligned, no jitter
FenceTight spacing, tangent-aligned, slight scale variation
PipeTight spacing, tangent-aligned, locked rotation
Foliage RowVariable spacing + jitter, ground-snapped, random Yaw
StreetlightWide spacing, tangent-aligned, no scale variation

Click a preset row to fill the placement settings with that preset’s values.

ButtonWhat it does
PreviewSpawns instances temporarily for visualization
PlaceSpawns instances permanently in the level
Clear PlacedRemoves all placed instances from this tool’s session
Bake to HISMConverts placed instances to a HISM component
FieldWhat it does
Scan Spline ActorsWalks the level for all actors with USplineComponent
Spline actors listPer-actor row: name, spline length, point count
Apply to All SplinesRuns the placement on every spline in the list

Screenshot 02 — Spline Asset Placer with preset — Panel with Fence preset selected, spline visible in viewport with fence posts placed along it.


  1. Select a spline actor in the level, click Pick Selected Spline Actor in the tool
  2. Drop a mesh into the Mesh picker
  3. Pick a preset (or set Spacing manually)
  4. Click Preview to see the result without committing
  5. Click Place to commit
  1. Click Scan Spline Actors
  2. Confirm the list looks right
  3. Configure the placement (one configuration applies to all)
  4. Click Apply to All Splines

Section-by-section defaults shown in the Interface tour above.

Settings are persisted to [Project]/Saved/EQLabs/Settings/SplineAssetPlacer.json.


  • In-place actor placementAStaticMeshActor instances along the spline
  • HISM bakingBake to HISM converts them to a single HISM component
  • Undo — placement is wrapped in ScopedTransaction. Ctrl+Z reverses.

  • Step Rotation Yaw is the secret to spiral / twisted-cable looks — at 15° per instance, you get a gentle twist; at 90°, a hard spiral
  • Ground snap can fail on thin geometry — increase Ground Trace Distance if instances appear above the surface
  • Sink Depth helps with foliage / debris that should appear partially buried — start at 5 cm
  • Random Yaw range can be limited — use RandomYawMin / RandomYawMax (e.g., -15° to +15°) for natural variation rather than full 0–360°
  • Batch mode applies the same configuration to every spline — for per-spline customization, run the tool once per spline


Report an issue with this tool

Opens our feedback form in a new tab with the tool name pre-filled.