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: 327

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,264
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,264
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,264
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,724
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,264
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
  • No one is chatting at the moment.
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :sad:.. :tpi::rofl2: Or others :shy::blush::evil:
    +1
  • The Real Jdbye @ The Real Jdbye:
    @SylverReZ if you could find a v5 DS ML you would have the best of both worlds since the v5 units had the same backlight brightness levels as the DS Lite unlockable with flashme
  • The Real Jdbye @ The Real Jdbye:
    but that's a long shot
  • The Real Jdbye @ The Real Jdbye:
    i think only the red mario kart edition phat was v5
  • BigOnYa @ BigOnYa:
    A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says, "I've never been hugged before." So the man feels bad and hugs her. She says "Well i've also never been kissed before." So he gives her a kiss on the cheek. She says "Well I've also never been fucked before." So the man picks her up, and throws her in the ocean and says "Now you're fucked."
    +2
  • BakerMan @ BakerMan:
    lmao
  • BakerMan @ BakerMan:
    anyways, we need to re-normalize physical media

    if i didn't want my games to be permanent, then i'd rent them
    +1
  • BigOnYa @ BigOnYa:
    Agreed, that why I try to buy all my games on disc, Xbox anyways. Switch games (which I pirate tbh) don't matter much, I stay offline 24/7 anyways.
  • AncientBoi @ AncientBoi:
    I don't pirate them, I Use Them :mellow:. Like I do @BigOnYa 's couch :tpi::evil::rofl2:
    +1
  • cearp @ cearp:
    @BakerMan - you can still "own" digital media, arguably easier and better than physical since you can make copies and backups, as much as you like.

    The issue is DRM
  • cearp @ cearp:
    You can buy drm free games / music / ebooks, and if you keep backups of your data (like documents and family photos etc), then you shouldn't lose the game. but with a disk, your toddler could put it in the toaster and there goes your $60

    :rofl2:
  • cearp @ cearp:
    still, I agree physical media is nice to have. just pointing out the issue is drm
  • rqkaiju2 @ rqkaiju2:
    i like physical media because it actually feels like you own it. thats why i plan on burning music to cds
  • cearp @ cearp:
    It's nice to not have to have a lot of physical things though, saves space
    +1
  • AncientBoi @ AncientBoi:
    Nor clothes 🤮 . Saves on time, soap, water and money having to wash them. :D
    AncientBoi @ AncientBoi: Nor clothes 🤮 . Saves on time, soap, water and money having to wash them. :D