2D or 3D physics for my game..?

First off, I apologize if my game concept is too ‘vague’ for someone to really answer, but I’ll try anyways…

I’m about to build a “twin stick shooter”. I have all the visual assets already, and they are all low poly 3D models. My game is going to be a top down or isometric view. I’ll most likely even allow for multiple camera angles. One thing that I’m almost completely sold on is that I think I can get away with having all objects on the same Y coordinate. i.e., it is basically a 2D game… all movement will be in two dimensions. I expect there to be about 30 enemies on screen at once at most, plus some static objects with collision detectors (ex buildings/trees/etc), and some particle effects. My initial target platforms will be PC and consoles, but it may be mobile eventually (it is a ‘nice to have’, but not 100% necessary).

I’m wondering if it would be smartest to build the game using 2D physics, or is the potential performance gain not worth limiting the game (if it were 3D physics, I could make use of the extra dimension for future updates, for example)?

I think I should be able to wrap my head around either 2D or 3D physics, so I’m not too concerned about complexity. I’m just wondering if performance could become an issue. Would it be best to attempt this with 3D physics, and then convert it to 2D if performance is an issue? It would be nice to get this ‘right’ from the get go, but maybe it’s best to try it in 3D first?

Thank you for your time

I know all sorts of games can be made in Unity, in general, so I don’t think you should first assume that physics in 3D will be your problem, at all, ever…
As for which to choose, only you can say: If you really believe you might want to use 3D down the line, then it makes sense to start it I would think. If you’re sure you won’t, then I’d just leave it 2D ? :slight_smile:

Yeah, I’m leaning towards making it with 3D physics, as who knows what the future may hold for my game idea… perhaps ability to go first person, I don’t know. I think I’ll just make it 3D physics, and then worry about performance issues if they happen. I’m pretty sure there’s a lot more complex games out there than what I’ve got planned!

Thanks for your response, methos.

No problem and good luck with your game :wink:

I think you can try it first in 3d. If on mobile devices you can play in GTA San Andreas, then 30 low-poly characters will not be heavy for the device!

You can benchmark this, it’s not rocket science at these scales. For mobile, generally speaking, 2D physics will be faster. This is generally speaking.

Other considerations are if you will have depth like going under or over bridges, or using particle systems. If you want particles to collide then you will need to decide if it’s a 3D collision or not. 3D collisions require 3D colliders, obviously.

2D physics are faster than 3D for mobile in general, but this only matters once you get to bigger numbers, again benchmarking will answer it because the answers DO change depending on what you do, and how many.

This is a bad answer, these are entirely different engines :confused:

I’m wondering about this. When creating a Unity project using the 3d template, you don’t have access to 2d assets like Tilemap. Sure, you can add the 2d package, but in URP, I believe this can cause issues. I’m wondering if anyone knows which URP template is better to start with, or has the least issues when adding the missing packages.

If anyone knows, that would be cool. I don’t want to “hack” my project and think I have it working, just to have it bite me later.

Please create your own threads, don’t necro 6+ year old ones.

Templates are just a covenince, they don’t hard lock you into any features. Changing packages or the URP settings but neither of those are the subject of this thread. 2D or 3D physics is up to your specific needs.

Thanks.