Unity5 Announced!

Unity5http://unity3d.com/5

I’m getting straight to the point here, what is in included in Unity5:

Physically-based Shading:

There’s a new shader to setup great looking materials in a range of lighting environments, it’s one shader to rule them all, an uber-shader one might call it, you can use it for a range of different surfaces such as wood, metal, plastics, ceramics, cloth and many others.

Unity5_Teleporter

Realtime Global Illumination:

Built upon Geomerics Enlighten Technology, Unityhas integrated realtime physically-based Global Illumination for cross-platform, runs super nice on mobile / tablet devices. You can animate lights, setup beautiful environments lighting and make use of emissive materials to create stunning effects and visuals. What’s really nice, as an added bonus, you now don’t need to be rebaking any lightmaps, which is especially painful when bake times are long for larger scenes, Global Illumination updates immediately upon making any changes to help dramatically increase iterative times.

WebGL:

The plugin-less browser technology is approaching fast and Unitywill offer the option to deploy to WebGL without the need for a plugin download to playback content, with a one-click deploy system the building times are super fast and simular to what our WebPlayer plugin build system is like.

Audio Mixer:

New audio mixng technology enters Unitywith simple workflows for setting up different sounds within your 2d / 3d games. Setup realtime mixing graphs, ability to edit tweak in play mode, create and blend between snapshots, insert effects into the mixers, implement ducking of sounds and many more..

UnityCloud:

This service offers the ability to integrate cross-promotion campaigns for acquiring players and help with retaining them

64-bit Editor:

64-bit editor brings massive improvements to Unity for handling demanding tasks 32-bit version might just crash on with out of memory, the runtime was ported a while back now, but getting the editor ported with all the dependencies took time.

PhysX 3.3:

The much requested update to PhysX has arrived, NVIDIA completely rewrote the system, bringing excellent performance boosts which is great for mobile / tablet devices. A new wheel collider is available amongst other things, more PhysX 3.3 features will be exposed later in the 5.x cycle.

There’s many more features in Unitywhich will just populate my blog, but here is more smaller but equally juicy feature set:

  • AI: NavMesh supports LoadLevelAdditive.
  • NavMeshObstacle supports two basic shapes – cylinder and box for both carving and avoidance.
  • Editor: The editor is now a 64-bit application.
  • Graphics: Improved ambient lighting.
  • Cubemaps support texture compression
  • Improved LODGroup. A “fade mode” can be set on each level and a value of “how current LOD be blended/faded to the next LOD” will be passed to shader program in unity_Scale.z.
  • Non-uniformly scaled meshes no longer incur any memory cost or performance hit.
  • PluginInspector: new plugin system.
  • Scripting: Introduced option to auto-update obsolete Unity API usage in scripts / assemblies.
  • Version Control: Scene and Prefab Merging.
  • Asset Store: The asset store window is now many times faster, more responsive, and looks better.
  • Model importing: Updated FBX SDK to 2015.1
  • Windows Store Apps: You can now use joysticks in addition to Xbox 360 controllers

For a more visual look at Unity5‘s new feature set, take a look at the official Unity Feature Preview video:

With such an exciting announcement I can’t wait for all you guys to get your hands on this awesome toolset!

Thanks!

Unity has 2D tools..

Yes..the much talked about, highly requested 2D feature is finally here and available to you all for free. In preparation for the Unity 4.3 release, I developed a small 2D physics puzzle game which enabled me to get up to speed with the toolset and also use for demo / presentation purposes on my travels.

This post will go through some of the new 2D tools, workflows and shed a little light on how to use the different features available.

2D Defaults

First new feature is the 2D defaults option in the project wizard, this sets up the unity engine to use 2D for defaults on things such as the texture importer, textures will now be imported as sprites automatically instead of needing to change the texture type in the asset importer.

Sprite_importer

There are other subtle touches with using 2D defaults, such as the main camera setup as orthographic and not perspective.

A new addition to the scene window is a little toggle button which if clicked on toggles the scene between 2D and 3D, using 2D defaults means the scene view will have 2D toggled by default without needing to click the button on launch, navigating the scene in the x and y axis only. Also note, creating a new project with 2D defaults enabled doesn’t mean you’re now bound to 2D, all 3D and 2D features are still available.

2D_scene

In the 2D viewport in the scene view, with the move tool and the sprite selected we now have a new gizmo to play with, this makes it a lot easier to do actions such as: move, uniform / linear scaling, rotation and highlights the pivot placement. We do not need to switch between different tools, it’s all there in one place.

Sprite_gizmo

Box2D Physics Integration

Implemented is the Box2D physics engine, a free open source 2-dimensional physics engine and is considered a leading industry standard. With Unity 4.3 we now have a list of new 2D physics components:

2D_physics_components

3 / 4 of the colliders are self explanatory but the more interesting one to look at closer is the Polygon collider.

Add the component to your sprite asset in the same way you would add any component and you will see a green highlighted collider outline, the green lines indicate it’s a collider and it should roughly match the shape of your sprite.

If you added the Polygon Collider to an empty GameObject a Pentagon shape will be generated, If you expand the “collider info” in the component you will see the value of 5 Vertices, a Pentagon is made of 5 points therefore 5 Vertices.

To add more Vertices hold down shift + left mouse button anywhere on the green collider line and then position your Vertices, to delete Vertices use ctrl + left mouse click in the same fashion as adding them, you will see the green collider line update to red to indicate delete is available:

Polygon_collider_info

The Sprite Editor

There’s a new window to edit sprites in, it’s called the Sprite Editor and can be opened in two ways, Window -> Sprite editor, or click on the sprite asset in the project window, in the inspector change sprite mode to “multiple” and click the Sprite Editor button.

