I wasn’t sure where to put this, sorry if I got it wrong,
Anyway, I’ve been making a 2d game with Unity, and I came across this article. It was written a few years back, but was hoping to get some people with a bit more knowledge to give me their opinions
It’s the first point:
-Use the built-in physics. It might seem like a waste of cycles to have a fully 3D physics engine running the show for a 2D game, but bear in mind that the Nvidia PhysX engine will be running in Unity’s native core. We’re talking about a hyper-optimised engine maintained by large professional teams, and not a hobbyist 2D engine. Freeze Z position and X/Y rotation for that 2D feel.
As I said, I’m new to Unity, so I’m not too sure if that still holds true or not??
Be wary of any articles that are fairly old. Starting with Unity 4.3, which would be after the date of that article, Unity gained a fair number of 2D features and among them are Box2D for physics.
Both Box2D and Physx are really fast in Unity 5. Both work great on all platforms including mobile. Physx can be faster than Box2D in some cases and slower in others, depending on your task, possibly due to the threading. The performance delta is rarely something to worry about for most games.
What about 2D physics over UNET? Is it possible for a millisecond of lag on 1 device to cause the physics to behave differently on the host and clients?
Yeah most games using physics over network will want to update with physics movement commands from time to time and velocity, etc - what I am saying is it really depends on the game, and you’ll just have to see if it’s a problem for your game and correct it if it is. It’s expected to do that sort of thing with physics over network.