When comparing Moai SDK vs Unity 2D, the Slant community recommends Moai SDK for most people. In the question“What are the best 2D game engines?” Moai SDK is ranked 19th while Unity 2D is ranked 32nd. The most important reason people chose Moai SDK is:
Because it uses Lua + C++.
Ranked in these QuestionsQuestion Ranking
Because it uses Lua + C++.
Pro Gives you total control
You can use your own custom shaders and extend the language with C++. MOAI doesn't give you everything, instead it gives you the tools you need to develop any game you want.
Pro Full source code is available
So it is extendable with C++
Pro Easy-to-use particle engine
Uses a limited subset of Lua
Pro Uses Lua, with LuaJIT where possible
Pro Is used by many pro developers
Moai SDK is used by popular developers including Double Fine for their mobile game, Middle Manager of Justice, and for their Kickstarter hit, Broken Age(formerly, Double Fine Adventure.) It was also used to create the popular mobile game Bubble Ball 2.
This proves that this engine can be used to make fully-featured and fun games.
Pro API interfaces
Has options for development like Hanappe and Rapanui, providing a different way to interact with the engine.
Pro Helpful community
The Moai SDK Forum is active and users will go to great extents to answer queries, post code snippets, beta test, and even purchase and give feedback on each others' games.
Pro Helpful and detailed documentation
Although the Moai SDK is very advanced and uses complicated features, the documentation wiki thoroughly and clearly explains how to use these features, such as the Moai Cloud(a service that provides web services for your game), and multiple ways to build from source.
Pro Sprite Sheet and Bone based animation supported
Both types of 2D animation for game development are supported in Unity’s system and can be used interchangeably in the timeline.
Pro Integrates with Mecanim
Mecanim brings state machines and blending to 2D bone animation. The state machine editor allows for designers and programmers to visually create a Finite State Machine (FSM) to control when animations should play. Mecanim also allows for blending so an animation can transition smoothly between two states without the need of in between frames made by an animator.
Pro Built into Unity 4.3+
2D game creation was a major feature request from the Unity community and was added with version 4.3. 2D is provided in both the Pro and Free distribution of Unity.
Pro Easily change sprites dynamically
Usually used for character customization, programmers can change any sprite in a bone animation at runtime easily by referencing the bone and loading the new sprite from the resources folder.
Con Not for beginning developers
The Moai SDK has very advanced features which allow it to create powerful games. A drawback from this is that it is not very suitable for beginners.
Con Not necessarily tested or stable
Con Scarce documentation
Since it is a minimalist framework there is not that much documentation, but if you are used to reading API references and source code you are good to go!
Con Development has ceased
The last update was over a year ago. Users should not expect things to still work on future OS versions unless they're ready to fix them yourself.
Con Lacks critical features
- Vertices can't be animated, so you can't have ANY organic feel (like... lungs breathing).
- Parent bone can't be animated without affecting the children. This is especially impeding for organic feel, again.
- No option to show & unshow assets (or it is hidden), like for switching weapon on your character for exemple.
Con Poor script interface for texture atlases
Accessing individual sprites within an atlas texture is possible at runtime, but requires use of the Resources folder subsystem.