Tutorial How to make 3DS Games with Unity

Should I add some Demo Projects?


  • Total voters
    54
  • Poll closed .

AGO061

New Member
Newbie
Joined
Feb 20, 2023
Messages
2
Trophies
0
Age
18
XP
44
Country
Italy
Ok i somehow managed to fix it. I don't even know how. But now a cube that i placed is rendered black instead of white. Any idea as to why that happens?
View attachment 357778View attachment 357777
The shader appears to be wrong, and making real time lighting on the 3ds is expensive. You might want to go the pre baked light path.

In case, you can use mobile shaders to fix this but i am unsure if it supports real time lightning
 

RengeLK

Member
Newcomer
Joined
Nov 16, 2019
Messages
12
Trophies
0
XP
235
Country
Czech Republic
Does anyone know why the game crashes my 3ds? It crashes with the following exception:
Code:
Processor: Arm11 (core 0)
Exception type: data abort
Fault status: Translation - Section
Current process: Unleashe (000400000ff3ff00)

Register dump:

r0             08923a30            r1             00000000
r2             08a339ac            r3             08929d74
r4             0ffffab0            r5             08a339ac
r6             08929d74            r7             08a339ac
r8             00000000            r9             00000000
r10            08924a30            r11            2b05b3fd
r12            00a6ee1c            sp             0ffffab0
lr             00a6f528            pc             00a6ee38

cpsr           60000010            dfsr           00000005
ifsr           00000000            far            00000008
fpexc          40000700            fpinst         eebc0ac0
fpinst2        eebc0ac0
FAR            00000008            Access type: Read

Code dump:

00a6ee0c:  17 fb e1 eb 01 00 a0 e3  eb 02 c5 e5 f0 87 bd e8   |................|
00a6ee1c:  ff 4f 2d e9 03 60 a0 e1  02 50 a0 e1 01 80 a0 e1   |.O-..`...P......|
00a6ee2c:  04 8b 2d ed 2c d0 4d e2  00 40 8d e2 08 00 91 e5   |..-.,.M..@......|

Stack dump:

0ffffab0:  d0 fa ff 0f 08 26 2d 00  06 00 00 00 ac 39 a3 08   |.....&-......9..|
0ffffac0:  74 9d 92 08 00 00 00 00  00 00 00 00 00 01 00 00   |t...............|
0ffffad0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0ffffae0:  00 00 7a 44 00 00 7a c4  00 00 00 00 30 3a 92 08   |..zD..z.....0:..|
0ffffaf0:  00 00 00 00 ac 39 a3 08  74 9d 92 08 30 4a 92 08   |.....9..t...0J..|
0ffffb00:  00 00 00 00 74 9d 92 08  ac 39 a3 08 30 3a 92 08   |....t....9..0:..|
0ffffb10:  00 00 00 00 30 4a 92 08  fd b3 05 2b 28 f5 a6 00   |....0J.....+(...|
0ffffb20:  00 00 00 00 00 00 00 00  00 00 00 00 04 ea 9d 08   |................|
0ffffb30:  80 6f 11 08 01 ea 9d 08  64 00 00 00 64 00 00 00   |.o......d...d...|
0ffffb40:  00 00 00 00 30 3a 92 08  00 00 00 00 50 9d 92 08   |....0:......P...|
0ffffb50:  ac 39 a3 08 04 ea 9d 08  ff ff ff ff 1c 3b 25 00   |.9...........;%.|
0ffffb60:  50 9d 92 08 cf 01 00 00  54 32 67 01 0c 11 19 00   |P.......T2g.....|
0ffffb70:  00 00 00 00 98 09 9e 08  24 03 9e 08 00 00 00 00   |........$.......|
0ffffb80:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0ffffb90:  00 00 80 bf 00 00 7a 44  40 00 00 00 80 b0 69 01   |[email protected].|
0ffffba0:  00 00 00 00 f4 00 00 00  04 00 00 00 44 00 00 00   |............D...|
0ffffbb0:  cf 01 00 00 54 32 67 01  00 00 00 00 04 00 00 00   |....T2g.........|
0ffffbc0:  f4 00 00 00 00 00 00 00  a0 39 a3 08 60 04 33 00   |.........9..`.3.|
0ffffbd0:  44 00 00 00 00 00 00 00  54 32 67 01 40 8c 2e 08   |D.......T2g.@...|
0ffffbe0:  70 75 34 00 00 ea 9d 08  48 fc ff 0f 00 00 00 00   |pu4.....H.......|
0ffffbf0:  10 c3 ca 08 50 9d 92 08  ac 39 a3 08 fd b3 05 2b   |....P....9.....+|
0ffffc00:  a0 39 a3 08 5c f2 2c 00  10 c3 ca 08 00 ea 9d 08   |.9..\.,.........|
0ffffc10:  48 fc ff 0f 00 00 00 00  00 00 00 00 50 9d 92 08   |H...........P...|
0ffffc20:  00 00 00 00 00 00 00 00  00 ea 9d 08 00 00 00 00   |................|
0ffffc30:  30 3a 92 08 ec 82 2e 00  10 c3 ca 08 00 00 00 00   |0:..............|
0ffffc40:  00 00 00 00 48 fc ff 0f  00 00 00 00 98 09 9e 08   |....H...........|
0ffffc50:  24 03 9e 08 00 00 00 00  00 00 00 00 00 00 00 00   |$...............|
0ffffc60:  01 00 00 00 e0 46 a6 3f  00 00 00 00 00 00 00 00   |.....F.?........|
0ffffc70:  00 00 00 00 00 00 00 00  d6 b3 dd 3f 00 00 00 00   |...........?....|
0ffffc80:  00 00 00 00 00 00 00 00  00 00 00 00 aa 13 80 3f   |...............?|
0ffffc90:  00 00 80 3f 00 00 00 00  66 90 8a 41 40 8c 2e 08   |...?....f..A@...|
0ffffca0:  00 00 00 00 a0 39 a3 08  50 9d 92 08 10 c3 ca 08   |.....9..P.......|
0ffffcb0:  00 ea 9d 08 1c fd ff 0f  60 2b a3 08 a0 39 a3 08   |........`+...9..|
0ffffcc0:  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0ffffcd0:  00 00 00 00 a0 f5 20 00  00 00 00 00 01 00 00 00   |...... .........|
0ffffce0:  00 00 00 00 00 00 00 00  00 00 00 00 01 00 00 00   |................|
0ffffcf0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0ffffd00:  00 00 00 00 00 00 00 00  50 9d 92 08 00 00 00 00   |........P.......|
0ffffd10:  00 00 7a c4 60 2b a3 08  00 ea 9d 08 50 9d 92 08   |..z.`+......P...|
0ffffd20:  10 c3 ca 08 00 00 00 00  00 00 00 00 60 2b a3 08   |............`+..|
0ffffd30:  01 00 00 00 50 9d 92 08  01 00 00 00 00 00 00 00   |....P...........|
0ffffd40:  00 00 00 00 bc d6 2c 00  00 00 00 00 01 00 00 00   |......,.........|
0ffffd50:  80 2c ab 08 30 69 2e 08  30 3a 92 08 90 5f 2e 08   |.,..0i..0:..._..|
0ffffd60:  e4 01 00 00 44 21 24 00  01 00 00 00 00 00 00 00   |....D!$.........|
0ffffd70:  00 00 00 00 00 00 00 00  60 2b a3 08 20 90 6a 01   |........`+.. .j.|
0ffffd80:  30 69 2e 08 20 90 6a 01  01 00 00 00 80 2c ab 08   |0i.. .j......,..|
0ffffd90:  30 69 2e 08 90 5f 2e 08  b0 68 2e 08 80 2c ab 08   |0i..._...h...,..|
0ffffda0:  00 00 00 00 30 69 2e 08  20 90 6a 01 01 00 00 00   |....0i.. .j.....|
0ffffdb0:  30 3a 92 08 80 2d ab 08  20 90 6a 01 a0 09 20 00   |0:...-.. .j... .|
0ffffdc0:  00 00 00 00 02 65 34 1f  00 00 a0 43 00 00 70 43   |.....e4....C..pC|
0ffffdd0:  00 00 00 00 00 00 00 00  00 00 80 3f 00 00 00 00   |...........?....|
0ffffde0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 80 3f   |...............?|
0ffffdf0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0ffffe00:  00 00 80 3f 00 00 00 00  00 00 20 43 00 00 f0 42   |...?...... C...B|
0ffffe10:  00 00 00 00 00 00 80 3f  00 00 80 3f 00 00 00 00   |.......?...?....|
0ffffe20:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 80 3f   |...............?|
0ffffe30:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0ffffe40:  00 00 80 3f 00 00 00 00  00 00 20 43 00 00 f0 42   |...?...... C...B|
0ffffe50:  00 00 00 00 00 00 80 3f  40 01 00 00 f0 00 00 00   |.......?@.......|
0ffffe60:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0ffffe70:  00 00 00 00 f4 d9 22 08  b0 eb 21 08 01 00 00 00   |......"...!.....|
0ffffe80:  80 2c ab 08 01 00 00 00  04 8d 6a 01 30 3a 92 08   |.,........j.0:..|
0ffffe90:  00 00 00 00 f8 e4 1c 00  00 00 00 00 00 00 00 00   |................|
0ffffea0:  01 00 00 00 00 00 00 00  30 3a 92 08 e0 cb 12 00   |........0:......|
0ffffeb0:  01 00 00 00 84 4a 77 08  00 00 00 00 04 8d 6a 01   |.....Jw.......j.|
0ffffec0:  00 00 00 00 04 8d 6a 01  00 00 00 00 c0 bc 62 01   |......j.......b.|
0ffffed0:  e0 09 33 08 80 09 33 08  00 00 00 00 4c 0b 63 01   |..3...3.....L.c.|
0ffffee0:  01 00 00 00 50 83 10 00  00 00 00 00 00 00 00 00   |....P...........|
0ffffef0:  00 00 00 00 00 00 00 00  54 c6 62 01 01 bc 62 01   |........T.b...b.|
0fffff00:  e0 09 33 08 00 00 00 00  00 00 00 00 58 73 10 00   |..3.........Xs..|
0fffff10:  89 00 00 00 00 00 00 00  72 6f 6d 3a 2f 44 61 74   |........rom:/Dat|
0fffff20:  61 00 00 00 00 00 00 00  09 00 00 00 42 ff ff 0f   |a...........B...|
0fffff30:  00 00 00 00 00 00 00 00  01 00 00 00 dc ff ff 0f   |................|
0fffff40:  01 00 00 00 00 00 00 00  42 00 00 00 00 00 00 00   |........B.......|
0fffff50:  4d 61 6e 61 67 65 64 00  10 00 00 00 84 69 11 00   |Managed......i..|
0fffff60:  07 00 00 00 42 ff ff 0f  ff ff ff ff f0 0a 33 08   |....B.........3.|
0fffff70:  11 00 00 00 74 f5 6a 01  00 10 00 00 00 00 00 00   |....t.j.........|
0fffff80:  11 00 00 00 42 00 00 00  c0 0a 33 08 11 00 00 00   |....B.....3.....|
0fffff90:  fe ff ff ff 00 00 00 00  01 01 00 00 11 00 00 00   |................|
0fffffa0:  42 3b 18 00 00 00 00 00  4d 61 6e 61 67 65 64 00   |B;......Managed.|
0fffffb0:  e8 ff ff 0f 00 00 00 00  07 00 00 00 42 00 00 00   |............B...|
0fffffc0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0fffffd0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0fffffe0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   |................|
0ffffff0:  00 00 00 00 c4 6d 10 00  00 00 00 00 20 00 10 00   |.....m...... ...|
I have the same problem. Does anyone know how to fix this? I am using the compatible shaders and everything that was mentioned here.
 
  • Like
