Procedural Mesh Slicing Crashing

Slicing a procedural mesh multiple times, causes crash in editor.

Error:
Assertion failed: (SlicedV[i] !=
nullptr) != (SlicedOtherV[i] !=
nullptr)
[File:E:\GameDev\UE4\ue4.14\Engine\Plugins\Runtime\ProceduralMeshComponent\Source\ProceduralMeshComponent\Private\KismetProceduralMeshLibrary.cpp] [Line: 785]

I am slicing a procedural mesh component, and then i get 2 components, i slice both with a different normal and location and the engine crashes, totally randomly. I takes a while but it clearly crashes for some reason.

Hi Azarus,

Sorry for the delay.

I attempted to reproduce the issue but so far I haven’t been able to get your results. It’s possible my setup is quite different than yours. Would you be willing to upload a test project or screenshots of your setup?

Also, are you getting the Crash Callstack window when it finally does crash? If so, could you post the full Calltack and your EpicID/LoginID?

We haven’t heard back from you in a few days, so we are marking this post as resolved for tracking purposes. If you’re still experiencing this issue, please feel free to post back here with additional information to reopen the post.

Cheers,

TJ

I’ve performed more than 2 slicings, You should try with around 20 or more slices to get the crash, and with random normals. Also slice again the new created slices too!
I dont have full callstack for this issue, right now i just modified the slicing code so it returns instead of throwing an assert.

In the setup that I created I tried slicing the mesh upwards of 20-30 times. So far I haven’t’ had any issues. But like I mentioned, it could be how mine is setup vs your setup. I’m sure mine is much less complex since it was just a test. If you have time to upload a test project, I’ll continue looking into this one.

I know it is a bit old problem, but the problem is like an overhead crash.
I had it often when I had tested this feature (only blueprint).
If you slice too much, then it crashs. Maybe because of too much calculations or a short RAM overhead, I don’t know.

To prevent it, you should add a “lifetime countdown” to the sliced mesh that counts to zero and let it disappear, or directly like the enemies in the new metal gear game.

Ask yourself whether it is really necessary to perform so many slices in a small space.
With a greater distance between the objects (sliceable meshes) could you be able to achieve good results with LOD.