There are a lot of questions regarding performance in the comments. Below are the profiling stats on my machine, in editor (it was a little harder to get these in a build for you so quickly - sorry!), for the demo scene I constructed. Each scenario is using as close to the same configuration in the respective system as possible, and the meshes being fractured are identical across all libraries. Each scenario includes the default Unity Sphere mesh and the respective shattered object (sphere and shattered object targeting 25 sub pieces each) 1. a Pipe with top face open 320 vertices, 192 triangles (2 submeshes) 2. a Torus with 1088 vertices, 768 triangles (2 submeshes) fully closed 3. a Door with the exterior as open faces. 36 vertices, 26 triangles (1 mesh) 4. a Door + Arch mesh with the door having open faces on the exterior. 240 vertices, 158 triangles (1 mesh) In general, OpenFracture was the fastest unless we are reusing object fragments in RayFire (remember OpenFracture is also the worst results, no other system supported "reset" functionality that reused objects except RayFire), RayFire was second (including when spawning particle systems), DinoFracture was the slowest. DinoFracture generates far less garbage than any other system. OpenFracture results: 1. Pipe: ~50ms 5.2MB garbage 2. Torus: ~74ms 4.8MB garbage 3. Door: ~133ms 6.3MB garbage 4. Arch: ~56ms 5.6MB garbage RayFire (particles / pooled). Interestingly, spawning particle systems does not meaningfully impact the performance here. 1. Pipe: ~190ms 3.5MB garbage / 1.4ms 8.4KB garbage 2. Torus: ~77 + 134ms 1.8MB + 3.0MB garbage (2 separate frames happen in the scenario) / 1.5ms 9.1KB garbage. Secondary frame barely shows on profiler, hard to identify with certainty. 3. Door: ~240ms 2.3MB garbage / 1.4ms 7.9KB garbage 4. Arch: ~78ms 1.1MB garbage / 1.7ms 9.9KB garbage DinoFracture: 1. Pipe: ~260ms 221KB garbage 2. Torus: ~245ms 370KB garbage 3. Door: ~403ms 198KB garbage 4. Arch: ~252ms 309KB garbage
Pipe: ~50ms 5.2MB garbage. MEGABYTES. My 27 bytes every few dozens frames is looking a lot less problematic. lol Thanks for the getting this data to us so fast Chris! You're amazing!
Really good comparison! There are so many cool assets on the Asset Store, but they just take so much time to use and integrate! I love seeing someone take the time and show the pros/cons to each
This is excellent!! Unbiased reviews like these are rare. Often the content creator is gifted the assets and might therefore not provide an unbiased review - or might not be as critical when talking about limitations. Great stuff. One thing to consider: In many of your videos you see some stutter when fracturing some objects. Would be great if you also put som emphasis on the performance of the assets. Like, are they fit for mobile etc.
Thanks for the feedback! I can see I didn’t cover the performance in depth, mostly the performance of fracturing was similar. There is some stutter because the runtime fracturing is an expensive task. The slicing is computationally expensive, then a bunch of new game objects need to be created, then a bunch of components (colliders, rigid bodies, maybe additional scripts) need to be added. Possibly particle systems need to be instantiated as well. In all of the fracturing libraries they offer in-editor pre computing of this so you can do a runtime swap / activation of the pre-destroyed mesh which basically eliminates the stutter, unless the physics system can’t keep up because too many active objects or something. This of course loses the runtime dynamism of impact positions, but this is probably not necessary on mobile. Depending on the scale If you’re using pre fractured meshes, I would imagine this is feasible for mobile. Runtime fracturing is probably not feasible for anything but the highest end mobile devices if you’re doing more than small, simple destruction. Small like box fracturing to maybe 10-20 pieces is probably feasible, but for that it can also just be precomputed to perform better.
Just an update - I profiled the demo scene and pinned the comment at the top with the runtime fracturing performance metrics of each one including CPU time and garbage generated!
I regret not getting Rayfire when it was part of a Humble Bundle package. Hoping it is included in a future bundle. At over $320 AUD I just can't justify the cost. Especially when you can get just as good, or better, results with Blender or with the Unreal Engine using Chaos both which are for free.
Just discovered your channel today. Such great content!! Took a while for your channel to show up in my feed (strangely!) but glad it finally did. Looking forward to looking through your videos :)
Nice video man! Well explained. Especially when you warned that implement destruction on a game is not so simple as add an script and everything just works! I bought rayfire some years ago in a 70% or 50% sales. I agree that 205$ is REALLY expensive. By the way, right now it is in 50% lol
Oh I love this topic! Haven't watched the video yet or implemented this in any of my project, but there has been an open source library called "Unity Libre Fracture" which looked interesting too.
Very cool, I'd looked at some of these assets and wasn't really sure about any of them, so its nice to see an objective, trustworthy third party person bite the financial bullet and try them all out
nice asset review, was also a bit dissapointed with destroy it, if you cant model and make your own destroyed models, its only useful if you cant code OnCollision events yourself, i found.
I have Destroy It. Creator gets back to me fast. But it takes too much time for me to set everything up. So never used in real project. Dino Fracture I got in a humble bundle and one of first paid assets I ever used. It is simple to set up for a newbie. I mainly use it for breaking glass and doors for PC VR. Rayfire looks great but cost so much and don't really need right now. Do you have a video like this for Slicing? I think Rayfire also has a Slice option. No slice I have used has worked on high poly models. Thanks for the video
i got ray fire in 2021 for 85 during sales when it was 170 usd at that time. so i guess if ray fire is that good, one might consider buying it early or wait til Unity buys it out.
Its not expensive 215$ for asset like RayFire, you meed to hire full team of senior devs for 3 months , to get framework like this and spending over 15k $ of every month
Great video! I recently got Destroy It in a Humble Bundle and then bought Rayfire for 50% off. Are there any cases when you would use Destroy It over Rayfire? Also, any chance you could try out Animancer? I bought it, but suck at reading documentation and want to try it out.
Honestly, if you already have DestroyIt, you might as well use it. It isn’t BAD. It’s just more expensive than I feel it’s worth. You can reasonably implement the majority of that functionality in a few hours. If it’s already implemented for you, you could save those hours. I can’t imagine using DestroyIt over RayFire. You can trigger explosions pretty easily with RayFire on activate so even if your fracturing needs to be super cheap where it just spawns gibs and an explosion…RayFire can do that. But I have them both now. If you’re looking to buy an asset… for cheap destruction where you DON’T need a destroyed mesh with physics objects, I wouldn’t recommend to buy either. Follow my tutorial about destroying objects instead, spawn cheap particles and an explosion system.
@@LlamAcademy weird because i prefer destroy it over rayfire because it's more realist. i don't really use the particle one and i swap model on collision for better performance. i also like the fact that you can make any model immune to damage or even give some hp to any 3d model like a real damage system
Haha, the absolute PAIN talking about how expensive Rayfire is. Edit: Next time I would like to see the performance impact in frametime between the different assets. I don't need anything extensive, but I would like to know the performance between each of them. Even just a slide stating the delta. That's definitely my biggest hurdle when thinking about assets.
I think that’s the biggest feedback so far. They were all pretty fast on the fracturing. Most of the frame lag you see is from the new object generation and component adding. Maybe I can run some tests on the demo scene and post the numbers in the comments for everyone! Edit: Pinned a comment with performance metrics for each fracturing library for runtime fractures. Precomputed fractures runtime performance is largely the Physics system's responsibility so the performance differences there will be minimal.
There is no difference between using a prefractured mesh from DinoFracture / OpenFracture / RayFire and a prefracuted mesh from Blender or Maya. It’s just a workflow difference to use it all in editor. Now runtime destruction itself, you can see the stutters that happen even in this video and the metrics in the pinned comment. Prefractured is definitely way more performant
I think you can ask the asset developer for a copy of their assets for reviewing in your channel, in this way you at least won't have to put hundreds $ on making of videos like these.
Definitely exploring that option in the future. Since I hadn't done any asset comparisons or reviews yet I didn't feel that would be met warmly. A couple of other publishers I did ask for other videos summarily ignored my request 🙂
It is expensive for sure. Depending on your game's use case for destruction, maybe too expensive, maybe not. If I paid myself $1 a day to implement fracturing, I'm not sure I'd get as good of a system as RayFire has before it was cheaper to buy it 😅
There are a lot of questions regarding performance in the comments. Below are the profiling stats on my machine, in editor (it was a little harder to get these in a build for you so quickly - sorry!), for the demo scene I constructed. Each scenario is using as close to the same configuration in the respective system as possible, and the meshes being fractured are identical across all libraries.
Each scenario includes the default Unity Sphere mesh and the respective shattered object (sphere and shattered object targeting 25 sub pieces each)
1. a Pipe with top face open 320 vertices, 192 triangles (2 submeshes)
2. a Torus with 1088 vertices, 768 triangles (2 submeshes) fully closed
3. a Door with the exterior as open faces. 36 vertices, 26 triangles (1 mesh)
4. a Door + Arch mesh with the door having open faces on the exterior. 240 vertices, 158 triangles (1 mesh)
In general, OpenFracture was the fastest unless we are reusing object fragments in RayFire (remember OpenFracture is also the worst results, no other system supported "reset" functionality that reused objects except RayFire), RayFire was second (including when spawning particle systems), DinoFracture was the slowest. DinoFracture generates far less garbage than any other system.
OpenFracture results:
1. Pipe: ~50ms 5.2MB garbage
2. Torus: ~74ms 4.8MB garbage
3. Door: ~133ms 6.3MB garbage
4. Arch: ~56ms 5.6MB garbage
RayFire (particles / pooled). Interestingly, spawning particle systems does not meaningfully impact the performance here.
1. Pipe: ~190ms 3.5MB garbage / 1.4ms 8.4KB garbage
2. Torus: ~77 + 134ms 1.8MB + 3.0MB garbage (2 separate frames happen in the scenario) / 1.5ms 9.1KB garbage. Secondary frame barely shows on profiler, hard to identify with certainty.
3. Door: ~240ms 2.3MB garbage / 1.4ms 7.9KB garbage
4. Arch: ~78ms 1.1MB garbage / 1.7ms 9.9KB garbage
DinoFracture:
1. Pipe: ~260ms 221KB garbage
2. Torus: ~245ms 370KB garbage
3. Door: ~403ms 198KB garbage
4. Arch: ~252ms 309KB garbage
Pipe: ~50ms 5.2MB garbage. MEGABYTES. My 27 bytes every few dozens frames is looking a lot less problematic. lol
Thanks for the getting this data to us so fast Chris! You're amazing!
Wow, rayfire is really impressive. Thanks for taking your time (and money for some assets) to compare them for us!
It was definitely an expensive video to make 😅. I had a lot of fun and, well now I have RayFire I can use so no reason not to 😁
This is actually really great! We definitely need more objective and in-depth "asset review" type videos in general.
Really good comparison! There are so many cool assets on the Asset Store, but they just take so much time to use and integrate! I love seeing someone take the time and show the pros/cons to each
Love this compare asset video format! Would love more of this kind.
Great video as usual. I really appreciate you doing this and hope you'll do more comparison/review type videos like this in the future!
This is excellent!! Unbiased reviews like these are rare. Often the content creator is gifted the assets and might therefore not provide an unbiased review - or might not be as critical when talking about limitations. Great stuff.
One thing to consider: In many of your videos you see some stutter when fracturing some objects. Would be great if you also put som emphasis on the performance of the assets. Like, are they fit for mobile etc.
Thanks for the feedback! I can see I didn’t cover the performance in depth, mostly the performance of fracturing was similar.
There is some stutter because the runtime fracturing is an expensive task. The slicing is computationally expensive, then a bunch of new game objects need to be created, then a bunch of components (colliders, rigid bodies, maybe additional scripts) need to be added. Possibly particle systems need to be instantiated as well.
In all of the fracturing libraries they offer in-editor pre computing of this so you can do a runtime swap / activation of the pre-destroyed mesh which basically eliminates the stutter, unless the physics system can’t keep up because too many active objects or something. This of course loses the runtime dynamism of impact positions, but this is probably not necessary on mobile. Depending on the scale
If you’re using pre fractured meshes, I would imagine this is feasible for mobile. Runtime fracturing is probably not feasible for anything but the highest end mobile devices if you’re doing more than small, simple destruction. Small like box fracturing to maybe 10-20 pieces is probably feasible, but for that it can also just be precomputed to perform better.
Just an update - I profiled the demo scene and pinned the comment at the top with the runtime fracturing performance metrics of each one including CPU time and garbage generated!
Watch how effortlessly I implement these ideas at zero cost.
Thank you sir once again for the very informative video. I learned several somethings!
Awesome 😎!
I regret not getting Rayfire when it was part of a Humble Bundle package. Hoping it is included in a future bundle. At over $320 AUD I just can't justify the cost. Especially when you can get just as good, or better, results with Blender or with the Unreal Engine using Chaos both which are for free.
Just discovered your channel today. Such great content!! Took a while for your channel to show up in my feed (strangely!) but glad it finally did. Looking forward to looking through your videos :)
This was so perfect and exactly what I was looking for right now! Thank you as always. These types of breakdowns and testing help a lot.
love this series of comparing popular unity assets. I've always wonder if I have made the right purchasing dicision
Nice video man! Well explained.
Especially when you warned that implement destruction on a game is not so simple as add an script and everything just works!
I bought rayfire some years ago in a 70% or 50% sales. I agree that 205$ is REALLY expensive.
By the way, right now it is in 50% lol
Oh I love this topic! Haven't watched the video yet or implemented this in any of my project, but there has been an open source library called "Unity Libre Fracture" which looked interesting too.
Ooh another open source one? I’ll have to check it out!
Good stuff! Thanks for the reviews, would definitely like to see more.
Great video, I appreciate the reviews so in the future if I'm looking for destruction, I have a good reference.
Very cool, I'd looked at some of these assets and wasn't really sure about any of them, so its nice to see an objective, trustworthy third party person bite the financial bullet and try them all out
I am using "Destructible 2D" which is main feature of my top-down game
that is super useful, thanks for the cool video!
nice asset review, was also a bit dissapointed with destroy it, if you cant model and make your own destroyed models, its only useful if you cant code OnCollision events yourself, i found.
Thanks 🙂!
@@LlamAcademy thank you for helping me make my game dev dream become reality :D
I have Destroy It. Creator gets back to me fast. But it takes too much time for me to set everything up. So never used in real project. Dino Fracture I got in a humble bundle and one of first paid assets I ever used. It is simple to set up for a newbie. I mainly use it for breaking glass and doors for PC VR. Rayfire looks great but cost so much and don't really need right now.
Do you have a video like this for Slicing? I think Rayfire also has a Slice option. No slice I have used has worked on high poly models.
Thanks for the video
i got ray fire in 2021 for 85 during sales when it was 170 usd at that time.
so i guess if ray fire is that good, one might consider buying it early or wait til Unity buys it out.
That's a great deal!
Thanks a lot, really good video! You are a hero!! :)
Its not expensive 215$ for asset like RayFire, you meed to hire full team of senior devs for 3 months , to get framework like this and spending over 15k $ of every month
nope. i found on web as free. thank you
@mesutyavuzx that is theft and you don’t have the proper license to use it in your game, which can result in being sued.
@@mesutyavuzx Dayum is that a sale in unity store!
Great video as always, keep up the great work ;)
dude thanks for this!!
👍
hello, can you please make a video about texture cutter destruction the way that rainbow six use for wall destruction
Great video. Thank you!
Great video! I recently got Destroy It in a Humble Bundle and then bought Rayfire for 50% off. Are there any cases when you would use Destroy It over Rayfire? Also, any chance you could try out Animancer? I bought it, but suck at reading documentation and want to try it out.
Honestly, if you already have DestroyIt, you might as well use it. It isn’t BAD. It’s just more expensive than I feel it’s worth.
You can reasonably implement the majority of that functionality in a few hours. If it’s already implemented for you, you could save those hours.
I can’t imagine using DestroyIt over RayFire. You can trigger explosions pretty easily with RayFire on activate so even if your fracturing needs to be super cheap where it just spawns gibs and an explosion…RayFire can do that.
But I have them both now. If you’re looking to buy an asset… for cheap destruction where you DON’T need a destroyed mesh with physics objects, I wouldn’t recommend to buy either. Follow my tutorial about destroying objects instead, spawn cheap particles and an explosion system.
@@LlamAcademy weird because i prefer destroy it over rayfire because it's more realist. i don't really use the particle one and i swap model on collision for better performance. i also like the fact that you can make any model immune to damage or even give some hp to any 3d model like a real damage system
Did you tried Libre Fracture? it's open source and using Nvidia Blast
I have not yet. Somebody else mentioned that. I'm looking forward to checking it out!
Awesome video dude!!! Subbed
I really like this video, if possible can you make another video about voxel destruction in uniy
Thank you
Haha, the absolute PAIN talking about how expensive Rayfire is. Edit: Next time I would like to see the performance impact in frametime between the different assets. I don't need anything extensive, but I would like to know the performance between each of them. Even just a slide stating the delta. That's definitely my biggest hurdle when thinking about assets.
I think that’s the biggest feedback so far. They were all pretty fast on the fracturing. Most of the frame lag you see is from the new object generation and component adding.
Maybe I can run some tests on the demo scene and post the numbers in the comments for everyone!
Edit: Pinned a comment with performance metrics for each fracturing library for runtime fractures. Precomputed fractures runtime performance is largely the Physics system's responsibility so the performance differences there will be minimal.
Can you make one for odin inspector and Gaia Pro too. For they are expensive dicisions to make as well.
I will take those as possible assets to review, for sure! Thank you for the recommendation
hi , i heard creating destruction animation in blender and importing in unity is more efficient in term of resources
There is no difference between using a prefractured mesh from DinoFracture / OpenFracture / RayFire and a prefracuted mesh from Blender or Maya. It’s just a workflow difference to use it all in editor.
Now runtime destruction itself, you can see the stutters that happen even in this video and the metrics in the pinned comment. Prefractured is definitely way more performant
i have 2 its dinofracture and destroyit
I know you tried to make this a real REAL comparison, but this is like such a 'mud vs clay vs tile vs Gold' situation, you know?
Trust ne you ate best unity programmer in the world but ypu will be beter without this haircut❤️❤️
....i always think and see the name as "Liam Academy"
I wanted to buy rayfire for so long but with 70% off the price it's too much for a "toy" since the destruction game I aim for is for Unreal engine.
i brought DinoFracture, ngl i kinda regret it now. ah well
Nice hair
Thanks 🙂
I think you can ask the asset developer for a copy of their assets for reviewing in your channel, in this way you at least won't have to put hundreds $ on making of videos like these.
Definitely exploring that option in the future. Since I hadn't done any asset comparisons or reviews yet I didn't feel that would be met warmly. A couple of other publishers I did ask for other videos summarily ignored my request 🙂
Rayfire is way to expensive I feel.
It is expensive for sure. Depending on your game's use case for destruction, maybe too expensive, maybe not. If I paid myself $1 a day to implement fracturing, I'm not sure I'd get as good of a system as RayFire has before it was cheaper to buy it 😅
@@LlamAcademy You'd need a special use case to justify rayfire I think.
215$ 🤣
Why the blue hair. What happen to modesty and decency
Not sure how hair color has anything to do with decency or modesty 🤔