Reactions: Juanen100

placebo_yue

Well-Known Member
Member
Joined
Aug 7, 2019
Messages
739
Trophies
0
Age
33
XP
1,264
Country
Argentina
what are the shaders that do have shadows?
shadows can't be casted on meshes with shaders that use some super simple mobile shaders. Let's say those are "unlit", although it's probably inacurate, but it's sorta like that. Try it yourself and see. You can always disable all shadows on the light source, too. This is why most retro 3D games use a circle billboard below the characters as shadows, because there are no real shadows on any of the meshes, probably no lightsources either, everything is just the diffuse, and perhaps some tint if it's nightime or sunset or whatever.
 

CleetusMcfarln

New Member
Newbie
Joined
Jun 29, 2022
Messages
1
Trophies
0
Age
23
Location
America
XP
100
Country
United States
nevermind it works just fine now this is great
How did you get this working. currently im trying to make a menu and using the On Click () function
Post automatically merged:

It works on the PC in unity project, but after build the game it just doesn’t, both emulator and real N3DS
Same issue
 

cojam

Member
Newcomer
Joined
Aug 24, 2018
Messages
5
Trophies
0
Age
29
XP
82
Country
Russia
Hello there! I keep getting this error:
exception: data abort

fault status: translation - section
Nevermind, I fixed the error. The problem was with some textures being bigger in size than the limit
 
