Hello. We’re about to embark on a game that will be developed in 2D. We’re going to use Unity, and we are looking at various toolkits for 2D that would expedite our ability to build the game.
In the store are several toolkits: 2D Toolkit, ex2D, Orthello. All have decent write-ups, but I’d love to get some answers from anyone in the community whose had a chance to evaluate these solutions and could provide feedback on which one(s) outperformed the others.
If someone were to make a game like Battle Hearts, which of these would provide the best framework to be able to do the rendering portion?
I’ve tried 2D Toolkit and SpriteManager2. Here are my thoughts on them
Sprite Manager 2 Pros
Very fast and can reduce a lot of draw call with SpriteManager class
Come with its own layering system in SpriteManager class, so you don’t have to worry about z value of each sprite
Integrate very well with EZGUI, another product from the same author
Has a built-in texture packer that is flexible. Has some advance feature like trimming and keeping the texture offset
Great and fast support by Brady
Great documentation, both the manual and the api documentation
Has advance feature like animations that use two spritesheet
Cons
Steep learning curve
Switching blending mode of each sprite is not a trivial task
Sprite component contain many stuffs in there and it’s pretty inflexible
Focus more on coding. Has a nice API but the editor and interface still leave something to be desired
Expensive, comparing to the other available options
Depends on Transform component for resizing, causing an extra draw call
Current State with Unity 3.5 Public Preview
Not compatiable with Flash build at all, due to some errors in translation between C# → AS3
2D Toolkit Pros
Really really simple to set up. Very low learning curve.
This is thanks to a well-written step-by-step manual
Changing blending between alpha and additive is very easy
Come with collision area editor and it’s really neat
Design of sprite and texture classes are just data container, allowing you to write your own implementation easily
Sprite has itsown scale parameter. Changing it will not affect transform’s scale, hence it doesn’t cost extra draw calls to resize sprites.
Cons
Very low in number of features
Animation editor is terrible. There is no way to deal with an animation that has many frames quickly. You have to set it frame by frame
Blending seems to be limited to alpha and additive. It’s enough but if you want something else, then that’s another story
No layering system, as far as I can tell. You have to rely on the z-axis value. And this can lead to a lot of problem, when you mix 2d and 3d together
It keeps reporting error and updating the project. Pretty annoying and sometime even crash Unity
Current State with Unity 3.5 Public Preview
Works fine with Flash build. However, the benefit of reducing draw call is gone, due to the fact that Flash target hasn’t implement neither static nor dynamic batching.
I have been using 2D Toolkit for few months. I agree with everything himatako said. I haven’t tried any other 2D plugin though.
Things I like
Very simple to set up and use.
The source code.
I care about the source code of 3rd party plugins I use. There are many useful plugins in the Asset Store which comes with very bad source code. I like to learn more about Unity scripting by investigating the source code. In that regard, I have to say that the source code of 2D Toolkit is very clean and commented. No huge classes, everything is readable and easily changeable. A very simple button implementation comes with the toolkit. I created my own implementations of toggle button, checkbox and slider based on the button class in no time.
Things I miss
Layering system.
It should be a must for 2D game. It would add significant value to the toolkit.
Parallax scrolling.
Although not so hard to implement, it would be much easier if there was at least built-in layering system.
Multiple resolution support.
As I’m targeting Android at the moment, I’m very interested in out-of-the-box support for multiple resolutions and aspect ratios. Latest 2D Toolkit beta release started addressing this issue with new camera features and sprite anchoring. So far it’s good, I hope it will improve further.