Sponsored By

Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs.

The Future of Unity: 3.5 and Beyond

Unity announced a major set of feature updates for their game engine this morning at their Unite conference. They also gave some numbers for their popular Asset Store and announced their "AAA Initiative" aimed at providing support for large game projects.

Dan Miller-Schroeder, Blogger

September 28, 2011

9 Min Read

The Future of Unity: 3.5 and Beyond

by DAN MILLER-SCHROEDER, design3.com
September 28, 2011 

 

SAN FRANCISCO, CA - Unity announced a major set of feature updates for their game engine this morning at their Unite conference. They also gave some numbers for their popular Asset Store and announced their "AAA Initiative" aimed at providing support for larger, high-quality game projects. For developers looking to ramp up on this tool, design3 hosts over 40 hours of Unity training videos.

 

Unite 2011 Attendees

Unite 2011 Attendees

Unite 2011 Attendees

New Features

The next version of Unity, the engine behind over 2000 iOS games and 200 Android games, is about to enter beta development. Some of these features will be available in the upcoming Unity 3.5, and others will be released as they become ready.

Social API
Unity will provide a cross-platform social API for integration of leaderboards, achievements, chat systems, and friends. Support for the iOS Game Center will be available in 3.5, with support for Facebook and XBox/PS3's native social system added in the future. OpenFeint support is also possible, but the onus is on them to provide a solution using Unity's new API.

Analytics
In-game analytics can be used to enhance monetizing as well as to track player behavior and improve game design. Unity demoed an in-editor "heat map" that showed the parts of a game level at which players were traveling, dying, and quitting the game most often, giving developers valuable insight as to how players are experiencing their games. The analytics server will be hosted by Unity, taking the burden of building and scaling such a server off of a developer's shoulders.

In-app Purchase
Many free-to-play games are more lucrative that their paid-for counterparts. Even Infinity Blade, a $6 game in a market dominated by $1 games, makes 40% of its money from in-app purchases (IAPs). Unity will add a cross-platform IAP solution that ties into its new social and analytics features and is fully integrated into the existing editor. This should provide a boon to developers looking for alternate ways of monetizing their games.

Flash Output
Unity has a working version of a Flash build option that outputs a SWF just like any other Flash authoring software. It will also support the creation of a Flash-authored UI that can be placed over the Unity-generated SWF if you'd rather use Flash for your UI, create your own preloader, or use a Flash debugger. This works by translating javascript and C# into ActionScript before building to SWF. Not all Unity features (including many .NET libraries) will be supported at launch, but access to Flash's implementation of those features will be provided instead. For example, RakNet will not be supported, but access to Flash networking solutions will be. For a more detailed look at Unity's Flash option, check out design3's recap of Unite 2011's Flash Day.

AAA Initiative

Many upcoming features revolve around Unity's desire to better support AAA game development. The ability to accommodate larger projects with larger teams and higher production standards is a priority in all of the following feature updates. In spite of this AAA focus, accessibility and usefulness for smaller projects remains at the heart of Unity's growth philosophy. Games like Bladeslinger and Shadowgun recently used many of these features to impressive effect.

LOD Support
Automatic LOD scaling will be added, meaning that models will be automatically tessellated at user-defined distance thresholds. LOD modeling has traditionally meant that artists had to create 3D art at varying quality levels to optimize performance of models that were far away from the camera. Auto-tessellation means that the engine handles this at build time and auto-switches between LODs at runtime. Unity's implementation of this uses renderers as well as meshes, meaning a developer could use a cloth renderer up close and switch to a low poly mesh at a distance.

Pathfinding
NPC pathfinding is a pretty advanced AI feature that allows computer-controlled characters to navigate automatically around an environment. Unity's solution voxelizes the game environment and generates a navmesh wherever a character can walk. A developer simply has to set the NPC's destination and the pathfinding system will do the rest of the work. Environment planes at different heights can be manually seamed together into a single navmesh if ladders or teleporters are used, but slope limits and max jump heights can be used to automatically set jumping and climbing paths over ledges and stairs.

Crowd Simulation
Unity's new crowd simulation tool is an extension of the pathfinding system by which crowds of NPCs detect each others' paths and intelligently adjust their own to save energy. This feature is definitely breaking new ground in terms of out-of-the-box game engine features, as this doesn't exist natively in any other engine at the moment.

