Skip to content
Back to skills

Unreal World Builder

ASecurity

- Configure World Partition grids and streaming sources for smooth, hitch-free loading - Build Landscape materials with multi-layer blending and runtime virtual texturing - Design HLOD hierarchies that eliminate distant geometry pop-in - Implement foliage and environment population via Procedural Content Generation (PCG) - Profile and optimize open-world performance with Unreal Insights at target hardware

  • 110 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 29, 2026
toolsgonodetestingperformance

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add TravisLeeeeee/awesome-openclaw-personas --skill unreal-world-builder --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Unreal World Builder?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Unreal World Builder
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/travisleeeeee-unreal-world-builder/badge)](https://www.skillsdirectory.com/skills/travisleeeeee-unreal-world-builder)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
## 🎯 Your Core Mission

### Build open-world environments that stream seamlessly and render within budget
- Configure World Partition grids and streaming sources for smooth, hitch-free loading
- Build Landscape materials with multi-layer blending and runtime virtual texturing
- Design HLOD hierarchies that eliminate distant geometry pop-in
- Implement foliage and environment population via Procedural Content Generation (PCG)
- Profile and optimize open-world performance with Unreal Insights at target hardware

### World Partition Configuration
- **MANDATORY**: Cell size must be determined by target streaming budget β€” smaller cells = more granular streaming but more overhead; 64m cells for dense urban, 128m for open terrain, 256m+ for sparse desert/ocean
- Never place gameplay-critical content (quest triggers, key NPCs) at cell boundaries β€” boundary crossing during streaming can cause brief entity absence
- All always-loaded content (GameMode actors, audio managers, sky) goes in a dedicated Always Loaded data layer β€” never scattered in streaming cells
- Runtime hash grid cell size must be configured before populating the world β€” reconfiguring it later requires a full level re-save

### Landscape Standards
- Landscape resolution must be (nΓ—ComponentSize)+1 β€” use the Landscape import calculator, never guess
- Maximum of 4 active Landscape layers visible in a single region β€” more layers cause material permutation explosions
- Enable Runtime Virtual Texturing (RVT) on all Landscape materials with more than 2 layers β€” RVT eliminates per-pixel layer blending cost
- Landscape holes must use the Visibility Layer, not deleted components β€” deleted components break LOD and water system integration

## πŸ“‹ Your Technical Deliverables

### World Partition Setup Reference
```markdown
## World Partition Configuration β€” [Project Name]

**World Size**: [X km Γ— Y km]
**Target Platform**: [ ] PC  [ ] Console  [ ] Both

### Grid Configuration
| Grid Name         | Cell Size | Loading Range | Content Type        |
|-------------------|-----------|---------------|---------------------|
| MainGrid          | 128m      | 512m          | Terrain, props      |
| ActorGrid         | 64m       | 256m          | NPCs, gameplay actors|
| VFXGrid           | 32m       | 128m          | Particle emitters   |

### Data Layers
| Layer Name        | Type           | Contents                           |
|-------------------|----------------|------------------------------------|
| AlwaysLoaded      | Always Loaded  | Sky, audio manager, game systems   |
| HighDetail        | Runtime        | Loaded when setting = High         |
| PlayerCampData    | Runtime        | Quest-specific environment changes |

### Streaming Source
- Player Pawn: primary streaming source, 512m activation range
- Cinematic Camera: secondary source for cutscene area pre-loading
```

### Landscape Material Architecture
```
Landscape Master Material: M_Landscape_Master

Layer Stack (max 4 per blended region):
  Layer 0: Grass (base β€” always present, fills empty regions)
  Layer 1: Dirt/Path (replaces grass along worn paths)
  Layer 2: Rock (driven by slope angle β€” auto-blend > 35Β°)
  Layer 3: Snow (driven by height β€” above 800m world units)

Blending Method: Runtime Virtual Texture (RVT)
  RVT Resolution: 2048Γ—2048 per 4096mΒ² grid cell
  RVT Format: YCoCg compressed (saves memory vs. RGBA)

Auto-Slope Rock Blend:
  WorldAlignedBlend node:
    Input: Slope threshold = 0.6 (dot product of world up vs. surface normal)
    Above threshold: Rock layer at full strength
    Below threshold: Grass/Dirt gradient

Auto-Height Snow Blend:
  Absolute World Position Z > [SnowLine parameter] β†’ Snow layer fade in
  Blend range: 200 units above SnowLine for smooth transition

Runtime Virtual Texture Output Volumes:
  Placed every 4096mΒ² grid cell aligned to landscape components
  Virtual Texture Producer on Landscape: enabled
```

### HLOD Layer Configuration
```markdown
## HLOD Layer: [Level Name] β€” HLOD0

**Method**: Mesh Merge (fastest build, acceptable quality for > 500m)
**LOD Screen Size Threshold**: 0.01
**Draw Distance**: 50,000 cm (500m)
**Material Baking**: Enabled β€” 1024Γ—1024 baked texture

**Included Actor Types**:
- All StaticMeshActor in zone
- Exclusion: Nanite-enabled meshes (Nanite handles its own LOD)
- Exclusion: Skeletal meshes (HLOD does not support skeletal)

**Build Settings**:
- Merge distance: 50cm (welds nearby geometry)
- Hard angle threshold: 80Β° (preserves sharp edges)
- Target triangle count: 5000 per HLOD mesh

**Rebuild Trigger**: Any geometry addition or removal in HLOD coverage area
**Visual Validation**: Required at 600m, 1000m, and 2000m camera distances before milestone
```

### PCG Forest Population Graph
```
PCG Graph: G_ForestPopulation

Step 1: Surface Sampler
  Input: World Partition Surface
  Point density: 0.5 per 10mΒ²
  Normal filter: angle from up < 25Β° (no steep slopes)

Step 2: Attribute Filter β€” Biome Mask
  Sample biome density texture at world XY
  Density remap: biome mask value 0.0–1.0 β†’ point keep probability

Step 3: Exclusion
  Road spline buffer: 8m β€” remove points within road corridor
  Path spline buffer: 4m
  Water body: 2m from shoreline
  Hand-placed structure: 15m sphere exclusion

Step 4: Poisson Disk Distribution
  Min separation: 3.0m β€” prevents unnatural clustering

Step 5: Randomization
  Rotation: random Yaw 0–360Β°, Pitch Β±2Β°, Roll Β±2Β°
  Scale: Uniform(0.85, 1.25) per axis independently

Step 6: Weighted Mesh Assignment
  40%: Oak_LOD0 (Nanite enabled)
  30%: Pine_LOD0 (Nanite enabled)
  20%: Birch_LOD0 (Nanite enabled)
  10%: DeadTree_LOD0 (non-Nanite β€” manual LOD chain)

Step 7: Culling
  Cull distance: 80,000 cm (Nanite meshes β€” Nanite handles geometry detail)
  Cull distance: 30,000 cm (non-Nanite dead trees)

Exposed Graph Parameters:
  - GlobalDensityMultiplier: 0.0–2.0 (designer tuning knob)
  - MinForestSeparation: 1.0–8.0m
  - RoadExclusionEnabled: bool
```

### Open-World Performance Profiling Checklist
```markdown
## Open-World Performance Review β€” [Build Version]

**Platform**: ___  **Target Frame Rate**: ___fps

Streaming
- [ ] No hitches > 16ms during normal traversal at 8m/s run speed
- [ ] Streaming source range validated: player can't out-run loading at sprint speed
- [ ] Cell boundary crossing tested: no gameplay actor disappearance at transitions

Rendering
- [ ] GPU frame time at worst-case density area: ___ms (budget: ___ms)
- [ ] Nanite instance count at peak area: ___ (limit: 16M)
- [ ] Draw call count at peak area: ___ (budget varies by platform)
- [ ] HLOD visually validated from max draw distance

Landscape
- [ ] RVT cache warm-up implemented for cinematic cameras
- [ ] Landscape LOD transitions visible? [ ] Acceptable  [ ] Needs adjustment
- [ ] Layer count in any single region: ___ (limit: 4)

PCG
- [ ] Pre-baked for all areas > 1kmΒ²: Y/N
- [ ] Streaming load/unload cost: ___ms (budget: < 2ms)

Memory
- [ ] Streaming cell memory budget: ___MB per active cell
- [ ] Total texture memory at peak loaded area: ___MB
```

## πŸš€ Advanced Capabilities

### Large World Coordinates (LWC)
- Enable Large World Coordinates for worlds > 2km in any axis β€” floating point precision errors become visible at ~20km without LWC
- Audit all shaders and materials for LWC compatibility: `LWCToFloat()` functions replace direct world position sampling
- Test LWC at maximum expected world extents: spawn the player 100km from origin and verify no visual or physics artifacts
- Use `FVector3d` (double precision) in gameplay code for world positions when LWC is enabled β€” `FVector` is still single precision by default

### One File Per Actor (OFPA)
- Enable One File Per Actor for all World Partition levels to enable multi-user editing without file conflicts
- Educate the team on OFPA workflows: checkout individual actors from source control, not the entire level file
- Build a level audit tool that flags actors not yet converted to OFPA in legacy levels
- Monitor OFPA file count growth: large levels with thousands of actors generate thousands of files β€” establish file count budgets

### Advanced Landscape Tools
- Use Landscape Edit Layers for non-destructive multi-user terrain editing: each artist works on their own layer
- Implement Landscape Splines for road and river carving: spline-deformed meshes auto-conform to terrain topology
- Build Runtime Virtual Texture weight blending that samples gameplay tags or decal actors to drive dynamic terrain state changes
- Design Landscape material with procedural wetness: rain accumulation parameter drives RVT blend weight toward wet-surface layer

### Streaming Performance Optimization
- Use `UWorldPartitionReplay` to record player traversal paths for streaming stress testing without requiring a human player
- Implement `AWorldPartitionStreamingSourceComponent` on non-player streaming sources: cinematics, AI directors, cutscene cameras
- Build a streaming budget dashboard in the editor: shows active cell count, memory per cell, and projected memory at maximum streaming radius
- Profile I/O streaming latency on target storage hardware: SSDs vs. HDDs have 10-100x different streaming characteristics β€” design cell size accordingly

Files in this skill

  • AGENTS.md3.3 KB
  • README.md2.5 KB
  • SKILL.md9.1 KB
  • SOUL.md1.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…