Skip to content

No. 1115 MO ModelingEQLabs Pro

Outline Shell & Cage Builder

UE 5.4–5.85/52.0.5

Module: Modeling · Category: Mesh · Tool ID: ShellCageBuilder

Offsets a mesh outward into a shell or inward into a cage and saves the result as a Static Mesh asset. Two engines sit behind one panel: an SDF path that voxelises and re-meshes (robust and watertight, but discards UVs) and a Vertex-Normal path that pushes vertices along their normals (fast, keeps UVs, but can self-intersect on concave geometry). Auto picks between them from your use case.

Toon outlines are handled separately and deliberately — see Toon Outline below, because the answer there is a material, not a mesh.

Outline Shell & Cage Builder after a Physics Pad build in Both mode, with Diagnostics reporting SDF morphology, 960 to 6000 triangles, watertight yes, UVs yes, 614 ms.
Outline Shell & Cage Builder after a Physics Pad build in Both mode, with Diagnostics reporting SDF morphology, 960 to 6000 triangles, watertight yes, UVs yes, 614 ms.
  • Cloth cages. A low-poly inner cage to drive simulation on a dense render mesh.
  • Physics padding. An inflated collision proxy that keeps characters from clipping into geometry.
  • VFX / SDF shells. Watertight volumes for volumetric or distance-field effects.
  • Inverted-hull outline meshes. When you specifically need a baked outline mesh rather than a runtime material.
  • Any time you need a watertight version of geometry that is not watertight to begin with: the SDF path produces one by construction
  • Don’t use it for toon outlines by default. A runtime inverted-hull material is cheaper and does not double your asset count. The Toon Outline section creates one for you.
  • Don’t use the SDF path when you need UVs preserved. SDF output has no UVs at all. Either enable Auto-generate UVs (box projection) or use the Vertex-Normal method.
  • Don’t push an offset larger than the object’s inner radius in Inner Cage mode — the surfaces cross and the build produces no geometry. The tool tells you this rather than saving an empty mesh.
  1. Open the EQLabs Hub and search for shell or cage (or browse to Modeling → Mesh).
  2. Click the tool card.
  3. Pick a Source Mesh, choose a Preset, then Build Shell.
ControlNotes
Source MeshThe Static Mesh to generate a shell/cage from. Read from its LOD0 MeshDescription
PresetSeeds every setting below for a use case. You can still tweak them afterwards

Presets correspond to the four supported use cases — Toon Outline, Cloth Cage, Physics Pad and VFX Shell — and they matter beyond convenience: the use case is what Auto consults when routing to SDF or Vertex-Normal.

SettingDefaultWhat it does
ModeOuter ShellOuter Shell, Inner Cage, or Both
MethodAutoAuto, SDF, or Vertex Normal
Offset (cm)1.0Offset magnitude. Direction comes from Mode, not from the sign
SDF Grid128Sampling resolution — SDF method only
Target Triangles (SDF)20000SDF output is decimated to this budget
Auto-generate UVs (SDF output)OffBox-projects UVs onto SDF output, which otherwise has none
Flip Normals (inverted hull)OffReverses winding for an inverted-hull outline mesh export
SDFVertex Normal
Watertight outputYes, by constructionOnly if the input was
UVsNone — must be auto-projectedPreserved
Concave geometryHandles itCan self-intersect
SpeedSlowerFast
Best forCloth cages, physics pads, VFX shellsOutline meshes, UV-dependent shells

Measured sampling cost, before decimation:

GridApprox. cost
Fast 64~30 ms
Default 128~150 ms
High 256~1 s
Max 512Substantially longer — reach for it only when 256 visibly loses detail

The SDF engine’s raw output is roughly 150k–780k triangles, which is why the decimation budget exists. Leaving Target Triangles at its default is almost always right; raise it only if decimation is visibly destroying the silhouette.

ControlNotes
Output FolderDefault /Game/EQLabs/Shells. Must be a valid mounted package path
Build ShellGenerates and saves the asset(s)

Assets are saved as:

<Folder>/<MeshName>/SHL_<MeshName>_Outer
<Folder>/<MeshName>/SHL_<MeshName>_Inner

In Both mode you get both. If assets already exist at those paths the tool asks before proceeding, and overwriting is not undoable — it replaces the assets in place. Declining leaves the existing assets untouched and reports Build aborted.

A separate section, because for toon outlines the right answer is usually not a generated mesh.

Toon outlines use a runtime inverted-hull material applied as the mesh component’s Overlay Material. That costs one extra draw pass instead of a second mesh asset per object, and the thickness stays tweakable at runtime.

ControlWhat it does
Outline ThicknessDefault OutlineThickness parameter — world units the hull extrudes along vertex normals
Create Outline MaterialCreates M_EQ_ToonOutline (inverted-hull, front-face masked) with OutlineColor + OutlineThickness parameters
Prep Normals & SaveSaves an outline-ready copy of the source mesh with smoothed vertex normals
  1. Click Create Outline Material. If the material already exists it is reused with its parameters unchanged.
  2. Set it as your mesh component’s Overlay Material.
  3. If the outline shows gaps at hard edges, click Prep Normals & Save and use the prepared copy.

Why Prep Normals matters: an inverted hull extrudes along vertex normals, so anywhere the mesh has split normals — every hard edge — the hull tears open at that seam. Smoothing the normals closes the hull without changing how the mesh shades, because only the outline pass reads them.

After a build, the Diagnostics section reports method used, triangle count, watertightness, UV status, timing, and warnings. Worth reading every time — it is where you find out that Auto chose a different engine than you assumed, or that your “watertight” shell is not.

After a build: the Diagnostics block reports the method used, the shell's triangle count and the build time.
After a build: the Diagnostics block reports the method used, the shell's triangle count and the build time.
SettingDefault
ModeOuter Shell
MethodAuto
Offset Distance1.0 cm
SDF GridDefault128
Target Triangle Count20000 (min 16)
UV StrategyPreserve If Possible
Flip NormalsOff
Use CasePhysics Pad
Output Folder/Game/EQLabs/Shells

Settings can be saved as a UEQShellBuildProfile data asset — a DataAsset, not a Project Settings block, so profiles travel with the project and can be version-controlled.

  • “Build produced no geometry.” The offset exceeded the object’s inner radius, so the offset surfaces crossed. Reduce the offset or switch to Outer Shell.
  • SDF output has no UVs. If you plan to texture the shell, enable Auto-generate UVs or use the Vertex-Normal method. This trips people up on cloth cages routed through SDF.
  • Overwrites are not undoable. The confirmation dialog is the only guard — it replaces assets in place, outside the transaction system.
  • Offset direction comes from Mode, not the sign of the number. A negative offset does not turn a shell into a cage.
  • Auto may not choose what you expect. It routes from the use case, so changing the preset changes the engine. The Diagnostics panel reports which one actually ran.
  • A vertical-walled mesh with hard edges is the worst case for Vertex-Normal. Split normals push apart at seams — either smooth them first or use SDF.
Report an issue with this tool

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