Sprite_editor

Note: You need to change the sprite mode to multiple to be able to slice it up in the Sprite Editor.

Let’s take a look at the Slice menu, this will give you options to slice up different elements of your sprite image automatically or manually.

A typical workflow is to slice up the image manually, you can do that by clicking and dragging on the image, you should see a blue rectangular gizmo appear with handles in the corners allowing you to resize your slice area. Having positioned and resized your slice area you can add another by following the same action, and you can add as many as you like. You will also notice a new Sprite window appear giving you extra tools to play with, you can rename the area for that sprite slice and edit the size of the rectangle by coordinates. The Trim button will tightly pack the slice rectangle based on transparency, so it will fit nicely along the edges of the sprite image.

In many cases you can probably use the automatic slicing, Unity will do the work for you and therefore save some time. Using the Automatic slicing option, the Sprite Editor will guess the boundaries of the sprite _again_ by transparency.

The Grid is another slicing option available, very useful for rectangular sprites, the Pixel Size means you can define the height and width of the tiles in pixels.

After automatic slicing you can still edit the slices manually, also use the Trim button to tighten them up.

Lot’s of other cool stuff included such as using the Animation window to easily animate sprites, using Mecanim for 2D blendtrees but I won’t cover that right now.

To finish up here’s some useful info:

Box2D Performance tips:

  • Try to avoid a lot of OnCollisionStay callbacks, this will be expensive.
  • Profiler is your friend, scroll down in the Profiler to Profile Physics2D and profile early in your development cycle.
  • Using the Polygon Collider can be expensive if lot’s of Vertices are needed, Polygon Collider decomposes the Sprite into lot’s of shapes which has a huge overhead.
  • Each shape can produce up to two contact points, having a Sprite with 50-80 shapes then it could produce double that in contacts.
  • Keep an eye on the amount of contacts from dynamic bodies, if they don’t collide you can have hundreds maybe thousands moving around, when they come into proximity performance starts to crumble
  • Circle Collider is your friend.
  • Consider all of the above especially when targeting low-end mobile hardware

That’s all folks!

Nordic Game 2013

Unity_Nordic

I had the pleasure of attending Nordic Games Conference 2013 for the first time and it was a great event, this is my slightly overdue post but I wanted to share my experience with you all.

I arrived on the final day off Unite Nordic to enjoy the Indie Party, sampling some nice local beers and catching up with some people I haven’t seen for a while. At the party there was a few Indie games on display for us all to admire and even play, games such as Badland which is a really slick local multiplayer game, each player uses a corner of the display screen to control a character racing through a level avoiding obstacles and being captured by the following screen, a fun survival game.

badland

The other title that jumped out due to it’s visuals and sound design was The Plan, this was just an experimental game but definitely had impressive attributes, has potential if they were to take it further.

The Plan

Day 1 of the conference was really busy at the Unity booth, I met some great developers from all backgrounds, some already using Unity and looking for some technical assistance, others looking to move to Unity or just check it out and see it. Day 1 seem to consist a majority of game developers but on Day 2, I met developers from other backgrounds, one wanting to use Unity for Architectural + Visualization stuff on the Oculus Rift, exciting stuff and others for various mobile apps.

I really liked that although Nordic Games Conference is busy, it seems to have this chilled out atmosphere, very laid back which is a great environment to work in. I look forward to attending future Nordic Games Conferences.

GDC 2013 – San Francisco

GDC - San Francisco

Attending my first GDC has been a career highlight to speak off, it was a great show packed full of great companies and people.

Over at Unity land, we had a huge booth which hit you when entering the expo arena, sitting between giants Sony and Nintendo. We had lines of demo machines showing off some great Unity projects and games, benches and screens for our presentation area and a reception desk to ensure we could direct you to the right people, oh and we had really nice comfy carpet to help protect our feet.

A particular highlight of the week for me was seeing a group of indies begin game jamming on one of our demo machines, the project was some crazy 3d sheep physics based game where as the player you controlled the sheep by jumping & tumbling around to pick up objects, the movement of the sheep made the game quite amusing.

Indie Game Jamming - GDC

The game shortly became a talking point between some of us, intrigued to see how the game would progress over the 2 / 3 days they had, adding more graphics and control tweaks to it as they went, never know what happened to the project, hopefully they copied it of the machine and will continue to do something even more crazy with it.

One of the other main excitement and highlights for me was meeting and talking to users of Unity, them asking me for help with their projects and as well as technical questions, some experiencing bugs with their projects and a majority of others asking more about our new features or how to use certain aspects of them. I learn’t a lot from speaking to you guys, I get to see how you use our product and features, as well as hearing about the sorts of questions asked.

Another cool thing was one of our employee’s showing the WiiU support and how easy it is to set up the additional camera for both displays.

Unity + WiiU

Lot’s of other cool things were happening, but until next time, catch you later folks.

A new era at Unity Technologies

Smiling Unity Logo

I’ve made the leap of faith and pursued a career change, moving away from the trusty area of QA, which is a department I’ve worked in all my professional career. Quality Assurance has been amazing, challenging and a great learning tool for my personal development, I have experience in both Game Testing and Software Testing (games and non-games), learning the ins and outs of product development cycles from start to finish.

Within Unity QA I have at least 19 Unity versions shipped to my name, my first version being Unity 3.0, that seems like a long time ago now.

My new role (Technical Account Specialist) allows me to help out developers looking to use Unity for the first time, travelling to attend trade shows and to meet and interact with the community.

The Unity community is one of the best things about Unity, the opportunity to work more closely with you guys and hopefully get to meet some of you is too good of an opportunity. I’m truly excited about my new adventure, it’s going to be great.

See you all soon.