Optimization & Performance

The Nanite Foliage – High-Performance Realistic Grass pack is built with performance and scalability in mind. Whether you're targeting cinematic visuals or a 60+ FPS open-world game, this guide will help you optimize grass rendering without compromising quality.

🚀 Core Optimization Features

  • 100% Nanite-enabled meshes – no LODs required

  • Lightweight material instances with tons of shading customizations

  • LargeWorld System for advanced distance optimization

  • Low overdraw, high-density performance tuning

🎯 When to Use LargeWorld System

The LargeWorld System is not always necessary — it's designed for very large environments where traditional foliage setups would result in GPU bottlenecks or excessive overdraw.

Use Case
LargeWorld System?

Small levels or linear scenes

❌ Not recommended

Medium-sized outdoor maps

⚠️ Optional

Massive open-world terrain

✅ Strongly recommended

Procedural landscapes or streaming worlds

✅ Ideal

Consoles or lower-end hardware

✅ Helps performance


💡 Performance Tips

✅ General Foliage Optimization

  • Use Nanite for all meshes Avoid traditional LODs and let Nanite handle geometry complexity.

  • Minimize Overdraw Dense overlapping blades can kill GPU performance - use wider blades or fewer instances at distance (e.g. via LargeWorld).

  • Disable Shadow Casting on distant grass In the Foliage Tool or Grass Varieties, disable:

    • Cast Dynamic Shadow

    • Cast Static Shadow

    • Cast Contact Shadow

  • Cull Smartly Even with Nanite, culling helps. Set Cull Distance Max appropriately based on your camera height and landscape scale.

📊 Test, Profile, Repeat

Always test your scene in realistic scenarios:

  • Use Unreal Insights or GPU Profiler to monitor overdraw and instance cost.

  • Test with cinematic cameras, top-down views, and fast movement (to simulate gameplay stress).

  • Use stat Foliage and stat GPU to check foliage draw calls and GPU timings.

Last updated