Woah my first blog post! And I am going to dive right into the roadmap. This time we are taking a look at what is coming up in the near future.
Unity 2.6 is our next big release in the Unity 2.x series (And will be available as a free upgrade). We are planning to release Unity 2.6 sometime later this summer. Here’s some of the things to come:
Threaded Background Loading
We originally implemented background loading Cartoon Network’s FusionFall MMO, and are now integrating this into mainline Unity. The Cartoon Network guys built a huge streaming world where the entire game is split into 16 x 16 scenes. Scenes are loaded and unloaded on the fly while the character runs around in the world. There are no noticeable framerate hiccups while loading because all loading code is running in a different thread. It’s a single line API for you to use, and Unity does all the heavy lifting for you completely automatically.
Built-in Realtime Profiler
Dmitry, who just joined us from EA (and previously head of R&D at Crytek), is working on a hierarchical Performance Profiler. It gives you a quick overview of where Unity is spending its time and how you are spending time in your scripts. Profiling times are separated out by frames, so you can step through previous frames. The profiler shows you all managed memory allocations, so it’s gonna be great for reducing garbage collector hiccups!
Memory Optimizations + Performance Optimizations
Aras has spent some time optimizing the graphics rendering pipeline. For example shadow rendering code is up to 30% faster now. Renaldas “ReJ” has been working a lot on hardcore iPhone optimizations recently, and some of those will carry right over into Unity, so we will see some gains from that as well. And lastly, during 2008 we worked on a lot of optimization for FusionFall (after all, we’re pulling off running a full MMO on very low end hardware), and they will all find their way back into Unity 2.6. We don’t know what performance increase this will end up being when it’s all combined, but it’s safe to assume that you will be blown away when you see it.
Visual Studio Integration
Unity has always been a tool where designers, artists and hardcore programmers work together and do group hugs sharing the love. With Unity 2.6 we will automatically generate Visual Studio projects and you can double click on an error in the console log in Unity and it will bring you right to that line in Visual Studio. Let’s face it, Visual Studio is the world’s best IDE for writing C# code, and we’ll make it easy to take full advantage of Visual Studio for Unity users.
Keyframe & Animation Curve Editor
Rune and Nicholas are working on an all new Curve Editor for Unity. You can see some more information about this in Nicholas’s blog post a few days ago. But to sum it up, it rocks. It’s a full on curve editor with support for editing curve tangents, it’s as powerful as what people know from 3ds Max and Maya but a lot more intuitive. It lets you animate any type of property and you can even animate material properties, like UV offset & scale, color, float and vector properties.
I just can’t wait to see what people do when they get these material animation tools in their hands, combined with our shader system where you can expose arbitrary properties to artists for tweaking… this is going to open up a whole new world of awesome graphics effects!
Improved Asset Unloading
We are working on an a method for unloading of assets that will look at exactly what assets are referenced from scripts or used by any object in the scene using garbage collection.
Vertex Shader based Vertex Lighting
Currently Unity mixes the fixed function pipeline for vertex lit objects and vertex shaders for pixel lit lights. On Direct3D this creates some rendering artifacts on very close or self intersecting surfaces. We want to end this by implementing a full fixed function emulator in vertex shaders. You won’t have to do anything, it will just work!
Anti-aliasing with Image Effects
Anti-aliasing should work with image post-processing effects. ‘nuff said!
There are some other very important features that we are working on. We want to have them in Unity as fast as possible. They won’t be ready for 2.6 and we also don’t know when they will be finished, but they will come as a free upgrade for Unity 2.x.
While Unity provides a lot of debug utilities like live watching member variables in the Inspector as scripts are modifying, we don’t yet have a full on line by line Debugger. We are currently internally working on adding a debugger to Mono for OS X and we have contracted another company to work on the debugger for Windows.
Perforce and SVN integration
Perforce and Subversion integration for Unity is very much on our minds these days. As we are getting more and more large game studios on board with Unity this is a very much requested feature. For the time being, rest assured that support for Perforce / SVN is coming.
2.5.1 Bug fix Update
New features are cool and all but before we get there, we will make sure that Unity 2.5.1 is working rock solid for everyone. We have just released a complete rewrite of the entire editor for the first time on Windows, from what we hear it’s working very solidly but there are some corner case issues we need to fix. So expect a Unity 2.5.1 very soon that focuses only on bug fixes.