Hi,
I’m running into a severe Game Thread performance issue when using Megaplants at scale in Unreal Engine 5.7.2, and I want to confirm whether this is expected behavior or a limitation/bug.
Setup
-
Unreal Engine 5.7.2
-
GPU: RTX 4070 (12 GB)
-
CPU: AMD Ryzen 7 5800X
-
RAM: 64 GB
-
Large open-world style level
-
PCG used for vegetation placement
-
Megaplants using Instanced Skinned Mesh Spawner
-
Extensive use of spline-based PCG blockers (roads, terrain features, mountains, etc.) to prevent spawning where vegetation is not needed
-
No AI
-
No NavMesh
-
No vehicle / Chaos Vehicle removed entirely
Important Note
Performance in the editor viewport is good and stable.
FPS only collapses when entering Play In Editor (PIE).
The Problem
As soon as Megaplants exist in the level at scale, Play In Editor drops to ~5–6 FPS.
Profiling consistently shows:
-
Game Thread: 180–550 ms
-
GPU Time: ~60–70 ms
-
FPS does not recover even when vegetation is hidden.
If I delete all Megaplants entirely, performance immediately returns to ~70–80 FPS and Game Thread drops to ~8–10 ms.
This suggests the cost is on the CPU/Game Thread simply from the existence of the Megaplants, not rendering.
Things I Have Tested (No Improvement)
-
Reduced PCG density (Points per square meter down to 0.05)
-
Heavy use of spline volumes to block PCG spawning around roads, mountains, and other non-vegetated areas
-
Split one large PCG volume into multiple smaller PCG volumes
-
Enabled Is Partitioned on all PCG components
-
Switched PCG Generation to On Demand
-
Cleared PCG link / baked PCG results and removed PCG actors
-
Disabled wind completely
-
Set Animation Min Screen Size to aggressive values (0.5+)
-
Disabled Contact Shadows
-
Set Shadow Quality = 0
-
Aggressive cull distances (80k–200k)
-
Increased texture streaming pool (up to 10 GB)
-
Hiding vegetation at runtime (Hidden In Game) has almost no effect
None of the above meaningfully reduces Game Thread cost.
Key Observation
Even after baking PCG and removing the PCG actor:
-
Having many Instanced Skeletal Mesh Megaplants in the world causes massive Game Thread cost.
-
Hiding them does not help.
-
Removing them entirely fixes the issue instantly.
This strongly suggests the CPU cost is related to skeletal mesh lifecycle / registration / ticking, not rendering.
Question
Is it expected that Megaplants using Instanced Skinned Meshes cannot be used at large open-world scale in runtime gameplay?
If so:
-
What is the intended runtime use case / scale?
-
Are Megaplants primarily meant for cinematics, small areas, or editor workflows?
If not:
-
Is this a known issue in 5.7.x?
-
Are there recommended settings or workflows to fully avoid Game Thread cost for distant Megaplants?
Thanks in advance — I’m happy to provide profiling captures or a repro project if needed.



