The Nintendo Dev Interface (NDI) is an application designed to manage the installation and updating of Nintendo developer software. Instead of downloading individual packages, you can now select a set of package choices and the packages are correctly installed. Dependencies between packages are automatically handled by NDI and only appropriate packages are selected. Additional features include the updating of software to newly released versions, distribution of development environments, and the updating of development hardware with new firmware and software.
This document discusses the Nintendo Dev Interface graphical user interface.
NDI is incompatible with some Virtual Machine configurations.
Many features of NDI can only be used while connected to the Nintendo Developer Portal (https://developer.nintendo.com), which requires an active Nintendo Developer ID.
To create a Nintendo Developer ID, follow the instructions at https://developer.nintendo.com/register.
NDI downloads and then installs files to your PC. Because of this, some antivirus software programs may identify NDI as malicious software. To prevent such an occurrence, add NDI as an exception in your antivirus software. Refer to your antivirus software documentation for instructions on how to add an exception.
NDI manages folders and the contents of those folders on your PC. Because of this, modifying your environments manually by creating symbolic links to other locations can cause unintended behavior within NDI including application crashes and data loss. Symbolic links are not supported and it is strongly recommended that you do not use symbolic links in your environment folders.
NDI uses a variety of special concepts and data, intended to collect software in a way that is easy for users to understand. The following section identifies major concepts about how NDI functions and manages data. Take note of these concepts while reviewing the documentation.
NDI primarily installs packages, which are pre-configured containers containing the data required to install, update, and configure the software inside of them. These packages are grouped together into families which contain different versions of the same software (such as version 2.0 and 2.3). An individual variant of a package in a family is known as a release. A release may vary from other releases in the same family based on language or locale (for example, the documentation in the release, the text emitted by the tools or program, and so on), target operating region (US, EU, JP, and so on), and other such attributes. For example, the NintendoSDK 1.0.0 (English) would be a release in the NintendoSDK family, while the NintendoSDK 1.0.0 (Japanese) would be a separate release.
A collection of packages is installed by NDI into an environment. An environment refers to a specific set of packages and the folder that they reside within. Each environment is independent of other environments. That is, the operations performed on one environment do not affect other environments. The number of possible environments is mainly limited by the amount of hard disk space available. Environments must be unique only in name; they do not have to be unique in their contents. Therefore, you can have multiple environments installed (each with the same SDK and other set of software). After an environment is created, you cannot remove items from it. You can, however, update its internal software and add new software that you may have skipped during the initial installation.
Each environment will have a foundation package associated with it. This package can be considered the basis for the environment. It determines which packages are available during the installation process. For example, the NintendoSDK package would be the foundation package for any environment installing packages using the NintendoSDK.
When creating an environment a product may optionally be selected. A product selection filters the packages available for installation to include only software related to the selected product.
Some environments may contain global packages. These packages are installed one time and are then available to any environment they are compatible with. Modifying a global package in one environment will change that package for all environments, unlike regular packages.
When creating an environment, sets of packages are combined into bundles, which allow for the easy selection of software. Most bundles include software that provides specific features or is intended for specific types of users.
CONFIDENTIAL