Last edited by cojam,

frido3709

New Member
Newbie
Joined
Jul 23, 2023
Messages
3
Trophies
0
Age
18
XP
10
Country
Germany
Hey, so I'm glad to see this thread is still active.

I'm trying to build a super simple game for the 3DS (this issue appears on both the n3DS and o3DS through Citra. On my physical o3DS, it shows the Nintendo logo then crashes - stack trace posted several posts down).

The top screen is being duplicated with a slight offset to the bottom screen. In unity, each camera's target is different and in unity, it renders properly.
This is what I expect:
View attachment 312346

This is what I'm getting (note: cube's rotation is intentional):
View attachment 312347

Does anyone know what could be causing this and how to fix it?
I have the exact same problem with the two screens
 

A_stream

Member
Newcomer
Joined
Apr 20, 2023
Messages
13
Trophies
0
Age
29
XP
264
Country
Bulgaria
Seeing as the last post was 6 days ago. I'm going to ask two questions.
1st : How can I make the canvas get input from the stylus or finger.
2nd : How can I make the banner be a 3D model and not a 2D PNG .
Thanks
 

JonasRawen

Member
Newcomer
Joined
Jul 1, 2022
Messages
10
Trophies
0
Age
18
Location
Prague
XP
206
Country
Czech Republic
Seeing as the last post was 6 days ago. I'm going to ask two questions.
1st : How can I make the canvas get input from the stylus or finger.
2nd : How can I make the banner be a 3D model and not a 2D PNG .
Thanks
hey, you should be able to implement touch-based ui the same way as on mobile, also you need to raycast the buttons i think, as for the 3d banner, there is a site on gbatemp where you can look into how its done: https://gbatemp.net/threads/creating-3d-banners-from-3d-models-for-cias.433783/

edit:
since i am already here, i may as well ask if any of you would know why i cannot get water shaders working with unity 3ds (i am using the unity 5, not the 2017 ver) and also my shadows don't work - i suppose it has to do something with graphical settings, because if i change the anti-aliasing for example, the build still doesn't have it. Thx in advance :)
 

MG4M3R

Well-Known Member
Member
Joined
Mar 27, 2007
Messages
351
Trophies
1
XP
532
Country
Brazil
hey, you should be able to implement touch-based ui the same way as on mobile, also you need to raycast the buttons i think, as for the 3d banner, there is a site on gbatemp where you can look into how its done: https://gbatemp.net/threads/creating-3d-banners-from-3d-models-for-cias.433783/

edit:
since i am already here, i may as well ask if any of you would know why i cannot get water shaders working with unity 3ds (i am using the unity 5, not the 2017 ver) and also my shadows don't work - i suppose it has to do something with graphical settings, because if i change the anti-aliasing for example, the build still doesn't have it. Thx in advance :)

If I'm not mistaken, the 3DS has some hardcoded shaders into its GPU and its all it can handle (unless you use some custom software renderer, but lets not go there).

So I advise you to use only the shaders that came with the 3DS Unity Templates.
 

A_stream

Member
Newcomer
Joined
Apr 20, 2023
Messages
13
Trophies
0
Age
29
XP
264
Country
Bulgaria
hey, you should be able to implement touch-based ui the same way as on mobile, also you need to raycast the buttons i think, as for the 3d banner, there is a site on gbatemp where you can look into how its done: htps://gbatemp.net/threads/creating-3d-banners-from-3d-models-for-cias.433783/

edit:
since i am already here, i may as well ask if any of you would know why i cannot get water shaders working with unity 3ds (i am using the unity 5, not the 2017 ver) and also my shadows don't work - i suppose it has to do something with graphical settings, because if i change the anti-aliasing for example, the build still doesn't have it. Thx in advance :)
(Sorry for the late response) So from my experience and understanding the unity engine cannot export the 3ds game with shadows, because it probably doesn't support it or it makes the 3ds overload with the sheer power of the game that they decided to not support shadows, and that's probably why the water shaders don't work (or any other shaders). But don't take my word for it, I may be in a huge misunderstanding, still when I tried a different shader that's not mobile bumped defuse on 3d models it displayed some different textures or just no textures. Also thanks for the info on how to get the buttons to work (will try it) and the 3d model for the game banner. (gimme a high five)
 
  • Like
Reactions: JonasRawen

JonasRawen

