Unity's standard scene management weaknesses

When you start any serious project, it is hard to satisfy yourself with Unity's simplified scene management system:

  • when you load a scene, everything is destroyed
    • this behaviour is probably aiming at limiting memory leaks
    • it is possible to do incremental scene load and you can specifically tell unity to not destroy things, but still asset survival is very closely linked to scene creation and destruction
  • because the loading and instantiation process is very intensive, you will experience app lockdowns during loads
  • download and load of scene is tightly coupled with a "get it when you need it" approach which is not very user friendly ^^
  • when you want to instantiate a prefab that is not in your scene (ie from code outside a MonoBehaviour), you have a problem...

These problems are especially limiting on mobile, where memory, processing power, and network bandwidth is very limited.

Read more ...

Refactoring is a healthy process to cleanup your code once it is bug free, and you have a better understanding of its in and outs. In this process, you may want to apply new naming conventions to your variables, methods and members. Unfortunately the process is not always as smooth as you would expect.

Read more ...

As Krystal Bytes team reached the development phase of the Citadel Arcanes game, I decided to bring in my experience in the project by building its framework. At start I was somewhat worried I might have gone rusty and all, but it all started flowing naturally once I got my hands dirty. I guess when you enjoy something so much, it just doesn't leave you over time. I must say AS3 is quite a dream language for every multimedia coder: runs almost everywhere, lots of great animation functions, garbage collector, OOP, etc... Although having managed a few AS3 projects in the past, I knew it has quite a few weaknesses and so I tried to risk-manage these early on. Here is how I tackled a few of these problems.

Read more ...