Unity Gets Support for Nintendo New 3DS (and Monthly Update)
During the keynote speech at Unite 2015 Tokyo yesterday, Unity Technologies announced plans to support the New Nintendo 3DS within Unity 5.
The New 3DS build target is in addition to Wii U development, which was added in 2013. As with Wii U development, potential game makers must be part of the Nintendo Wii U Developer network, and games must be built in a special version of Unity with a New 3DS build target. Games built for the New 3DS will run through Unity’s IL2CPP tool, which compiles all of the game’s source into platform neutral code.
This news is huge for developers looking to take advantage of the 3DS’s grip on the mobile gaming market. More news is expected to be released on the Unity-Nintendo deal soon.
Following the first three patches for Unity 5, the first public release of Unity 5.0.1 was released at the beginning of the month. On top of a list of fixes in this release, 5.0.1 also included a number of new features:
- Android: Added framebuffer clear on devices that would prefer framebuffer discard but don’t have the required GLES extension.
- Android: Added profiling stats for blit to screen and input processing.
- Android: Joystick input optimization, fixes slowdown on some older devices.
- Android: Parsing device specific XML font configurations to determine system/fallback fonts in addition to the hard-coded list of font names (in 4.6.4 too).
- Android: Splash screen is now shown in full screen mode.
- BlackBerry: Passport device now supports landscape orientation.
- Bug reporter: Added info about license type.
- Editor: Android; added ability to configure JDK path in the Editor preferences (in 4.6.4 too).
- Editor: Android TV; added configuration option for D-pad and gamepad support level.
- GI: Added pushoff for baked lighting, can be used to fix AO artefacts.
- GI: Allow higher AO exponent in Lighting window.
- GI: Don’t calculate AO when AO exponent is 0.
- GI: Fixed inconsistent Enlighten build timings; now it should correspond to wall clock time (unless you move at near speed of light relative to your computer, in which case it might still be wrong).
- GI: Moved baked tag to the proper place in UI.
- GI: Output more stats per system and in total: vertex count, face count, chart count and texel count.
- GI: Removed an unnecessary warning that realtime GI is not supported on PS3 and Xbox360 when finishing a bake in non-continuous mode.
- GI: Sped up baked lightmap compositing.
- GI: Spit out timings of the precompute and bake to the Editor log. Timer resets when clearing GI data, exiting continuous mode or cancelling a bake.
- GI: Take texture transparency into account when calculating AO.
- GI: Users will now be warned when building scenes with Precomputed Realtime GI ticked on platforms that do not support Realtime GI.
- Graphics: Shaders now read consistent values across platforms for vertex properties that are missing in a Mesh. We have adopted the OpenGL standard, which is that normals default to (0,0,1) and tangents default to (1,0,0).
- iOS: Improve launch screen support:
- Added option to disable launch screen.
- Added option to display relatively sized image on a specific background.
- iOS: Short term fix for occasional input stuttering (in 4.6.4 too).
- iOS/Metal: Defer [CAMetalLayer nextDrawable] until it is actually needed (helps with occasional framerate hiccups) (in 4.6.4 too).
- Linux: Query Mesa driver for amount of video memory when feasible.
- Physics 2D: Allow SurfaceEffector2D to control whether friction or bounce is used upon contact.
- Physics 2D: Allow SurfaceEffector2D to control whether the impulse force is applied to the center-of-mass or contact-point.
- Physics 2D: Improve PointEffector2D.distanceScale tooltip/documentation.
- Physics 2D: Joint2D property ‘collideConnected’ renamed to ‘enableCollision’ to match 3D physics.
- Physics 2D: PlatformEffector2D property renames based upon feedback: oneWay->useOneWay, sideFriction->useSideFriction and sideBounce->useSideBounce.
- Platforms: Unity Professional users can now optionally show the builtin Unity Splash Screen on applicable platforms, in Player Settings.
- Version Control: Added shortcut to save changeset window.
- Version Control: Added “delete empty changesets” button.
- Version Control: Close change window automatically on success.
- Version Control: New changesets default to expanded now.
- GI: Disabled unused Xbox360 solver data generation.
- Input: Changed Input.GetJoystickNames() on Windows to always match names to joystick numbers, similar to most other platforms (in 4.6.4 too).
- iOS: Default scripting backend is set to IL2CPP on iOS.
- Terrain: Only textures with Repeat wrap mode can be used as terrain splat textures now.
- Terrain: Removed ‘Override Smoothness’ option from terrain settings. A new per-splat smoothness property is available when the splat texture has no alpha channel.
Four patches for Unity 4.6.3 and two patches for Unity 4.6.4 have been released.
Unity 4.6.4p1 added two UI improvements:
- UI: Allow dragging anchors outside of bounds of parent when holding down Ctrl (Cmd on Mac) – the same key that disables snapping. This makes it easier to author screen transitions that support multiple resolutions, since content can be animated to move a distance that’s a percentage of the screen width or height.
- UI: Avoid rebatching when moving a Nested Canvas.
And in 4.6.4p2, the following improvement and fix were made:
- Animation: Better formatting of the error message when animation events are fired (i.e: “oldWrappedTime > newWrappedTime”).
- Android: Fixed crash in Mono caused by invocation of wrong method.
Unity 4.6.3p1 added some new features:
- Support for Intel RealSense plugin in Unity Free.
- iOS/Metal: Optimized static batching and dynamic geometry handling.
In 4.6.3p2, some Android and iOS bugs were corrected, and the following enhancements were added:
- Android: Parsing device specific xml font configurations to determine system/fallback fonts.
- Editor: Android – Added the ability to configure JDK path in the Editor preferences
Unity 4.6.3p3 added the following:
- iOS/Metal: Defer [CAMetalLayer nextDrawable] till it is actually needed (should help occasional framerate hiccups).
- iOS: Short term fix for input stuttering.
- iOS: Xcode 6.3 support.
And in 4.6.3p4, a number of iOS bugs with IL2CPP were corrected. Additionally, the following improvements were added:
- Asset Loading: Added an offset to AssetBundle.CreateFromFile, to load the asset bundle starting at an offset in the file.
- Graphics: Increased maximum texture size to 4096 for -nographics batch mode devices. Helps build servers.
- iOS: Make startup more robust (esp. regarding locking device on startup).
As always, patches are available on Unity’s QA site, but should only be installed by those experiencing issues fixed with the patch.
Unity announced Friday that their Unity Analytics beta has expanded. The analytics monitoring program is now available across Unity’s desktop and mobile platforms, including iOS, Android, Windows Phone 8.1, Windows, Windows Store 8.1, Mac, and Linux builds. Additionally, Unity has added several improvements, many based on requests from the developer community.
Last week, Unity also released the first in a series of weekly iOS 64-bit and Metal updates. This blog post focused on the recent changes to Unity 5.0.1 and 4.6.4, noted above, which fixes a number of issues with iOS builds using IL2CPP. Of note, however, is that build sizes are still larger, but this should be fixed in the upcoming 5.0.1p1 patch, due out this week.
As always, the latest version of Unity can be downloaded for free.