Unity Comes to New Nintendo 3DS

January 29, 2016 in Technology

We announced our intention to support Nintendo’s recently released New Nintendo 3DS platform at Unite Tokyo and we’ve been very busy in the meantime getting it ready.  Now we’re pleased to announce it’s available for use today!

The first question people usually ask is “do you support the original Nintendo 3DS too?”  To which the answer is a qualified “yes”. We can generate ROM images which are compatible with the original Nintendo 3DS, and there are certainly some types of game which will run perfectly well on it, but for the majority of games we strongly recommend targeting the New Nintendo 3DS for maximum gorgeousness.

We’ve been working very closely with select developers to port a few of their existing games to New Nintendo 3DS. We’ve been busy profiling, optimizing, and ironing out the niggles using real-world projects, so you can be confident your games will run as smoothly as possible. In fact, one game has already successfully passed through Nintendo’s exacting mastering system; Wind Up Knight 2 went on sale at the end of last year!

Wind Up Knight 2

Wind Up Knight 2 – Japanese Version. (c) 2016 Robot Invader

Unity’s internal shader code underwent a number of significant changes in the transition from version 5.1 to 5.2.  This brought many benefits, including cleaner and more performant code, and also fixed a number of issues we had on console platforms.  We’re not able retrofit those fixes to the 5.1 based version, so we shall only be actively developing our shader support from version 5.2 onwards.

We’ve been putting Unity for New Nintendo 3DS version 5.2 through its paces for a few months, and it’ll be made available once it’s proved itself by getting a game through Nintendo’s mastering system too.  That should be in the near future, but it’s not something that’s easy to put a date on.

So far, we’ve been in development with a Nintendo 3DS-specific version of the Unity editor, but now we’ve switched our focus towards upgrading to the latest version, with a view to shipping as a plug-in extension to the regular editor.  We have a 5.3 based version running internally, and we’re working hard to get it merged into our mainline code-base.

It should be mentioned that some features are not yet implemented in this first public release, notably UNet and Shadow Maps (although Light-Maps are supported). We’re prioritising new features according to customer demand, but right now our main goal is to get into the regular editor.

In common with other mobile platforms, there are some limitations as to what can be achieved with the hardware. For instance, Unity’s Standard Shader requires desktop-class graphics hardware so it’s not something we can support on Nintendo 3DS. However, as with other platforms, if you try to use a shader which is unsupported then Unity will fall-back to a less complex shader that gives the best possible results.

Preparing your game for New Nintendo 3DS

This platform is unique in several ways, so games will need some modification to make best use of its features.

  • There are two screens, so you will need to redesign your user interface to accommodate the additional display.  The lower screen is touch sensitive, so it makes sense to put menus and other interactive UI items there.

The device’s coolest feature is that the picture is 3D, without needing glasses!  However, this does mean that the distance of objects is visible to the player in a way that it isn’t on other platforms.  So graphical effects which “cheat” to simulate distance won’t work.  For example, 2½-D games which use an orthographic projection and parallax layers will show up as completely flat.

  • There is less memory available than on other platforms, but that’s not as big an issue as it might seem at first. Textures can be down-sized drastically since the screen resolution is much lower than typically found on smartphones and tablets.
  • Unity for New Nintendo 3DS was one of the first platforms to use our in-house IL2CPP technology exclusively; we don’t use Mono at all. This brings substantial performance benefits, but there are a couple of downsides:

All compilation is done AOT (when the project is built). We don’t support JIT compilation (at runtime).

Various other platforms are also AOT-only, so if you’re porting a game from one of those platforms then you won’t have any problems. However, if you’re porting from a platform which does allow JIT compilation, then you might run into issues. In particular, some middleware JSON parsers which use introspection can be problematic. The good news is that Unity now comes with its own high-performance JSON parser, which doesn’t suffer from such issues.

hammers

Opening a celebratory barrel of sake, at Unite Tokyo.

