Mimpi Dreams is a cute puzzle/adventure/platformer that will be released on March, 17, after a year of development. Unity plugins are a great way to simplify tedious tasks to free up some time for more important ones. The problem is: what plugin to choose? We ask ourselves the same question. We tested a lot of plugins and came up with the ones that are really useful. We share this list with you to save your precious time that you can use to make your game better.
SVG Importer is absolutely essential part of our development pipeline. It was developed by our lead programmer Jaroslav Stehlik and upgraded a lot during game development. We created almost all graphics assets you see in the game from SVG files. Mimpi Dreams contains a lot of big non-repeating illustrations, but the game size is below 70MB on iOS. That is because of our use of vector graphics. Sharp and scalable graphics with small build size, that’s what we got with SVG Importer.
For a long time, we used Unity default input system. However, when we wanted to add gamepad and apple tv controller support, we started thinking about some more complex input system. We also wanted the desktop players to be able to remap their controls which would cost us a lot of development time. Fortunately, we took a look at Rewired. The implementation was quick, Mimpi Dreams can support a lot of input types now. Also, the controls remapping screen for desktops was super easy to build.
Spine is more like an external tool than Unity plugin. It has its own editor with Unity C# runtime. You can use Spine in a lot more engines.
Spine is a fantastic tool for 2D animations. Bohuslav Sodoma, our animator, was able to bring much more life into the dog’s dreams. Also, all of our lead character's animations are made using Spine. When using Spine, you need to work with textures, so the game size goes up much faster than with vectors. The runtime uses a lot of processor power on mobiles, so we needed to decide carefully about where we to use fancy Spine animations and where to save processor power and memory.
Most of the space Mimpi walks on was made using this terrain tool. We are using a slightly modified version of the plugin. Ferr2D was a huge help in setting up initial level topology fast. We were able to produce the rough level design, playtest it and start populating it with puzzles and animations very quickly. Another advantage of using Ferr2D was that we could quickly change the terrain according to playtests. We also used this terrain tool to setup great looking parallax foregrounds, which we implemented in the desktop version of the game, where the camera is zoomed out.
Although the game itself does not contain a single line of text, which we are proud of, we needed to put some strings in menus or achievements. Obviously, when you have texts in a game, you need to localize them. I2 Localizations is a nice tool that you can use to create a simple Google sheet with language keys you use to localize your game. We tested a few other localization plugins, and we stuck with this one. There is also an option to update text on runtime or to localize other assets like sprites.
We believe the plugins we used helped us to work more efficiently and faster. We have been able to develop the game in quite short time in a small team. That would be impossible without using said excellent Unity plugins, which significantly sped up our development and made the final game much better. If you have any questions regarding using these plugins in development, do not hesitate to contact us. We will be happy to share our experience.