Tutorial How to make 3DS Games with Unity

  • Thread starter Thread starter Keksfresser
  • Start date Start date
  • Views Views 222,693
  • Replies Replies 508
  • Likes Likes 30

Should I add some Demo Projects?


  • Total voters
    54
  • Poll closed .
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
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.
 
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
 
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,
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
Can I ask what the limit is?
 
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
 
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
 
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 :)
 
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.
 
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
(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
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 :)
 
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
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

placebo_yue
has written a very good explanation of what you have to do to get a 3d banner made.
He is right it is a pain but it can be done.
sadly I cant post the link because I am new here but its in this very post on page 7, August 11 2020


Some fun got ya's with the Banners from what I been told.
You are limited to 9 objects - animated or not this includes meshes, empty group nodes, bones all of them count as objects
you have a max of 600 frames of animation
you have a poly limit of 2k tris roughly
you have a total file limit of 320kb per region ( all mesh, animation and texture files )
so squeeze those textures
you audio file can not exceed 2.5 seconds...something like that...

hope it helps!

 
  • Like
Reactions: MG4M3R and A_stream

placebo_yue

has written a very good explanation of what you have to do to get a 3d banner made.

He is right it is a pain but it can be done.

sadly I cant post the link because I am new here but its in this very post on page 7, August 11 2020

Some fun got ya's with the Banners from what I been told.

You are limited to 9 objects - animated or not this includes meshes, empty group nodes, bones all of them count as objects

you have a max of 600 frames of animation

you have a poly limit of 2k tris roughly

you have a total file limit of 320kb per region ( all mesh, animation and texture files )

so squeeze those textures

you audio file can not exceed 2.5 seconds...something like that...

hope it helps!

Thanks for letting me know! Will be checking it out soon!
 
  • Like
Reactions: Th3Travler
I have the exact same problem with the two screens
I don't know what you camera goals are, if you want to use both for 3d or 1 for UI so I'm going to give you settings that should at least give you a different outcome then what you seem to be struggling with now.

to get the Lower LCD to focus on something else you can try the steps below.

in the Inspector properties of the 2nd Camera....
Make sure the 2nd camera Culling mask is set to UI and UI Only, disable all other checkboxes.
next set the Background to a Solid Color like Black..or other color of choice.
also make sure 2nd camera target display is Lower LCD

See if that gives you a different export.


Some words regarding both cameras, both cameras use separate GPU's
and have separate Memory pools 3 mbs each! for a whooping total of 6mb of active screen goodness! Cull everything! keep your textures small and compress them with 3DS overrides in the texture inspection window. ECT is usually the best format to use.
 
Last edited by Th3Travler,
  • Like
Reactions: A_stream

Site & Scene News

Popular threads in this forum