Tutorial How to make 3DS Games with Unity

  • Thread starter Thread starter Keksfresser
  • Start date Start date
  • Views Views 224,396
  • Replies Replies 513
  • Likes Likes 30

Should I add some Demo Projects?


  • Total voters
    54
  • Poll closed .
That was an issue for me, initially..
I don't really remember how I managed to fix it honestly, but I do remember it wasn't that complicated

Hope you can figure it out soon, I could try looking into it but I don't think I'll be able to get much info about it
I noticed every project crashes on Old 3DS (no matter what the scene has) if more than 100-150 scripts are in the project (even if they are not referenced at all or attached to any object in any scene). I tried to increase the memory to 64MB but it remains the same. It works just fine on New 3DS but it always crashes on old. Looks like Mono bug or something. I was gonna try 5.2.4 but there are SO many features missing that tbh, it makes it not worth the try.

I don't really know how to use unity but do modern versions export to 3ds? or do you guys use old builds?
You need unity 4, 5 or 2017 (up to 2017.2.5) to build for 3DS.
 
  • Like
Reactions: CooingMaxito
I noticed every project crashes on Old 3DS (no matter what the scene has) if more than 100-150 scripts are in the project (even if they are not referenced at all or attached to any object in any scene). I tried to increase the memory to 64MB but it remains the same. It works just fine on New 3DS but it always crashes on old. Looks like Mono bug or something. I was gonna try 5.2.4 but there are SO many features missing that tbh, it makes it not worth the try.


You need unity 4, 5 or 2017 (up to 2017.2.5) to build for 3DS.
I don't know much about coding but I have read that it can help to load the scripts in a specific order because unity randomizes the script loading order otherwise which can cause stability or straight up crash issues. For all I know I may be saying and the sky is blue to you, because that is obvious to anyone who codes. but even a blind squirrel can help sometimes :lol:
 
  • Like
Reactions: CooingMaxito
I noticed every project crashes on Old 3DS (no matter what the scene has) if more than 100-150 scripts are in the project (even if they are not referenced at all or attached to any object in any scene). I tried to increase the memory to 64MB but it remains the same. It works just fine on New 3DS but it always crashes on old. Looks like Mono bug or something. I was gonna try 5.2.4 but there are SO many features missing that tbh, it makes it not worth the try.


You need unity 4, 5 or 2017 (up to 2017.2.5) to build for 3DS.
I did some digging, and yeah it does seem like having THAT many scripts in Unity and trying to run it on o3ds crashes the system. I'm not sure if there would be any sort of workaround to this
 
Last edited by CooingMaxito,
  • Like
Reactions: Th3Travler
I have a new issue for a game made on Unity 5.6.6f2: the game crashes on menu loading quite randomly. It sometimes work just fine but others crash. I could manually save the triggered exception to the save partition and got:

Could not allocate memory: System out of memory!
Trying to allocate: 4194304B with zu alignment. MemoryLabel:
Allocation happend at: Line:28516468 in
Memory overview

[ ALLOC_DEFAULT ] used: 3168805B | peak: 24002093B | reserved: 3216643B
[ ALLOC_GAMEOBJECT ] used: 25148306B | peak: 25148306B | reserved: 25155012B
[ ALLOC_GFX ] used: 1042831B | peak: 1045627B | reserved: 1043720B
[ ALLOC_PROFILER ] used: 0B | peak: 0B | reserved: 0B
[ ALLOC_TEMP_THREAD ] used: 38128B | peak: 0B | reserved: 1376256B


Or basically

Memory Type. Reserved
ALLOC_DEFAULT. 3.2 MB
ALLOC_GAMEOBJECT. 25.1 MB
ALLOC_GFX. 1.04 MB
ALLOC_PROFILER. 0
ALLOC_TEMP_THREAD. 1.37 MB
TOTAL aprox. ~30 MB


This leads to memory overflow that ends in bad read/write streams. The really weird stuff is that all used graphics are at max 512x512 compressed to ETCS1 and audios are .ogg with Nintendo HW compression applied as well.

Kernel mem set for N3DS is 128MB with 64MB applied for the game, which should be enough for the required 30MB “reserved”.

On Unity 5.6.5f1 this exception is not triggered at all but the scene doesn’t load at all. The game doesn’t crash either.

I tried deleting Library folder which makes it to work sometimes like if it was a IL2CPP corrupted data. It looks like it is a Unity bug but it’s so weird and hard to debug.

Any idea?
 
