A 2D dream comes to life with Unity: 2D Physics in forma.8

Mauro Fanelli first started using Unity on his Mac back in 2005, but until relatively recently, he had never been a dedicated game developer. A game journalist and a self-taught (but by his own admission, unexceptional) programmer, Fanelli had never had the opportunity to get into the industry. The thing was, though, he had always had a burning desire to build games.

Then when iOS really took off, he and his future partner, artist Andrea Gellato saw the opportunity to create a 2D game with Unity. They had a clear vision for their game too: a metroidvania action-adventure exploration game inspired by the 90s hit, Another World. The game they ended up developing, forma.8, has a beautiful, bold clean style.

Throughout the course of the forma.8 project, we added more and more 2D-specific support in new versions. Mixed Bag were particularly thrilled with the 2D physics features in Unity 5.6, and they’ve been updating regularly to get improvements like:

CompositeCollider2D: Gathers physics geometry from other Collider2D and blends it together into a single collider composed as an outline (similar to the EdgeCollider2D) or as a decomposed set of convex polygon from a concave outline (similar to the PolygonCollider2D).

ContactAPI: An additional set of non-allocating calls that allow polling of contact information in real time, removing the dependency on collision callbacks.

TileMap Collider 2D: Creates colliders per-tile using the Grid cell shape or the Sprite outline for the relevant tile.

The 2D features gave them significant improvements in performance and workflow efficiency. In fact, Fanelli says that the Unity engine plus Asset Store plugins enabled their five-man studio to build what would normally require 20 people. Read the full story of how Mauro Fanelli and his artist collaborator and studio co-founder, Andrea Gellato, made their 2D dream-game a reality.

More 2D features on the way

As you can see on our roadmap, we’re continuing to improve 2D Physics in Unity. For example, with Unity 2018.1 beta, 2D Physics is now able to use all the cores on a device to run its simulation. If you’re using the beta, you can see ‘Job Options (Experimental)’ in 2D physics settings.

Our 2D team would love to hear what you think about the experimental features and about 2D Physics in general on the 2D forum.

Continuing improvement in 2D Physics nice!
I hope one day all this good 2D improvement will be added to the 3D Physics side. As for example the edit modes for joint angular limits to inspectors for CharacterJoint, ConfigurableJoint, HingeJoint, and HingeJoint2D