Skip to content

World-Scale & Traversal Checker

Module: Modeling · Category: Traversal · Tool ID: WorldScaleTraversalChecker

Sweeps the open level with raycasts on a configurable grid and flags every spot where the geometry violates your character’s movement budget — steps too tall, gaps too wide, ceilings too low, ledges higher than jump height. Each violation lists a world location and an actor name, and clicks the viewport camera straight to it for inspection.

Screenshot 01 — Hero shot — Tool open with a populated violations list, viewport visible behind showing focus pin on a flagged ledge.


  • Whitebox / blockout pass — confirming your level actually conforms to the movement budget you wrote on a whiteboard
  • Inheriting a level built by another team and wanting an objective list of “is this even traversable?”
  • Tuning a new character’s movement params against an existing environment
  • Pre-playtest sanity sweep — cheaper than discovering the gym is impossible during a session
  • Don’t use this for nav-mesh debugging — UE has dedicated nav-mesh visualizers; this tool is geometry-side, not pathing-side
  • Don’t expect dynamic/instanced foliage to be tested — the sweep traces visibility-channel collision; foliage typically isn’t in that channel

  1. Open the EQLabs Hub and search for Traversal (or browse to Modeling → Traversal)
  2. Click the tool card to open the panel
  3. Make sure you have a level loaded — the tool sweeps the active editor world

The panel is a single scroll container, top to bottom:

A reminder of what the tool does and how the Focus action works on result rows.

A two-column section with six fields. Defaults match a roughly UE-default Character.

FieldWhat it representsDefault
Jump Height (cm)Max vertical jump. Ledges taller than this are flagged as LedgeTooHigh.300
Step Height (cm)Max step the character can walk up without jumping. Steps above are flagged as StepTooHigh.45
Max Gap Width (cm)Max gap the character can cross. Wider gaps are flagged as GapTooWide.200
Grid Spacing (cm)Distance between scan sample points on the X/Y grid. Lower = thorough but slower.200
Capsule Radius (cm)Character collision radius. Used for ceiling/gap geometry queries.34
Capsule Half Height (cm)Character half-height. Ceilings under 2 × HalfHeight are flagged as CeilingTooLow.88
ButtonBehavior
Scan World GeometryComputes level bounds, walks a grid, raycasts in 4 directions per sample, flags violations. Progress dialog shows during the sweep.
CopyCopies all violations as plain text to the clipboard.

One row per violation, with type, description (with measured vs. allowed values), actor name, and a Focus action. Single-click pings the location, double-click flies the viewport camera to it.

Screenshot 02 — Annotated panel — Full panel with each numbered region called out (params, buttons, summary, list).


Step 1 — Open the level you want to test

Section titled “Step 1 — Open the level you want to test”

The tool sweeps GEditor->GetEditorWorldContext().World() — whatever level is currently open.

Plug in the Jump Height, Step Height, Max Gap Width, and capsule dimensions that match your character. If you’re not sure, start with the defaults — they approximate UE’s stock Character.

200 cm is a good default for most levels. Drop to 100 cm for a thorough pass on a small playable space. Keep 200+ for large World Partition cells unless you’re willing to wait.

A progress dialog appears while the level is swept. Total samples are clamped to a maximum of 200 × 200 to prevent runaway scans on enormous worlds.

Each row tells you:

  • The type of violation (Step Too High, Gap Too Wide, Ceiling Too Low, Ledge Too High, Unreachable Area)
  • The measured value vs. the max allowed
  • The actor that contributed the offending geometry

Single-click a row to ping. Double-click (or use Focus) to fly the camera there. Fix or accept each issue in turn.


FieldRangeDefault
Jump Height0 – 2000 cm300
Step Height0 – 200 cm45
Max Gap Width0 – 1000 cm200
Grid Spacing50 – 2000 cm200
Capsule Radius10 – 200 cm34
Capsule Half Height20 – 300 cm88

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


  • Results list — in-panel; cleared on each new scan
  • Clipboard — via the Copy button, plain text, one violation per line
  • No level edits — the tool is read-only with respect to the level

  • The tool needs a level open — if you see “No editor world available”, load a level and try again.
  • Sample grid is hard-capped — internally clamped to 200 × 200 samples regardless of grid spacing. Very large levels with tight grid spacing will under-sample; pass over the level in chunks if precision matters.
  • Visibility channel only — geometry that isn’t on the visibility collision channel won’t be traced. Make sure your test environment uses default collision presets, or the sweep will misreport gaps.
  • Lighting probe / nav volumes can sometimes block the cast — if you get phantom violations, hide non-geometry actors first.
  • Empty result is the goal — a clean sweep returns “Click ‘Scan World Geometry’ to check for traversal violations” or zero violations after scanning.

  • Modular Kit Auditor — placement-level validation (off-grid, unsnapped, floating)
  • Level Analysis Suite (Design module) — broader level metrics: actor inventory, map size, room metrics
  • Lighting Scenario Auditor (Design module) — lighting validation in the same workflow

Report an issue with this tool

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