Improve "Particle System is trying to spawn on a mesh with zero surface area" warning

Our game sometimes outputs this warning:

It would be helpful if the warning contains the game object name that is causing the warning, as well as allow to ping the object when selecting the warning in the Console window.

This should already contain the particle system as context in the message so clicking the warning should ping it. If its not working could you file a bug report please?

1 Like

The problem with this warning is in a release environment it makes the game unresponsive and does not crash it but instead freezes the game.

Player.log get insanely big and how should I as a developer know which mesh is the problem, especially when the bug only happens after an hour of playtime in release mode?

I have several players reporting it to me, but I have no clue how to find the corresponding mesh, which causes the problem.

Thanks for the feedback. You’re totally right. I’ve just submitted a change to make this message only appear once, and to include the name of the offending system in the message text.

It won’t be backported by default. Please submit a bug report, mentioning this forum thread/my name, if you’d like us to consider backporting it to whichever version you are currently on :slight_smile:

have this issue on my dedicated linux server build. causing a flood of this warning. how can I remove it from my release (dedicated server) build? which shouldn’t be using graphics.

using 2021.3.8f1

Only way to remove the warning in current unity is to find and fix the offending particle system.
You could write a script that did FindAllObjectsOfType, then look at the particle systems that use mesh shape emission, get their triangles/vertices, and check yourself for a zero surface area mesh.

Unity 2023 will make this easier by telling you the broken system in the error message, and only emit the error once.

4 Likes

I have this problem in 2020.3.47f1. How to reproduce:

  • Create empty 3D project.
  • Create a Cube.
  • Create an empty GameObject…
  • Attach a Particle System.
  • Change Shape → Mesh Renderer, Type → Triangle, Mesh → the cube from step 1
    Until here it works OK if you run the scene.

Now change Prewarm → On
Now if you run the scene, you get “Particle System is trying to spawn on a mesh with zero surface area” as soon as the scene starts, although the particle runs fine but ignores the prewarm (it plays like if it’s off).

If you report a bug via Help/Report a Bug in the Editor, we will take a look.

This is still an issue - 2022.3.19f1 and this message is completely useless in player.log as it provides no context or reference to the root gameobject.

Please read the earlier post: https://discussions.unity.com/t/827065/4

Come on man, the version we’re on is LTS. This should’ve been back-ported by default.

Can you tell me what fix you made and if it is on the C# side? I will try to patch it in myself with harmony patcher, as I need to resolve this problem ASAP unfortunately.

2 Likes

It’s not in C#.