Member
Newcomer
Joined
Jul 1, 2022
Messages
10
Trophies
0
Age
18
Location
Prague
XP
206
Country
Czech Republic
(Sorry for the late response) So from my experience and understanding the unity engine cannot export the 3ds game with shadows, because it probably doesn't support it or it makes the 3ds overload with the sheer power of the game that they decided to not support shadows, and that's probably why the water shaders don't work (or any other shaders). But don't take my word for it, I may be in a huge misunderstanding, still when I tried a different shader that's not mobile bumped defuse on 3d models it displayed some different textures or just no textures. Also thanks for the info on how to get the buttons to work (will try it) and the 3d model for the game banner. (gimme a high five)
thx, that kinda sucks but oh well, i'll have to figure something out, good luck to you as well :)
 
  • Like
Reactions: A_stream

Th3Travler

Member
Newcomer
Joined
Dec 4, 2023
Messages
11
Trophies
0
XP
76
Country
Argentina
thx, that kinda sucks but oh well, i'll have to figure something out, good luck to you as well :)
Hello, make sure you are using the shaders from the list below. The N3DS and 3DS use a Pica200 GPU it is compatible with Open GL ES 1.1 with some very limited functionality for 2.0.

what does that mean?
You have to use shader that where made before the GL 2.0 model which excludes most fragment shaders. AkA most of Unity default shaders. Instead use...
  • Mobile/Unlit (Supports Lightmap)
  • Mobile/Particles/Additive
  • Mobile/Particles/Alpha Blended
  • Mobile/Particles/VertexLit Blended
  • Mobile/Particles/Multiply
  • Mobile/VertexLit
  • Legacy Shaders/Transparent/VertexLit
  • Legacy Shaders/Transparent/Cutout/VertexLit
  • Legacy Shaders/Lightmapped/VertexLit
  • Legacy Shaders/VertexLit
texture combiner and very basic fragment shaders will work. think, multiply divide, add and subtract.
everything else you will have to do in the vertex section of the shader. Anything cool done in a node shader editor is out. ( I like to think of it as photoshop for shaders ) will not work with the 3DS. you got to think of the 3DS as a PS2.5 graphically.

The List above should be ok for Unity 5.6.5. Most simple projects..least to get your feet wet.

for Water look at the opengl water effect in Quake 1. It has transparency, uv scrolling and vertex animation via sin and cosin math functions. that is as good as its gonna get on the 3ds with unity.
100% you can get that water shader to work. You will have to do some digging but for sure it can be done with Unity on the 3DS.

hope it helps :)
 

JonasRawen

Member
Newcomer
Joined
Jul 1, 2022
Messages
10
Trophies
0
Age
18
Location
Prague
XP
206
Country
Czech Republic
Hello, make sure you are using the shaders from the list below. The N3DS and 3DS use a Pica200 GPU it is compatible with Open GL ES 1.1 with some very limited functionality for 2.0.

what does that mean?
You have to use shader that where made before the GL 2.0 model which excludes most fragment shaders. AkA most of Unity default shaders. Instead use...
  • Mobile/Unlit (Supports Lightmap)
  • Mobile/Particles/Additive
  • Mobile/Particles/Alpha Blended
  • Mobile/Particles/VertexLit Blended
  • Mobile/Particles/Multiply
  • Mobile/VertexLit
  • Legacy Shaders/Transparent/VertexLit
  • Legacy Shaders/Transparent/Cutout/VertexLit
  • Legacy Shaders/Lightmapped/VertexLit
  • Legacy Shaders/VertexLit
texture combiner and very basic fragment shaders will work. think, multiply divide, add and subtract.
everything else you will have to do in the vertex section of the shader. Anything cool done in a node shader editor is out. ( I like to think of it as photoshop for shaders ) will not work with the 3DS. you got to think of the 3DS as a PS2.5 graphically.

The List above should be ok for Unity 5.6.5. Most simple projects..least to get your feet wet.

for Water look at the opengl water effect in Quake 1. It has transparency, uv scrolling and vertex animation via sin and cosin math functions. that is as good as its gonna get on the 3ds with unity.
100% you can get that water shader to work. You will have to do some digging but for sure it can be done with Unity on the 3DS.

hope it helps :)
thank you so much bro!
 
  • Like
Reactions: Th3Travler

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty
    what are you looking at?
  • BakerMan
    I rather enjoy a life of taking it easy. I haven't reached that life yet though.
    SylverReZ @ SylverReZ: @AncientBoi, https://www.youtube.com/watch?v=7jUWpmU-X8k