How to Get Involved

Unity for New Nintendo 3DS is available at no charge. Just like with Nintendo’s Wii U, if you sign up to develop games for the platform, you get to use Unity for free!

Simply visit Nintendo’s Developer Portal and enrol in the Nintendo Developer Program*, then you’ll be able to download Unity for New Nintendo 3DS.

Of course, you will need some development hardware too. Devkits and testing units can also be purchased via Nintendo’s Developer Portal.

* Conditions apply, see site for details.

Comments (18)

Subscribe to comments
  1. Steven

    February 10, 2016 at 6:16 pm / 

    FYI – Roadmap still shows New Nintendo 3DS under “IN-PROGRESS, TIMELINES LONG OR UNCERTAIN”.

    https://unity3d.com/unity/roadmap

    1. Andrew Innes

      March 3, 2016 at 2:31 am / 

      That’s referring to the availability of 3DS platform support in the regular Unity editor. We’re currently shipping with a 3DS-specific build.

  2. FC

    February 3, 2016 at 5:46 pm / 

    This is BULLSHIT.

    Existing features are so cheap. Documentation is 70% obsolete (or just plain stupid).
    UNET is a fucking hoax.

    Get your shit together, unity. Don’t add features before other ones are not finished.
    This is why you have no AAA games !

  3. 12345

    February 1, 2016 at 6:55 pm / 

    does the image effect work on 3ds ?

    1. Andrew Innes

      February 2, 2016 at 2:09 am / 

      Image effects are not supported. They require hardware features not present on the device.

  4. Robert Cummings

    January 30, 2016 at 7:30 pm / 

    Re: supporting the old 3ds, I doubt that would use a new version of Unity though (have to seek clarification). Personally I would just support the new 3ds if only because it’s far more capable and you get to use new Unity.

  5. Andrew

    January 30, 2016 at 7:21 pm / 

    That is awesome I can hardly wait to be developing games for a Nintendo 3DS!

  6. FuzzyQuills

    January 30, 2016 at 9:06 am / 

    So you guys DO support original 3DS! That sounds splendid. I initially thought (and some untiy devs thought this too) that only new 3DS would be supported.

    As for those who said lightmapping’s broken… I haven’t had that many issues with it. But then again, my scenes aren’t as complex as some games… :D

    1. FuzzyQuills

      January 30, 2016 at 9:09 am / 

      *unity, oops. :D

  7. laurent

    January 30, 2016 at 2:36 am / 

    “No shadow map but lightmaps are supported” – problem is lightmaps are broken since Enlighten.
    It would be good that UT provide a conversion tool for lightmaps so we can bake in 4.7.

  8. 2345678

    January 29, 2016 at 8:18 pm / 

    does it support masterserver or unity network?

    1. 2345678

      January 29, 2016 at 8:52 pm / 

      sorry.when is it going to be available?

    2. 2345678

      January 29, 2016 at 9:06 pm / 

      and will you support masterserver ,unet or both?

    3. Andrew Innes

      February 2, 2016 at 2:04 am / 

      The first release does not support UNet, but we have a number of customers with games in development who require that feature, so we are working on it now.

  9. Mahdi Jeddi

    January 29, 2016 at 4:53 pm / 

    Good to hear that you also support the original 3DS. I’m pretty sure the new one still hasn’t sold as many as the original.

  10. Jonney Shih

    January 29, 2016 at 11:24 am / 

    Congratulations to the best multiplatform engine, does making the platform come as an extension module make it possible for us to develop on the platform without Nintendo credentials? and where can we find the new device’s specsheets?
    Thanks for great work!

    1. Lucas

      January 29, 2016 at 3:03 pm / 

    2. Andrew Innes

      February 2, 2016 at 2:00 am / 

      You will need a 3DS devkit to develop games, so you have to register with Nintendo. Devkits are very affordable, so that shouldn’t be an issue even for small Indy developers.

Comments are closed.