Tutorial How to make 3DS Games with Unity

Should I add some Demo Projects?


  • Total voters
    54
  • Poll closed .

SjorsMaster

Ayy
Member
Joined
Aug 26, 2015
Messages
176
Trophies
0
Age
25
Location
Enkhuizen, North-Holland.
Website
www.sjors.eu
XP
399
Country
Netherlands
I can't compile anything on Unity. No matter what I do, it always spits out errors. Below are the errors I receive, relating to ARMCC.

Failed running D:\ARMCC_Nintendo\bin\../bin64\armcc.exe -c -I "C:/Program Files/UnityNew3DS_2_0_1/Editor/Data/PlaybackEngines/N3DS/Tools\il2cpp\bdwgc\include" -I "C:/Program Files/UnityNew3DS_2_0_1/Editor/Data/PlaybackEngines/N3DS/Tools\il2cpp\libil2cpp\include" -I "Temp/StagingArea\il2cppOutput" -I "D:\Misc\NDI\3DSGame\SDK\ctr_sdk\include" --gnu --cpu "MPCore" --split_sections --apcs=/interwork --littleend --arm --vfe --signed_chars --no_rtti --wchar --wchar16 --multibyte_chars --dollar --exceptions --remove_unneeded_entities --diag_style=ide --data_reorder --fpmode=fast -O2 "-Otime" --no_debug --no_debug_macros --diag_suppress=1,68,186,368,177,550 -D "NN_COMPILER_RVCT" -D "NN_COMPILER_RVCT_VERSION_MAJOR=4" -D "NN_COMPILER_RVCT_VERSION_MINOR=1" -D "NN_PROCESSOR_ARM" -D "NN_PROCESSOR_ARM11MPCORE" -D "NN_PROCESSOR_ARM_V6" -D "NN_PROCESSOR_ARM_VFP_V2" -D "NN_HARDWARE_CTR" -D "NN_PLATFORM_CTR" -D "NN_HARDWARE_CTR_TS" -D "NN_SYSTEM_PROCESS" -D "NN_DEBUGGER_KMC_PARTNER" -D "NN_COMPILER_OPTION_ARM" -D "NN_EFFORT_FAST" -D "__STDC_LIMIT_MACROS" -DDEBUGMODE=0 -DUNITY_RELEASE=1 -DMASTER_BUILD=1 Temp\StagingArea\il2cppOutput\DeviceEntryStub.cpp -o Temp\Il2CppCache\DeviceEntryStub.o

