Rather than follow Epic’s strategy of targeting the next generation of hardware for a new engine major release, Unity Technologies has pulled back the curtains on Unity 4, which brings some important improvements to the popular engine on today’s hardware.
New to Unity 4, Mecanim is Unity’s new system for handling the animation of characters in the game world. Filling a significant gap in Unity’s toolset, Mecanim combines a state machine system with the key tools needed for animation manipulation in a modern engine.
- State machine editor
- Blend trees
- IK Rigs
- Animation auto-retargeting
More Platforms Supported
Unity has always been known as a cross-platform engine. With Unity 4, they’re adding another significant platform to their list, Linux. While it does not have a large market share on the desktop, relatively speaking, those who do game on the platform tend to be very dedicated to supporting good games. Publishing a quality title for the platform could lead to a much higher ROI, by percentage, than on other platforms.
- Linux: New Support in Unity 4. A highly-requested feature by the community, and one that has demonstrated viability through the Humble Indie Bundle and other distribution methods
- Flash: Improved support and features in Unity 4, and the ability to publish straight from the Unity UI
Significant improvements are under the hood for the renderer and related systems in Unity 4. The addition of DirectX 11 support is a major step forward for the visual fidelity of games running on the engine.
- DirectX 11/Shader Model 5 support: This includes mesh tessellation and GPU-based compute shaders
- 3D Texture Support
- Dynamic Fonts on all platforms: This is a significant improvement for the engine; handling of text tends to be problematic, performance-wise, on mobile.
- Supports HTML-like markup language
Shuriken (Particle System)
New physical interaction and performance features have been added
- External forces
- Bent normal
- Automatic particle culling
- Real-time self-shadowing dynamic objects: Typically a very expensive operation, we’ll have to wait and see what performance looks like across the range of devices.
- Instancing of skinned meshes: Potentially a huge performance gain for the engine; this will allow for much more densely-decorated environments.
- Baked normal maps
- Profiler improvements
- Support is being added for GPU profiling on devices with Tegra chipsets
- Time-based metrics broken down by game area
- Tracks CPU and GPU usage, rendering, physics, audio, and memory statistics
Unity’s navigation system is getting a couple of key improvements which will make it far more useful in a dynamic game world.
- Dynamic obstacles: Some pathing solutions do not deal well with any non-stationary objects in the world, this system should alleviate that issue.
- Avoidance priority: Being able to assign weights to the navigation system is a great, simple way to reduce the perception of “dumb” AI movement.
- Performance and memory optimizations in UnityGUI: The GUI system in Unity, particularly on mobile, has a reputation for not being well-optimized in version 3. There are a number of plugins for the engine to get around this limitation, so it will be interesting to see how much of a difference these changes make.
- Improvements in geometry data handling for performance and memory usage: Memory usage is always an issue, particularly on mobile. Once again, wait & see is required, but any improvement is good.
- Non-triangle-based meshes (points & lines) are able to be rendered efficiently: Many games avoid the use of points & lines for the specific reason that they don’t draw well, performance-wise, relative to skinned meshes.
- Iterative Lightmap Baking: A common complaint about Unity’s lighting system in v3 was the amount of time it could take to rebake the lighting for a level. An iterative system could be a welcome relief to the existing time requirements.
- Improved Project Window workflows: We’ll have to wait and find out exactly what this means.
- Improved component-based workflows: Same here. Improving workflows is good, but this doesn’t tell us much without putting hands-on.
- Debugging: Supports Remote Unity Web Player: Being able to debug Web Player apps is crucial, and should help speed development cycles.
- Extensible inspectors for custom classes: Useful for programmers. If not, don’t worry about it.
- Improved cubemap import pipeline: We’ll have to see what they’ve done to improve the pipeline, but once again, time is money. Faster/easier is better/cheaper.
- Unity Asset Store resources are able to be searched, previewed, and purchased from within the project window: This reads mainly as a bullet point to investors at first glance, but in actuality, it could be extremely useful. Being able to preview an asset in-browser could be extremely handy. If there’s a way for you to actually preview it in your game before purchase, it would be even better. This would be a huge improvement over purchasing from some other sites online where you think it will work, based on a series of screenshots, but you’re never quite sure.
There are a lot of interesting improvements planned for the Unity 4 release, some of which could save significant amounts of time for developers. As is always the case with feature lists, there is the potential for features being added or removed, so we’ll have to wait and see if this is truly the final list.
Once again, coming to a major release, upgrade costs will be involved for Unity users, and Unity Technologies has stated that there will be no 3.6 release, so the current code will only get minor fixes and improvements until 4.0 hits. This is another case where developers must analyze their finances, and determine if it is more cost-efficient to stick with 3.5, or move up and take advantage of features that could save them valuable time.
Current ETA on release has yet to be determined, but it will be at least a few months by current estimates. Keep an eye on this article for more information as it comes in.