Btw, has anyone played with UDS example or local multiplayer? I got UDS example running with movement data and the host (master) sends properly the data but I couldn't sync the clients...


very cool! - Again not a coder but from what I remember and understood both games start in the player 1 slot ( Host and client think they are player 1 ) . Some code has to be setup so the client knows to broadcast itself as a different Player in order for both player transform values to pass and sync on the network. something about they cant share the components..I know I'm not explaining it correctly...
 
very cool! - Again not a coder but from what I remember and understood both games start in the player 1 slot ( Host and client think they are player 1 ) . Some code has to be setup so the client knows to broadcast itself as a different Player in order for both player transform values to pass and sync on the network. something about they cant share the components..I know I'm not explaining it correctly...
I managed to mid-sync the data but there's so much latency that on the client it ends moving seconds later from the inputs :/
 
PIA could be the way to go but I didn't manage to get it working on 5.6.x
So I hoped on the googles and found this:

3DS Networking Manual.pdf

They talk about UDS for local play. of course this is a generic manual so nothing about Unity in it sadly.
I also did find a 2nd Manual

CTR-Pia ProgramingManual.pdf

My mind melted when I tried to read it but it seems Pia does exist as well for the 3DS. Now which one did Unity go with.. :unsure:
 
Pia doesn't work on 5.6 from what I recall, it's only available in 5.2 probably, unless you can somehow make a native plugin, but I'm no good at making those

About UDS, it is a bit weird and pretty hard to understand, but I did manage to make a quick test scene with players being able to move around a while back, I'm not sure if I still have it since I haven't played around with UDS at all recently, it's definitely doable though
 
Pia doesn't work on 5.6 from what I recall, it's only available in 5.2 probably, unless you can somehow make a native plugin, but I'm no good at making those

About UDS, it is a bit weird and pretty hard to understand, but I did manage to make a quick test scene with players being able to move around a while back, I'm not sure if I still have it since I haven't played around with UDS at all recently, it's definitely doable though

That's what I did but my issues remain (UDS). When master moves, everything is properly synced on master and clients. However, sending back from client to master gives tons of latency
 
Is anyone still able to use Unity normally to compile for 3DS?

I changed my processor and motherboard and had to reinstall Unity, but even after entering the correct Serial, the option to compile for 3DS is no longer available.

Checking the license on the Unity website, 3DS is no longer listed as an available platform.
 
Is anyone still able to use Unity normally to compile for 3DS?

I changed my processor and motherboard and had to reinstall Unity, but even after entering the correct Serial, the option to compile for 3DS is no longer available.

Checking the license on the Unity website, 3DS is no longer listed as an available platform.
Sounds like you need to enter the license key again, do you still have your key when you first activated Unity 3ds? If so, you should try to get the key prompt to pop up and re enter it
 
  • Like
Reactions: MG4M3R
Sounds like you need to enter the license key again, do you still have your key when you first activated Unity 3ds? If so, you should try to get the key prompt to pop up and re enter it

I re-entered it multiple times, both in Unity, in the Unity Hub, and on the Unity website.

It seems that Unity has dropped support for the 3DS, so the key now only authorizes use for the Wii U and no longer for both as it was before.
 
I re-entered it multiple times, both in Unity, in the Unity Hub, and on the Unity website.

It seems that Unity has dropped support for the 3DS, so the key now only authorizes use for the Wii U and no longer for both as it was before.
You should be able to, many others including myself are able to build for 3ds, are you sure you're using the correct Unity version?
 
  • Like
Reactions: MG4M3R
You should be able to, many others including myself are able to build for 3ds, are you sure you're using the correct Unity version?
Yes, I even uninstalled and reinstalled the editor and 3DS support again.

Unity seems to detect support, because the 3DS documentation appears in the help menu in the editor, but there is no option to compile for 3DS

I'm using version 5.6.6f2 (the same one I always used).

I think that for it to work from now on, it would only be possible if there was some kind of offline authentication.
 
Yes, I even uninstalled and reinstalled the editor and 3DS support again.

Unity seems to detect support, because the 3DS documentation appears in the help menu in the editor, but there is no option to compile for 3DS

I'm using version 5.6.6f2 (the same one I always used).

I think that for it to work from now on, it would only be possible if there was some kind of offline authentication.
Check the license you are actually using by Help > manage license > change license and use the 3ds key again. if it doesn't appear is due to that. It works just fine for 5.2.4, 5.6.5, 5.6.6 and 2017.2.5 for me.
 
  • Like
Reactions: MG4M3R

Site & Scene News

Popular threads in this forum