C:/Program Files/UnityNew3DS_2_0_1/Editor/Data/PlaybackEngines/N3DS/Includes/InputN3DSInterface.h(4,41) : error #5: cannot open source input file "nn/hid/CTR/hid_DeviceStatus.h": No such file or directory
armcc : Temp\StagingArea\il2cppOutput\DeviceEntryStub.cpp: 0 warnings, 1 error
UnityEngine.Debug:LogError(Object)
NativeCompiler:RunProgram(ProcessStartInfo) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/NativeCompiler.cs:57)
NativeCompiler:Execute(String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/NativeCompiler.cs:24)
ArmccCompiler:Compile(String, String, Boolean) (at C:/buildslave/unity/build/PlatformDependent/N3DS/Editor/Managed/ArmccCompiler.cs:201)
<CompileDynamicLibrary>c__AnonStorey0:<>m__1(String) (at C:/buildslave/unity/build/PlatformDependent/N3DS/Editor/Managed/ArmccCompiler.cs:101)
<ParallelFor>c__AnonStorey1`1:<>m__0(Object) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/NativeCompiler.cs:86)


I'm not sure what I am doing wrong, here. I have reinstalled ARMCC several times.

Mind pushing your project to Git?
I'll take a look at it for you.
 

XenonHatcher

New Member
Newbie
Joined
Aug 1, 2019
Messages
4
Trophies
0
Age
23
XP
42
Country
United Kingdom
Mind pushing your project to Git?
I'll take a look at it for you.

It's just a simple test involving an animated torus. It has no controls. Just the torus and a camera. I wanted to try and compile a test first before trying to make a game. I don't know how to push projects onto Git, so I've uploaded the project file.
 

Attachments

  • UnityTest.zip
    5.7 MB · Views: 317

SjorsMaster

Ayy
Member
Joined
Aug 26, 2015
Messages
176
Trophies
0
Age
25
Location
Enkhuizen, North-Holland.
Website
www.sjors.eu
XP
399
Country
Netherlands
It's just a simple test involving an animated torus. It has no controls. Just the torus and a camera. I wanted to try and compile a test first before trying to make a game. I don't know how to push projects onto Git, so I've uploaded the project file.
I'll take a look at it for you tomorrow.
 

SjorsMaster

Ayy
Member
Joined
Aug 26, 2015
Messages
176
Trophies
0
Age
25
Location
Enkhuizen, North-Holland.
Website
www.sjors.eu
XP
399
Country
Netherlands
It's just a simple test involving an animated torus. It has no controls. Just the torus and a camera. I wanted to try and compile a test first before trying to make a game. I don't know how to push projects onto Git, so I've uploaded the project file.

First of all, Haven't had a lot of time to look into it yet, my appologies.

I wanna check some things with you real quick.

Noticed that your icon was empty, is this also the case on your end?

I also noticed that you were using the latest version of Unity for 3DS.
There were some issues regarding this version of Unity, For example, it doesn't compile the banners and icons properly.

Does it only happen when you compile?

If this is the case,
It might be that the banners/icons aren't compiling correctly.
You can build them separately through the NW4C_TextureConverter.exe tool (available as part of the NintendoWare for CTR package).
Alternatively you could also build your project in 5.6.6f2 and grab the CTEX file from <project_directory>\Temp\StagingArea\Banner\Model\COMMON\Textures\COMMON1.ctex.

I recommend 5.6.6f2 right now in general as it's more stable, sadly, it's missing quite a few features.

Did you also run "SetupEnvironment.wsf" (C:\Nintendo\<installation>)


Hope to hear from you soon!
 

XenonHatcher

New Member
Newbie
Joined
Aug 1, 2019
Messages
4
Trophies
0
Age
23
XP
42
Country
United Kingdom
First of all, Haven't had a lot of time to look into it yet, my appologies.

I wanna check some things with you real quick.

Noticed that your icon was empty, is this also the case on your end?

I also noticed that you were using the latest version of Unity for 3DS.
There were some issues regarding this version of Unity, For example, it doesn't compile the banners and icons properly.

Does it only happen when you compile?

If this is the case,
It might be that the banners/icons aren't compiling correctly.
You can build them separately through the NW4C_TextureConverter.exe tool (available as part of the NintendoWare for CTR package).
Alternatively you could also build your project in 5.6.6f2 and grab the CTEX file from <project_directory>\Temp\StagingArea\Banner\Model\COMMON\Textures\COMMON1.ctex.

I recommend 5.6.6f2 right now in general as it's more stable, sadly, it's missing quite a few features.

Did you also run "SetupEnvironment.wsf" (C:\Nintendo\<installation>)


Hope to hear from you soon!

I've managed to solve the issue of compiling. I ran the "SetupEnvironment.wsf" file. Either that was what fixed it, or adding the 3DSBanner when initially creating the project rather than adding it in later.

It successfully compiled, but the game's on a completely black background and the torus is completely white. It also seems to be trailing as well.
 

SjorsMaster

Ayy
Member
Joined
Aug 26, 2015
Messages
176
Trophies
0
Age
25
Location
Enkhuizen, North-Holland.
Website
www.sjors.eu
XP
399
Country
Netherlands
I've managed to solve the issue of compiling. I ran the "SetupEnvironment.wsf" file. Either that was what fixed it, or adding the 3DSBanner when initially creating the project rather than adding it in later.

It successfully compiled, but the game's on a completely black background and the torus is completely white. It also seems to be trailing as well.
Please follow the 3ds' docs camera setup, don't know it from the top of my head.
You can find a manual on developer.nintendo.com under the 3ds section, manual, and then "setting up scene". Something like that.

Pretty sure it has to do with the render distance being too far but I could be wrong at that, and I dont think it can do skyboxes well, the 3ds doesnt handle shaders, well.. at all. and that's essentially what the skybox is.
 
  • Like
Reactions: XenonHatcher

XenonHatcher

New Member
Newbie
Joined
Aug 1, 2019
Messages
4
Trophies
0
Age
23
XP
42
Country
United Kingdom
Please follow the 3ds' docs camera setup, don't know it from the top of my head.
You can find a manual on developer. nintendo. com under the 3ds section, manual, and then "setting up scene". Something like that.

Pretty sure it has to do with the render distance being too far but I could be wrong at that, and I dont think it can do skyboxes well, the 3ds doesnt handle shaders, well.. at all. and that's essentially what the skybox is.

Thanks for helping me. I’ve been trying to find where that Unity documentation was for a long time. Now I’ve managed to get something running involving a full room, albeit at like 10 FPS. (The models are Switch-quality, which obviously causes that.) Still fun to mess around with.

Thank you again.
 

placebo_yue

Well-Known Member
Member
Joined
Aug 7, 2019
Messages
739
Trophies
0
Age
33
XP
1,263
Country
Argentina
wait, do i need to pay anything to be able to use the nintendo 3DS thingy for unity? i develop on unity since a few years ago so if this is free i'll have my games running on 3DS pretty fast i'm super excited plz reply
 
  • Like
Reactions: Tarmfot

NiHuShu

Member
Newcomer
Joined
Jul 19, 2019
Messages
16
Trophies
0
Age
21
XP
84
Country
Poland
wait, do i need to pay anything to be able to use the nintendo 3DS thingy for unity? i develop on unity since a few years ago so if this is free i'll have my games running on 3DS pretty fast i'm super excited plz reply
No, just go to Nintendo Developer site, register there, find instruction on the page and all needed files are on their site

--------------------- MERGED ---------------------------

Also you can download N3DS for Unity 2.0 which works with Unity 2017.2.5f1
 

placebo_yue

Well-Known Member
Member
Joined
Aug 7, 2019
Messages
739
Trophies
0
Age
33
XP
1,263
Country
Argentina
ok i managed to get everything running. A few suggestions to anyone who is just starting:
  • don't turn on the "make CIA on build". That CIA is useless. Use "3DS Simple CIA Converter v5.0". Rename the CCI file into 3DS, and then convert to CIA. That works.
  • use mobile shaders, otherwise everything will look fucked up.
  • make sure to have two cameras, and set up each one for "upper LCD" and "lower LCD". Otherwise by default the upper screen gets copied onto the lower, but with some glitches
That's about all the advice i can give. Anyone figured out how to use other shaders? i'd like to use an outline shader like in pokemon... or.. have shadows. For some reason i don't have shadows.
 

SjorsMaster

Ayy
Member
Joined
Aug 26, 2015
Messages
176
Trophies
0
Age
25
Location
Enkhuizen, North-Holland.
Website
www.sjors.eu
XP
399
Country
Netherlands
ok i managed to get everything running. A few suggestions to anyone who is just starting:
  • don't turn on the "make CIA on build". That CIA is useless. Use "3DS Simple CIA Converter v5.0". Rename the CCI file into 3DS, and then convert to CIA. That works.
  • use mobile shaders, otherwise everything will look fucked up.
  • make sure to have two cameras, and set up each one for "upper LCD" and "lower LCD". Otherwise by default the upper screen gets copied onto the lower, but with some glitches
That's about all the advice i can give. Anyone figured out how to use other shaders? i'd like to use an outline shader like in pokemon... or.. have shadows. For some reason i don't have shadows.
From my understanding, both the wii u and 3ds do not support shaders in Unity.
 
D

Deleted User

Guest
don't turn on the "make CIA on build". That CIA is useless. Use "3DS Simple CIA Converter v5.0". Rename the CCI file into 3DS, and then convert to CIA. That works.
That CIA which Unity makes will work. You just need to enable UNITINFO in Luma3DS settings, which lets you install dev-encrypted CIAs. It'll make it much easier than converting from CCI to CIA manually with other tools.

From my understanding, both the wii u and 3ds do not support shaders in Unity.
Vertex and fragment shaders are definitely supported on Wii U, the only thing that won't work are fixed function shaders.
3DS on the other hand supports vertex shaders, but fragment shaders are very limited because they end up being converted into texture combiners (The 3DS GPU has no programmable fragment pipeline, only fixed). Image effect shaders aren't supported at all though, unlike Wii U.

I will say, on Unity 3DS, sometimes custom shaders don't compile properly at build time, and initially end up only showing up as white on real hardware. I've found re-importing the whole project and deleting the 'Library' folder in the project folder does the trick, but you have to do it every time you make a new shader. This is with Unity 5.4.5 by the way; I tend to steer clear of the new 5.6.X and 2017 versions as the overhaul of the shader system they did had broke a lot of my custom shaders, even when reimporting and deleting the Library folder as I did before.
 

placebo_yue

Well-Known Member
Member
Joined
Aug 7, 2019
Messages
739
Trophies
0
Age
33
XP
1,263
Country
Argentina
so how would you go to make any shader that works on 3ds? i don't really know how to write shaders, but knowing exactly what shouldn't be done or used could help to see if the shaders i download or copy from somewhere would work, or how to tweak them into working. I don't wanna do anything fancy. Just a cell shaded look, an outline, stuff like that.
 

LoneDev

Member
Newcomer
Joined
Nov 3, 2019
Messages
15
Trophies
0
Age
26
XP
67
Country
Italy
@Keksfresser
So this won't work with latest Unity 3D?
I tried installing Unity 5 and Unity 2017 but I still don't see 3DS in build options..
I made sure to install everything following nintendo dev website tutorial but with no luck.
I also made sure to activate with correct license code.

Any idea?
 
Last edited by LoneDev,

xXDungeon_CrawlerXx

Well-Known Member
Member
Joined
Jul 29, 2015
Messages
2,092
Trophies
1
Age
28
Location
Liverpool
XP
3,718
Country
@Keksfresser
So this won't work with latest Unity 3D?
I tried installing Unity 5 and Unity 2017 but I still don't see 3DS in build options..
I made sure to install everything following nintendo dev website tutorial but with no luck.
I also made sure to activate with correct license code.

Any idea?
You need to install Unity 5 or Unity 2017 and the Plugin for your Unity Version.
You can find the Plugin for Unity 5 in:
DEVELOPER SUPPORT => Nintendo 3DS => Downloads => Unity for N3DS 1.3.6 (20190613)

and the Plugin for Unity 2017 in
DEVELOPER SUPPORT => Nintendo 3DS => Downloads => Unity for N3DS 2.0.1 (20190410)

If the Build Options still don't show 3ds as build option, you did something wrong.
 

LoneDev

Member
Newcomer
Joined
Nov 3, 2019
Messages
15
Trophies
0
Age
26
XP
67
Country
Italy
You need to install Unity 5 or Unity 2017 and the Plugin for your Unity Version.
You can find the Plugin for Unity 5 in:
DEVELOPER SUPPORT => Nintendo 3DS => Downloads => Unity for N3DS 1.3.6 (20190613)

and the Plugin for Unity 2017 in
DEVELOPER SUPPORT => Nintendo 3DS => Downloads => Unity for N3DS 2.0.1 (20190410)

If the Build Options still don't show 3ds as build option, you did something wrong.
I followed every step of the tutorial and installed the right Unity for N3DS version.
I think problem is that I have multiple unity 3d installs and two licenses.. I think that messes up Unity.
I'll try on a clean PC, thanks
 

placebo_yue

Well-Known Member
Member
Joined
Aug 7, 2019
Messages
739
Trophies
0
Age
33
XP
1,263
Country
Argentina
So, i was working on my game and for no apparent reason the skybox started looking like garbage. It looks like crystal shards that rearrange a couple times per second.
I'm using the 3DS_Skybox shader that a while ago was working just fine, and on the Skybox Example comes with the N3DS SDK (where i got it from), still works.

I tried a lot of things to see if it fixes and none seemed to work, all i can do is go back to my backup of the project which obviously clears the bug, but as soon as i try to remake the last changes, it shows up again and i can't undo it.

The changes, if it helps narrow down the problem, are the following:
  • A clock (a couple sprites + script) the script runs a coroutine that moves the clock's pointer every few seconds.. it's a clock duh. And when the hour goes past certain point, it modifies the directional light's color and the rendersettings.skybox.color (also tried with the material.color but didn't work, tried commenting this part but the bug persists)
  • small replacements of one sprite for another on the UI
  • double BGM, one for daytime and one for nightime, with a script that links to the clock and checks if it's already nighttime or not, then turns one volume down and the other up

Any ideas would be appreciated. I'm stuck here with this bug.
 

BEEMOO

Active Member
Newcomer
Joined
Nov 8, 2019
Messages
36
Trophies
0
Age
25
XP
91
Country
Netherlands
So, i was working on my game and for no apparent reason the skybox started looking like garbage. It looks like crystal shards that rearrange a couple times per second.
I'm using the 3DS_Skybox shader that a while ago was working just fine, and on the Skybox Example comes with the N3DS SDK (where i got it from), still works.

I tried a lot of things to see if it fixes and none seemed to work, all i can do is go back to my backup of the project which obviously clears the bug, but as soon as i try to remake the last changes, it shows up again and i can't undo it.

The changes, if it helps narrow down the problem, are the following:
  • A clock (a couple sprites + script) the script runs a coroutine that moves the clock's pointer every few seconds.. it's a clock duh. And when the hour goes past certain point, it modifies the directional light's color and the rendersettings.skybox.color (also tried with the material.color but didn't work, tried commenting this part but the bug persists)
  • small replacements of one sprite for another on the UI
  • double BGM, one for daytime and one for nightime, with a script that links to the clock and checks if it's already nighttime or not, then turns one volume down and the other up
Any ideas would be appreciated. I'm stuck here with this bug.

Sorry I can't help you since this isn't my expertise but it would help if you upload your code to github so people could help you. Good luck with your game! Can't wait to try it, ever haha
 
D

Deleted User

Guest
Unable to create banner and icon. I need help!! :ohnoes:

--------------------- MERGED ---------------------------

Unable to create banner and icon
"C:\Nintendo\3DS_Unity_Bulid\SDK\ctr_sdk\tools\CommandLineTools\ctr_makebanner32.exe" BannerSpec.bsf "C:\Users\Isaiah Angnakak\3DS_FINAL_2\Temp\StagingArea\Banner.bnr" "C:\Users\Isaiah Angnakak\3DS_FINAL_2\Temp\StagingArea\Icon.icn"

stderr[
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=Jjbr_FiMrYA