I encountered a collision issue and the inability to further destroy an object after attempting to optimize it by setting the lifetime of broken pieces. There are cases where this behavior is critical for project assets. Perhaps I’m missing something in the new version, but all my attempts to reproduce everything created in version 5.5 have failed. If this is a bug, I hope for help and a quick solution, as it’s slowing down our transition to version 5.7, which introduced many useful new tools. Thank you.
[Attachment Removed]
Steps to Reproduce
For the test I used the “First person template” in the engine version 5.7.1 in the launcher.
- Create a Geometry collection from Static Mesh in the scene using the Fracture Mode tool.
- Break it into pieces using the Uniform Fracture mode.
- Set an anchor to one or all pieces (simply to keep them in one place).
- Set the lifetime of individual pieces to zero or close to zero using the “Remove On Sleep” asset parameter or the Removal-On-Break utility in Fracture Mode.
- Break it into pieces on stage in PIE mode by affecting it with a trace with break or field logic.
Ultimately, after the separated pieces disappear, the Geometry Collection stops colliding and interacting, but continues to render. You can simply walk through it, and the trace no longer sees it. This is clearly visible if you set the lifetime for the pieces to zero.
[Attachment Removed]
Hello Aleksei,
There seemed to be an issue with the example project you sent, I couldn’t use the first-person controller in PIE. However, I followed your steps and moved a field to break the GC on your example project and a fresh 5.7.0 UE project and did not encounter the behavior you described.
When applying Removal-On-Break, the pieces fade away as you would expect after the GC is broken, and no fracture pieces continue to render for me. When the lifetime of individual pieces are set to 0 and the Removal-On-Break data is deleted, the pieces stay on the ground forever (which is expected) but the first-person controller collides with them, and I can’t walk through them. However when the lifetime is set to a low number close to 0, the GC disappears after broken once the lifetime timer is finished.
Is there another step in the process that may have interfered with this? I followed some information from the documentation for both geometry collections and chaos fields to see if there was any info that would help, nothing stood out to me as having caused this issue. I also found this video very informative as well!
Let me know if there is any other information that could help to solve this!
Thanks,
Kyle B.
[Attachment Removed]
Hello, Kyle B.
Thank you very much for bringing this issue to my attention and for taking the time to respond.
I wanted to point out that I was using version 5.7.1 from the launcher. This might be critical.
I recorded a video and will attach the code to the message for the Character, which I insert into the video and the project itself.
I also don’t use clustering - I only have two levels - 0 and 1
[Attachment Removed]
Hello Aleksei,
Thank you for the additional information!
I attempted this again on 5.7.1 and now I see the issue you’re describing. I was able to replicate this behavior, and I was able to surpass it by changing the Removal-On-Break Data>Post Break Timer and Removal Timer to values higher than was initially set (they were both set to [0.1, 0.1], I set both to [0.1, 1]). This causes the geometry collection to disappear as expected once destroyed, and allows for further destruction. For Removal On Sleep, the geometry collection behaved correctly once I set Remove On Sleep to true within the rest collection itself (GC_Cube).
I am able to recreate this behavior if I set both those timers back to [0.1, 0.1]. It seems other similarly low values (below 1 second) achieve the same result. Though the issue is not exactly the same as these two public issues describe (#1 and #2), they do seem comparable, and the fixes for these are targeted for UE 5.8.
Let me know if this helps to solve the issue or if there is any other behavior you’re seeing that’s strange!
Thanks,
Kyle B.
[Attachment Removed]
Hello Kyle B.
Thanks again for your reply.
I’m afraid the problem is much more serious. No matter what time you set for removing the pieces, after completely deleting them, this error occurs. This has been confirmed by numerous tests by me and my colleagues. You can check it out yourself.
I’ll attach a video as an example. I removed the Add Radial Impulse node for the sake of clarity.
If you can’t reproduce the problem, please let me know in any way convenient for you.
In fact, version 5.7 currently lacks one of the main optimization tools for the Geometry Collection, which is critical for its use in the project. I think this will affect more than just our studio, and we’re counting on the help of the engine developers.
[Attachment Removed]
Hello Aleksei,
Ahh, I see now! Thank you for the information.
In my own tests, I was not giving the collection enough time to disappear, and continued to destroy it before the pieces were fully removed. I have confirmed this issue with both Removal on Sleep and Removal on Break. I did note that this behavior did not seem to occur all the time if Voronoi Sites were kept to their default values, around 20 or so, possibly due to the pieces being larger, but I was able to replicate it every time by setting the sites to around 200 as you did.
I have created a bug report for this, thank you for the further clarification and the helpful videos!
I created a bug report for this issue that can be tracked here if/when it’s approved for public visibility: https://issues.unrealengine.com/issue/UE-358545.
There is no ETA as priorities for bugs and features can shift at any time.
We don’t provide updates on EPS, but progress can be followed on that public issue tracker page.
I’m closing this case for now, but feel free to respond here if you have follow-up questions or further details.
Thank you,
Kyle B.
[Attachment Removed]
Hey Kyle,
This bug also seems to happen when using Dataflow. Any ideas on how to fix this? I’m on UE 5.7.1
EDIT: Have been able to fix by ensuring BOTH SleepMinMax and RemovalDuration are set below 1. As well, remove any Initialisation Fields (ie anchor fields) attached to the collection.
However, I have noticed that removal doesn’t actually remove the pieces from the vert count. I am not sure if this is related, but you can see that the Prim Count stays the same when the building is intact and when it gets fully destroyed.