Games developers rejoice, Unity have released the latest addition to their 4.x cycle at SIGGRAPH 2013, and it adds support for Windows Phone 8, Windows Store apps and Blackberry 10 as well as porting more pro features to the free edition. You can see the full announcement here on their site, but we’ve recapped (read: copied and pasted) the highlights below.
New platforms and free features
Unity 4.2 comes with three new platforms: Windows Phone 8, Windows Store apps and BlackBerry 10. As Unity explain it, “In Unity 4.2, all users of the free version of Unity can publish to any mobile platform they wish, be it Windows Phone 8, Windows Store, iOS, Android or BlackBerry 10 without it costing a dime (as long as they adhere to the terms of Unity’s EULA). In addition, Unity Pro users can use the Windows Store Pro deployment option (which includes the Windows Phone 8 and Windows Store apps platforms) absolutely free of charge.”
Realtime shadows have been added to the free version of Unity (though admittedly only hard, one-directional realtime shadows), as have the text-based serialisation of materials, prefabs and scenes, and NavMesh baking. Here’s your roundup of the key changes across the board:
– OpenGL ES 3.0 support for Android:
– ES3 has nicer shadow filtering, ETC2 texture compression, GPU skinning via transform feedback, HDR rendering, multiple render targets, derivative instructions in shaders etc.
– Requires an ES3-compatible GPU, for example Qualcomm Adreno 3xx or ARM Mali T6xx.
– Note that the official Android version does not support ES3 yet. So to test it you should install ES3 drivers directly from the GPU makers (e.g. Qualcomm).
– GPU Skinning (requires Unity Pro)
– Completely automatic, no custom shaders needed.
– Works on DirectX 11 (via stream-out), OpenGL ES 3.0 (via transform feedback) and Xbox 360 (via memexport). Other platforms will continue to use CPU skinning.
– Optimized and updated Image Effects
– Stencil buffer access (requires Unity Pro). Shaders can define stencil buffer operations, for optimizations or special effects.
– Static & dynamic batching for shadow casters & shadow collector pass. Note: many shadow casters can be batched even if they use different materials! They will be batched as long as the actual shadow caster shader & material properties affecting them are the same.
– Shuriken Collision Event Callback Scripting Interface: Efficient callbacks on GameObjects and Particle Systems are issued when Shuriken particle collisions occur. Per particle callback data includes collision positions, incident velocities, surface normals and Collider references. Use this feature to can cause damage to GameObjects and apply forces to rigidbodies.
– Integrated version control support for Perforce.
– Perform common Perforce operations right inside the Unity editor (requires a Team License).
– We’ve made the integrated version control system extensible; support for more VCS will be coming later. Or you can write your own VCS plugin, see our plugin page on github.
– Platform switching, player building and asset importing can now be cancelled! How cool is that?
– Custom Game View resolutions and aspect ratios: Custom settings are saved per project for easy sharing through version control (ProjectSettings/GameViewSizes.asset).
– Preset Libraries: Create new libraries either as personal libraries (saved in preferences) or shared libraries (saved in the project folder). You can now save the following types as presets:
– Curves in the Curve Editor and Particle System Curve Editor.
– Gradients in the Gradient Editor.
– Colors in the Color Picker.
– Memory Profiler: Now shows objects’ references to other loaded objects. This can help pinpoint why a given object is in memory.
– Shader Importer: now with default textures specified. When you initially set a shader on a material or reset a material the textures will be set to these default textures.
– Texture Importer: The new Alpha is Transparency setting performs color dilation to fix edge artifacts on semi-transparent textures. It is enabled by default for GUI textures.
– Editor extensions can now get a callback when Unity is about to open an asset. Use this callback to open an asset inside Unity before it’s opened in an external tool. Decorate a static method with the attribute UnityEditor.Callbacks.OnOpenAsset.
– Deferred Lighting is now enabled on Android and iOS.
– Android: Added support for Android Library Projects (no compilation support, so the libraries have to be pre-compiled).
– Android: AndroidJavaProxy – Support for implementing Java interfaces in C#.
– Android: The editor can now update the Android SDK if it does not match the required dependencies.
– iOS: Added CrashReporter API for crash detection and extraction (requires Unity Pro).
– iOS: Set up iOS Player Settings and texture import overrides and build iOS AssetBundles from the Windows Editor. Building an actual iOS player still requires Mac OS X & Xcode.
– Editor: When in mobile graphics emulation mode, the editor will show a warning when RenderTexture usage is not optimal for tile-based or multi-GPU systems.
– Added Bypass Listener and Bypass Reverb Zones. Use these features to turn off listener effects independently from the effects on the audio source. Thus, Bypass Effects only turns off the effects on the AudioSource, and the 3 flags can be combined freely.
– Added Disable Audio property in Audio project settings to deactivate the audio system in standalone builds. Note that this also affects the audio of MovieTextures. In the editor the audio system is still on and will support previewing audio clips, but AudioSource.Play calls and playOnAwake will not be handled in order to simulate behavior of the standalone build.
– Added Prepare iOS For Recording in Player Settings (iOS > Other Settings in the inspector). Turning it on will avoid the stalls that otherwise happen when starting or stopping the Microphone object.
Linux, Mac and Mecanim
– Linux: Added basic webcam support for video4linux2-supported devices.
– Linux: Implement headless player; this will not require Xlib (requires Unity Pro).
– Mac OS X: 64 bit standalone player support (x86_64 and Universal).
– Mecanim: Avatar Creation API for avatar creation from scripts at runtime or in the editor.
– Mecanim: Synchronised Layers option to override state durations.
– Mecanim: You can now set the default layer weight in the editor for your animator controller layer.
Unity would also like to add “Many thanks to all the thousands of users who have participated in the Unity 4.2 alpha and beta program. Without your work in suggesting improvements and reporting bugs Unity wouldn’t be the polished product it is today,” which is lovely of them. You can see the full list of changes in the Unity 4.2 release notes.
Want to know more about what the new SIGGRAPH releases might mean for you? Give us a call on 03332 409 306 or email 3D@Jigsaw24.com. For all the latest news, follow us on Twitter or ‘Like’ us on Facebook.