Current Development Requirements (UE 5.7)
Supported Device Hardware: Nintendo Switch
Supported IDE: Visual Studio 2022
SDK Versions:
SDK: 20.5.6
Minimum Firmware Version: 20.1.0-2.2
The Nintendo Dev Interface (NDI) is long deprecated, and can no longer be downloaded from Nintendo. Use the Nintendo Package Manager (NNPM) instead.
Version History
5.7 | 20.5.6 | 20.1.0-2.2 | |
5.6 | 20.5.6 | 20.1.0-2.2 | |
5.5 | 18.3.1 | 19.0.0-2.0 | |
5.4 | 16.2.3 | 17.0.0-7.0 | |
5.3 | 16.2.0 | 16.0.3 | Supported IDE: Visual Studio 2022 (SDK version 16.2.0) |
5.2 | 14.3.0 or 15.3.0 + optional NEX 4.6.7 | 14.3.0-1.0 | Supported IDE: Visual Studio 2022 (SDK version 15.3.0), Visual Studio 2019 (SDK version 14.3.0) |
5.1 | 14.3.0 + optional NEX 4.6.7 | 14.1.2-1.1 | Supported IDE: Visual Studio 2019, 2022 |
5.0 | 13.3.0 + optional NEX 4.6.6 | 13.2.1 | Supported IDE: Visual Studio 2019 |
Release Notes
All Nintendo
New:
Made a modification to provide a way to separate out the add-on content version from the application version as there may be cases where developers want to update only the add-on content release version without changing the application version.
Implemented CPU overclocking for Nintendo platforms for development purposes on supported hardware.
When ASTC texture compression is enabled, now also enable RDO.
RDO provides better package compression (~5% total package size reduction in large projects) without perceptible loss of quality.
Now implemented ApplicationWillDeactivateDelegate and ApplicationHasReactivatedDelegate. These correspond to when the application enters and leaves the Out of Focus state (not the Background state).
Note that the value of CVarSuspendInBackground affects what information the OS provides to the running application which affects what delegates can be broadcast. See the Nintendo documentation on "Handling Changes in the Focus State" for more information about these states.
Disabled the [[nodiscard]] warning on NintendoSDK functions that define it to ease the transition to SDK 21 (not officially supported). Future UE versions will address the specific instances of this warning.
Bug Fix:
Previously, when launching a package (.NSP) from Target Manager 2, the `IsPackagedExecutable` function might fail to detect this case resulting in the dynamic module loading logic modules from unintended locations. IsPackagedExecutable will now detect this case correctly and dynamic modules will be loaded from the intended location (the package).
Previously the application could hang or become unresponsive if Zen was enabled, but no valid file cache journal size was set. Now if a file cache is used (due to Zen or otherwise) a valid cache journal size is set in GetJournaledBytesBeforeFlush.
Previously, when making a patch, the "Based On" version would not be found, even if it had been created as a "Release Version". Now the Nintendo patching process will look where Release Versions are stored for the corresponding "Based On" version to use when generating a patch. Additionally, extra logging was added for more visibility into the state of the process.
Previously calls to NintendoExports.FindTmFile would not successfully find the NXSymStore.exe file. This can occur while publishing symbols (for example, while making a build). Now this file will successfully be located.
NintendoInputSender
Added a fix to ensure that popup dialog boxes, when initiated by button press, take focus and appear above the main NintendoInputSender window.
Fixed an issue where when changing the devkit startup app (home/dev menu) does not automatically reboot the device into the requested app.
Changing to a new startup app requires confirmation via dialog box instead of immediately actioning on the request.
Previously compilation would fail if NO_LOGGING was set in the Test configuration with an error in NintendoSystemCrashCallbackHandlers.cpp. Now the error will not occur.
Previously, using the Nintendo CPU Profiler to capture an application using the "Test" configuration would report a Critical Issue mislabeling the build as a 'Develop' build. Now, Test builds are no longer misidentified as 'Develop' builds.