Occlusion Culling freeze standalone player (Unity 5)

Hello everyone !

First question here, sorry for my phrasing, I’m not a native speaker of English.

I just recently bought a license for Unity 5 and we’re trying to port our project from Unity 4.2.2f1 to 5.0.0f4.

We were stuck using 4.2.2f1 because they changed the way Umbra works starting at the 4.3 version and it was performing poorly, despite all the setups we tried at the time.

For information it’s crucial for our project to have Occlusion Culling, as our main level is a big scene, Skyrim/Shadow of Colossus-style, with less details and no textures.

Here’s the significant information of the scene for you :

Total meshes : 2 223

Total Vertices : 572 778

Min : 4

Max : 25 572

Avg : 257

Total Faces : 988 506

Min : 6

Max : 38 376

Avg : 444

All the meshes are tagged as Static Meshes and have the correct Occluder/Occludee tags as well : small meshes have the Occludee tag, large meshes have the Occluder tag and medium meshes have both.

As for the Occlusion Culling parameters :

Smallest Occluder : 20

Smallest Hole : 3

Backface Threshold : 75%

Baked data size : 30Mo

It takes less than 5min to bake the data.

I put ~10 Occlusion Areas inside the scene to “highlight” the volume for Umbra.

We’ve got two cameras rendering the main scene :

  • One with all the Post Processing Effects from 0.15 to 1500 meters.
  • Another one w/out the Post Process but with the fog from 1500 to 5000 meters.

We split the main render into two cameras because having only one camera from 0.15 to 5000m creates a lot of ZFight and Shadows flickering. Both cameras are tagged for Occlusion Culling.

My config :

  • Intel i7-2600K @ 3.4GHz
  • 8Go DDR3 Ram
  • Nvidia GeForce GTX 760 (2G VRam)

With all these parameters the scene runs smoothly inside the Editor, does not generate hiccups and hides efficiently the meshes as intended.

But on the Standalone version we’ve got problems : with the Occlusion Culling on, the game uses up at least 75% of the computer’s processing power with horrible freeze frames (up to 1 second of freeze every 5 seconds).

Worst of all, on certain configurations, the game uses up more and more Ram over time, leading to crashes after less than 15min.

We tried some alternative solutions available on the Asset Store :

  • Instant Occlusion Culling
  • M2H Culling
  • Gorovs Occlusion Culling

But unfortunately all of these solutions either aren’t efficient enough or require too much fine tuning on our end to achieve the intended results.

Does anyone have a solution to our problem ?

Why does Umbra work properly inside the Editor but not in a Standalone build version of our project?

Thanks in advance :slight_smile:


Did you guys ever find a fix? I’m dealing with the same issue.