Team Scaling Tools
To complement Unity's existing asset management capabilities, Perforce and SVN integration have been added via a built-in editor UI. Perforce and SVN are two of the most popular asset and version control softwares on the market and use sophisticated text merging algorithms to accommodate multiple check-outs of the same piece of code. Unity has changed their scene files to be text-based, meaning they will be able to be successfully merged by these versioning softwares.

A cache server has also been added to allow for a "smart" import of assets to save time. Assets will also be able to be committed directly from within the Unity editor.

Occlusion Culling
Optimizations to the occlusion culling system have been added, making the compilation of occlusion data up to 1600% faster than before. There's also live in-editor feedback as to which models are occluded based on the camera's current position. "Portals" can also be added now, giving developers the ability to change occlusion information based on an open or closed door or window shade.

Directional Lightmaps
Directional lightmaps allow normal maps to adhere to lightmap data, making specular and bump surfaces live up to their fullest potential in lightmapped environments.

Lightprobes
Lightprobes have been used for years in cinema visual effects and open up huge graphics possibilities for Unity. Previously, if a character was in a lightmapped scene, it would appear to be lit from a totally different light source than the rest of the environment. It wouldn't react to areas of light, shadow, color, or any parts of the environment that didn't use a dynamic light. Lightprobes tetrahedrize the space and encode lighting info from every direction at that point. It can then apply that data to the textures on a moving model. When a model exists between two lightprobe areas, the data is interpolated.

This results in some seriously amazing results. Shadowgun is a first-person shooter that used this tool to achieve 60fps on an iPad 2 with graphics that look absolutely first-class. Dynamic reaction to muzzle flashes, diegetic light sources, and emissive surfaces were all present, and not a single dynamic light was used.

Gamma-correct Rendering
Light calculations can now optionally be performed in linear space and translated into gamma space (what monitors use) later. Specular surfaces will no longer get blown out, and textures look more realistic in general. Halo 3 and Uncharted are performing lighting calculations this way, and it may prove to be the future of video game lighting.

HDR
HDR support will be added, allowing areas of the environment with dramatically different light levels to intelligently coexist in-camera (such as a bright sunny outdoors viewed from the mouth of a dark, torch-lit cave).

GPU Profiler
The new GPU profiler will complement the existing CPU profiler, letting developers see, on a per-object level, how GPU performance is being impacted.

Performance Optimizations
Multithreaded rendering and modified memory allocations in Unity 3.5 will result in an out-of-the box performance improvement of between 10% and 300%.

Particle System Updates
The 3.5 particle system is curve driven, giving developers control over most of the 100+ parameters over the lifespan of a particle. There's also a time scrubber, live editor feedback to changes, and a mesh emitter that allows 3D meshes to be used in addition to the existing 2D plane support. 3D meshes from a particle emitter can even cast shadows, just as any other mesh in the game.

Mic and Webcam Input
Access to a device's microphone and webcam will be natively supported on all platforms, including mobile phones.

Advanced Audio Access
Unity will now allow access to audio buffers, which will allow development of games that rely heavily on audio control and interaction. This will also allow for the creation of custom audio filters in addition to Unity's existing audio features.

Find Scene Dependencies
Developers will now have the ability to look at an asset and get a list of scenes that use it, letting them optimize or clean up their projects.

Minor Prefab Updates
You can now add a component to a prefab instance without breaking the connection to a prefab.

Unity's Asset Store

There are almost 2000 asset packages available in the Unity Asset Store, allowing developers to round out their skill set by buying assets from other members of the community. Artists can buy code, coders can buy art, and content creators of all types can make money. The top 15 Asset Store sellers average $5000 per month, with $140,000 in total sales occurring in September 2011 alone. The newest version of the Asset Store allows users to preview assets live in their game before purchasing.

What is Unity?

Unity is a game engine that integrates many middlewares into a single "unified" software tool. It allows for development in javascript, C#, and Boo, and builds to PC, Mac OS, iOSAndroid, XBox 360, PS3, Wii, a proprietary web player, and now Flash. Mainly used for video games, Unity also has applications in architectural visualization, serious games and educational simulations, and web app development.

The central concepts are "game objects" and "components." A game object is a focal point for functionality, and a component is a unity of functionality that can be attached to game objects. Components include Transforms (position and rotation), mesh renderers, colliders, and all custom scripts. By developing with this in mind, a more aspect-oriented approach can be taken rather then the conventional object-oriented/inheritance approach.

Dan Miller-Schroeder is the Content Manager for design3.com, a portal for game development and game art tutorials.

Read more about:

2011Featured Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like