Godot vs. Unity in 2D: Who will win?
Video Statistics and Information
Channel: Mean Gene Hacks
Views: 98,979
Rating: undefined out of 5
Keywords: godot, unity, performance, 2d
Id: GPgkW0h4r1k
Channel Id: undefined
Length: 10min 25sec (625 seconds)
Published: Tue Aug 03 2021
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.
Had no idea Unity was that bad at 2D physics. Curious to know why it's so much worse than 3D physics given 3D physics requires a lot more computationally intensive calculations.
Might also be worthwhile checking out Unity's 2D physics using DOTS. I haven't tried testing 2D physics myself with DOTS but I did manage to get 200,000 sprites moving around with playable framerates.
Regardless. Just goes to show that Godot is quite capable when it comes to 2D. Here's hoping Godot 4.0 proves competitively capable when it comes to 3D.
Always love comparisons like this, thanks!
Unexpected.
Good stuff! More of these please!
Interesting results, i always knew unit was shit with 2d physics and always found to be hell to work in 2d with it, but i didnt knew godot was so much better in that regard
Oooh thats a very interesting comparison! Im curious actually if unity has a same problem I found in godot's physics though, if you have a great number of rigidBodies that don't actually collide with each other in their collision layer/masks, you still take a performance hit if many of them overlap each other. I was doing a bullet hell tool and when I ditched rigid bodies to implement my own physics or use the physics server I actually gained performance in this case, managing around 2200 bodies VS ~1800 (iirc) prior to the change.
So basically, Godot has similar 2D and 3D physics performance: 1500 - 2000 squares/cubes at most. 2D is a bit more performant but clearly something other than the third dimension is limiting performance. (And 2D requires more than double frame rate (120hz) to even work.)
Unity has similar performance to Godot for 2D - except it actually works at 50hz. But for 3D it handles up to 7000 - 8000 cubes inside the editor. Why does it not simply use the 3D physics and locks the third dimension? Who knows.
If Godot fixes the interpenetration bug it might be able to compete with Unity for 2D, only because Unity hasn't been bothered to optimize 2D anywhere near what they could.