If you’re a game developer, there’s a big chance you’re using Unity as your game engine of choice. Unity, and game development itself, has grown quite complex since its first inception, so it’s getting hard to keep track of what features are included in a game engine and which ones are not. So let me try to help you with that and see what the latest version of Unity, version 5.3, has in store for you.
Multi Scene Editing
Let’s first talk about what, in my opinion, seems to be the biggest addition to the arsenal of tools available for Unity users: Multi Scene Editing.
So what does Multi Scene Editing do? Well, to put it in a simple way, this new editing capability allows a scene to have other scenes in it. With this new feature, you can have a “House” scene that has “Bedroom” and “Kitchen” scenes in it instead of one big “House” scene that has all of the needed objects. You can edit all of them together or just edit one scene separately if you want to focus on editing a particular scene. This new feature doesn’t just help you manage a bigger scene, it also helps you working together with another developer, since now each person can edit the same scene separately with less chance of conflict. The following screenshot from the Unity website will give you an idea of what this looks like:
Using Multi Scene Editing is quite simple. All you have to do is drag a scene (or more) to the hierarchy window of your current scene. Unity will then automatically add that scene and all its objects to that open scene. The hierarchy window will show which scene has which objects, so you don’t need to worry about being confused over that. Another thing to note is that Unity will set your base scene as the active scene, meaning that any change you made to the scene during runtime will be applied to that scene by default. If you want to access a scene other than the active one, you can do so by using the SceneManager.GetSceneAt() function.
Also, Multi Scene Editing supports both 3D and 2D scenes, so you don’t have to be concerned about how many dimensions your game has. Speaking of 2D…
More Physics2D Tools
Unity 5.3 added a bunch of new 2D physics tools that you can use to create various compelling mechanisms for your game. The biggest of the bunch is the BuoyancyEffector2D, a new physics tool that can easily help you make objects floats (or sink) in water based on their weights. While previously you can simulate the floating effect using real world physics equations, this new tool is a tremendous help if you don’t want to dabble in physics too much or just want to quickly prototype your game.
Another really useful 2D physics tool that was introduced with this version is the FrictionJoint2D tool. While the 2D physics engine is mostly relevant for platformer type games, sometimes you may also want a little physics for your top down 2D games. So if you, for example, want enemies in your top down brawler game to be able to get knocked back, congratulations, FrictionJoint2D enables you to do exactly that. Other than that, there’s also the new FixedJoint2D and RelativeJoint2D tools that allow objects to be glued to each other and the TargetJoint2D tool that allows an object to keep following another object.
In-App Purchase Support
For quite a long time, Unity has left the implementation of in-app purchase up to third parties, and so plenty of plugins that help developers integrate IAP flourished in the asset store. Well, in the latest version, apparently Unity decided to get more hands-on, adding in-app purchase integration directly to the engine. Right now the integration supports the official app stores for iOS, Android, Mac, and Windows.
Unity’s in-app purchase integration has a similar approach and functionality to most IAP plugins in the market today, so if you’re currently using a third-party plugin for your IAP needs, you’re not in any hurry to replace it. That said, Unity is usually pretty quick to adapt to changes in the platforms they support, so you may want to consider switching to Unity’s IAP integration if you want to use the latest feature of the platform of your choice.
More iOS Integration
On their last few product announcements, Apple introduced various additions to the iOS platform, both hardware and software wise. Although previously you needed to use external plugins to utilize those additions, Unity version 5.3 finally supports these new features so you don’t have to rely on third-party plugins. These new iOS-specific additions are 3D Touch support, iPad Pro pen support, as well as support for app slicing and on-demand resource features that are heavily used for Apple TV apps.
Another really welcome addition that came with Unity 5.3 is an official API for handling the JSON format. While at a glance, it may not seem that significant, JSON is a format that is widely-used for storing data, so an official support from Unity is really good news. That said, the implementation of JSON API from Unity differs quite a lot from some of the popular JSON libraries out there, so switching the library you used isn’t going to be a simple matter.
As you can see, there are definitely a lot of new features in Unity 5.3. There are more features that are worth talking about, including the new version of MonoDevelop, the new features on the particle system, or the new samples for the VR project. That said, all of the items I listed here are the features that, in my opinion, you need to know the most. Feel free to check out the changelog yourself if you want to know more about Unity 5.3.
About the author
Raka Mahesa is a game developer at Chocoarts who is interested in digital technology in general. Outside of work hours, he likes to work on his own projects, with Corridoom VR being his latest released game. Raka also regularly tweets as @legacy99“