code SWITCH getting started (for Unity3D) last update : 2023-11-28 ## check what dev kit I have EDEV / SDEV ? (written behind the dev kit or box) ## setup environement Fmod warning : if you want to use Fmod I suggest reading that section first. Some stuff needs to be done and validated by fmod/nintendo before beeing able to build anything. Download NDI (Dev support > Switch > Downloads) : https://developer.nintendo.com/group/development/g1kr9vj6/downloads Setup environement, switch+unity If using fmod : When prompt to install a sdk you'll need to match the right sdk (indicated on the fmod switch download page just next to the download link) As of 2020-02-05 : fmod version 2.00.07 match nintendo's sdk 9.3.1 and you're prompted to select 2019.2.X-TECH-NXADDON9.3.0 If you try to install 9.4.X to match the latest 2019.3 it might won't work with fmod later on (build error). Next, be prepared to download 10Go of stuff. You might select more specifically what you need but I don't what everything does so :shrug: ## install unity switch plaform support BigN setup&build process : https://developer.nintendo.com/html/online-docs/nx-en/g1kr9vj6-en/document.html?doc=Packages/middleware/UnityForNintendoSwitch/Documents/contents-en/Pages/Page_218187855.html After everything is downloaded and installed : - Go to the sdk install folder : [path_to_nintendo_sdk]\UnityForNintendoSwitch\ . - Then install the nintendo switch support for editor package (it should point to the folder containing Unity.exe of the matching version). - If Unity Hub was still opened you'll need to restart it. - You should now be able to open your project using "Switch" target platform. ## build process https://developer.nintendo.com/html/online-docs/nx-en/g1kr9vj6-en/document.html?doc=Packages/middleware/UnityForNintendoSwitch/Documents/contents-en/Pages/Page_218187855.html Open "Nintendo Target Manager" (executable installed with NDI&SDK) In Tools > Add target you should see your devswitch (if connected by the USB cable to the computer) Then connect to that target Then Build&Run https://developer.nintendo.com/group/development/g1kr9vj6/forums/english/-/gts_message_boards/thread/285503066 # FMOD To be able to build with UNITY you'll need a specific FMOD integration. To have access to that package : - create an account on FMOD's website - declare a new project to be validated (by the FMOD team) - go through the permission process (going through your nintendo account on nintendo's developer protal) /!\ during NDI enviro process be sure to match SDK version of the package downloaded on FMOD's website. https://developer.nintendo.com/html/online-docs/g1kr9vj6-en/Packages/DevEnvironment/NX-EDEV_Quick_Start/contents/Pages/Page_113817927.html # unity getting started https://developer.nintendo.com/html/online-docs/nx-en/g1kr9vj6-en/document.html?doc=Packages/middleware/UnityForNintendoSwitch/Documents/contents-en/Pages/Page_218187855.html - follow Nintendo Dev Interface instructions - [sdk_path]/UnityForNintendoSwitch - ...(working in progress)... ## sdk path double check the sdk path : %NINTENDO_SDK_ROOT% => [path_to_NDI_environement]\NintendoSDK\ You NEED to reboot unity and HUB if you changed the PATH ## nsp(d)(_root) open Nintendo Target Manager (app) connect to device Load executable : browse to and select freshly built nsp(d) file # troubleshoot ## IL2CPP & FMOD https://developer.nintendo.com/group/development/g1kr9vj6/forums/english/-/gts_message_boards/thread/294132611 ## build path issue 11. At the same time that installation completes, the NINTENDO_SDK_ROOT environment variable is configured with the installed folder as its value. WARNING. If you are managing the project using Unity Hub, restart Unity Hub to apply the environment variable settings. # modify a rom - https://developer.nintendo.com/html/online-docs/nx-en/g1kr9vj6-en/Packages/SDK/NintendoSDK/Documents/Package/contents/Pages/Page_187698789.html?highlighttext=authoring - https://developer.nintendo.com/html/online-docs/nx-en/g1kr9vj6-en/Packages/SDK/NintendoSDK/Documents/Package/contents/Pages/Page_187698789.html C:\[path\to\sdks]\NintendoSDK\Tools\AuthoringEditor Tools/AuthoringEditor/AuthoringEditor.exe # multiple installations on dev kit Application ID In this page you can find a generic appID for debug builds (0x0100 XXX0 0348 8000) https://developer.nintendo.com/html/online-docs/g1kr9vj6-en/Packages/SDK/NintendoSDK/Documents/Package/contents/Pages/Page_177636769.html#Anchor_177636769_ApplicationId # using InputSystem in Unity https://developer.nintendo.com/html/online-docs/nx-en/g1kr9vj6-en/document.html?doc=Packages/middleware/UnityForNintendoSwitch/UnityForNintendoSwitchDevManual-en.html?docname=Unity%20for%20Nintendo%20Switch%20Development%20Manual Copy all folders in /Packages/com.unity.inputsystem.switch@x.x.x into (project root)/Packages. Go to Window > Package Manager to open the Package Manager window, and install the version of the Input System package you want to use. # Random Links Getting started (unity) : - https://developer.nintendo.com/html/online-docs/nx-en/g1kr9vj6-en/document.html?doc=Packages/middleware/UnityForNintendoSwitch/Documents/contents-en/Pages/Page_221554064.html - https://developer.nintendo.com/html/online-docs/g1kr9vj6-en/Packages/DevEnvironment/NX-EDEV_Quick_Start/contents/Pages/Page_113817951.html Forum | Unity getting started, nintendo portal : https://developer.nintendo.com/group/development/g1kr9vj6/forums/english/-/gts_message_boards/category/9568439