Skip to content

Landscape Layer Debugger

Module: Art · Category: EnvironmentArt · Tool ID: LandscapeLayerDebugger

Walks every ALandscapeProxy in the level and surfaces paint layer health: layers exceeding per-component blend limits, unused layers wasting weight-map slots, components missing material assignments. Each issue can be navigated to (the underlying landscape and component get pinged), and unused layers can be removed in place.

Screenshot 01 — Hero shot — Debugger open with a multi-layer landscape selected, landscape list on the left with component/layer counts, issues list on the right showing mixed severities.


  • Performance pass on a heavily-painted landscape — weight maps cost shader slots, every unused layer is overhead
  • Pre-cook check — confirming all painted layers have material assignments
  • Inheriting a landscape and wanting to see how many layers were authored vs. actually used
  • Finding the source of “shader compile time blew up” issues — usually a landscape with too many active layers
  • Don’t use this for landscape mesh / heightmap analysis — it’s paint-layer-specific
  • Don’t expect this to author layers — paint layer authoring lives in UE’s Landscape mode

  1. Open the EQLabs Hub and search for Landscape (or browse to Art → EnvironmentArt)
  2. Click the tool card
  3. Make sure a level with landscape is loaded
  4. Click Scan Landscapes

The panel is split into two list views:

ColumnWhat it shows
NameLandscape actor name
ComponentsComponent count
LayersTotal paint layer count
Max Layers/ComponentHighest layer count on any single component
Layer NamesComma-joined list of paint layer names
Material AssignmentsMaterial(s) assigned to the landscape
ColumnWhat it shows
LandscapeWhich landscape the issue belongs to
LayerSpecific layer name (when issue is layer-specific)
IssueDescription of the problem
SeverityError / Warning / Info
ActionsPer-row action — typically Remove Unused Layer for unused-layer rows
SeverityIssue
ErrorComponent exceeds the per-component layer blend limit (typically 8)
WarningLayer is painted but assignment to material is broken or missing
InfoLayer exists but is never actually painted on any component (unused)

Screenshot 02 — Issues with action — Issues list with several "Unused Layer" rows visible, one selected showing the Remove action button.


Click Scan Landscapes. Both lists populate.

Per-component layer-limit Error rows are the most likely shader-compile issue. Each one tells you which component on which landscape has too many layers.

Info-severity rows for unused layers can be removed in place via the per-row action button. Removing them frees weight-map slots immediately.

Confirm the issue list shrinks. Save the level.


FieldWhat it doesDefault
Max Layer Warning ThresholdPer-component layer count that triggers a Warning8

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


  • Two in-panel lists — landscapes and issues, cleared on each rescan
  • Layer removalRemove Unused Layer modifies the landscape directly. Marked dirty until Save.
  • Undo — wrapped in ScopedTransaction, reversible with Ctrl+Z

  • Per-component layer limits are platform-dependent — most platforms cap at 8 active layers per component. Mobile typically caps at 4. Check your project settings if unsure.
  • An “unused” layer might be intentional — sometimes layers are kept around as authoring placeholders or for future paint passes. The tool flags them; you decide whether to remove.
  • Material assignment Warnings are usually broken references — fix them in the Landscape’s material slot, not in this tool.
  • Single-click pings the landscape; double-click opens the landscape’s actor properties for further inspection.

  • Foliage Placement Analyzer — the foliage-side counterpart for environment art performance
  • Material Layer Studio — for the material side of landscape layer authoring

Report an issue with this tool

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