

How I tackled my performance issues developing an Android game in Unity - zerratar
http://www.codeandux.com/tackling-performance-issues-in-unity-for-mobiles/

======
dubcanada
I will never understand why people use Unity for simple 2d games when there
are engines for 2d games that are just as good. They may not have all the
bells and whistles, but you don't need anything but sprites for 2d.

~~~
squidbot
Because a game engine isn't just a rendering engine, and Unity has a ton of
useful features that enable rapid full featured game creation. "...you don't
need anything but sprites for 2d" doesn't take in to account (and this is by
no means an exhaustive list) all the things Unity and other game engines like
Unreal offer that makes game creation easier:

\- A game object management system

\- A component system

\- AI behaviors

\- Sequencing

\- Animation

\- Pathfinding

\- Physics

\- User interface

\- Resource management

\- Networking

\- Input mapping

\- Asset importing and manipulation

\- Asset optimization

\- Audio

\- An editing environment that allows rapid development in terms of asset
management and live modification, as well as easy customization of the asset
pipeline and game specific editing controls

\- Easy deployment

Not to mention, a "2D" engine nowadays is much more than a sprite management
system, they are written for 3D API's to offer fast blending, shaders,
compositing, effects, transforms, etc, etc.

These aren't bells and whistles, they are tools that have been developed over
years to work well for game production, and they are features that even simple
games can take advantage of to make them more quickly and more easily add
features over time.

Not to mention having a community of other game developers who use the same
platform and a tool like the asset store which frees you from having to be an
artist to make your game look good.

~~~
drjeats
Unity doesn't provide any sequencing for you (maybe you were thinking of
Unreal's Matinee?). Also, most people who need input mapping don't use the
builtin input mapper. Editor scripts are also painful to write.

You're not really wrong. The platform support and asset importing and hot
reloading, for example, are great. However, some of the things like resource
management and PhysX or Box2D integration aren't that big of a deal. I want to
be realistic about the actual value that Unity adds.

~~~
ousta
time wise it adds the collision engine, the ease of compilation into Android
Ios with a few clicks, and plus all the engine for animating sprites and
viewing the changes live, the sound engine, the UI tools.

The goal of using unity for 2d projects is because it is faster, more user
friendly and easier to work in team with designers than using pure open gl and
libraries.

~~~
drjeats
Yes, the platform support and hot reloading are real nice. That's why so many
teams have invested in Unity.

The collision engine is what I was referring to when I said it's not that huge
of a thing to do your own Box2D integration, so I disagree that there's a huge
value add there. Just drop in the same solution they dropped in.

And the sound tools, until very recently, were incredibly rudimentary. You'd
have been just as well off tossing in OpenALSoft or rolling your own FMOD
integration (at least then you could use the FMOD Studio tool). I'm grateful
for the new Audio Mixer window.

------
marcelocamanho
Don't see the point of doing such a simple game in Unity.. Phaser would
probably be better..

~~~
animal531
You're not wrong, using simpler 2d tech would have made the process a lot
easier, but this way it was a good intro and learning experience for making
something bigger in 3d which will eventually require a lot of the same
optimisations (and a lot more).

The only basic part missing in his article would be along the lines of
combining textures into an atlas and dynamically modifying UV's so that for
example the UFO's could have had different shapes and colours.

