[Edit] The game – ‘Mr. Mustachio’, for which this article was written is now available on the App Store. I would really appreciate if you could take some time out to download and try it out! 

Download_on_the_App_Store_Badge_US-UK_135x40
Screen Shot 2016-09-18 at 5.58.46 PM

I have really admired the tremendous community support that Unity enjoys, which reflects in the huge number of plugins available for the Game Engine.


There are a lot of them which are free and/or open sourced as well, which allows you to get any kind of simple or complex functionality up and running in your game in a matter of minutes.


There are quite a few ones for which you have to pay as well, but once you look at the functionality those plugins provide, you realise that they are well worth the money. The same functionality if implemented by yourself, could take weeks or months of development and not to mention, you would be reinventing the wheel.


The paid plugins sometimes also offer you free versions as well with some striped down functionality. It is worth checking them out or the free alternatives available on the asset store as you may not need all the complex functionality. Could save you some money ;).


Anyways, here are the plugins that I use for my game Mr. Mustachio:


VSCode

Screen Shot 2016-07-25 at 12.12.53 AM

Unity ships with MonoDevelop as the IDE for scripting. It is a decent enough IDE but as a developer you are always looking for more. I looked up on the internet and saw that a lot of developers were using Visual Studio and were pretty happy with it. But it is unfortunately windows only. For mac, there is Visual Studio Code which is a light weight free and open source version. But it won’t run out of the box. There are some changes that you need to make. Thankfully there is a plugin for it! Just download the plugin, put it into the Assets folder, follow the instructions and boom! You have Visual Studio Code up and running.

Using the c# extension of the VSC, makes the development process much better. and yes, you can debug the code as well!

VSC is continuously being updated and new features being pushed in frequently. They lately added Tab support. So all in all, a great IDE and a great plugin to make your work easier. Oh and it is completely free and auto updates!


Unity UI Extensions

Screen Shot 2016-07-25 at 12.10.04 AM



This is again a free and open source project maintained by Simon Jackson. It is a wonderful initiative and have to thank Simon for his hard efforts. The project is a bunch hand-curated scripts which he has scourged from the Unity forums and the internet and neatly packaged for us to use. Just the uGUI scripts which allow you to ‘Set corners to anchors’ and ‘Set anchors to corners’ are immense time savers and are worth even paying money for. The project has a lot of stuff in it and it is regularly updated. Simon has even done the effort of making youtube tutorials for the scripts in the extensions project. Hats off to him!

This extensions project is also special for me because I was able to go through the code of some of the stuff and learnt quite a lot from it. I learnt how to make meshes on the fly by going through the code for the UI Primitives provided in the project. Hopefully, one day I will be able to make a contribution in this project.

But if you are using Unity UI in your project, then you should definitely get this extensions project.


DOTween

Screen Shot 2016-07-25 at 12.12.20 AM

Another wonderful free and open source plugin! This is a tweening framework which allows you to tween literally any property in your code. It is really comprehensive as it allows you to run tweens in parallel or in sequence. Lets you control the ease of your tween via in-built easing functions or you can provide custom ones. It provides helper extension methods for a lot of unity objects out of the box. Also provides you with a lot of hooks during the run duration of the tween which allows you to run your custom code at certain points during the duration of tween. Allows you to set callback at any duration of the tween. This is such a powerful and easy to use tool. An immense time saver again and best of all it provides a programmatic way of doing animations, thus allowing full control over every aspect of the animation, How cool!

Before I came across DOTween, I was using the mecanim tool by Unity. Mecanim isn’t bad either, but I found it to be a bit cumbersome if I had to change some values afterwards or change the names of the GameObjects. DOTween was a wonderful substitute and I am in the process of replacing my mecanim animations with DOTween tweens.

Mr. Mustachio’s growing moustache animation is also using DOTween!


Mobile Native PopUps

Screen Shot 2016-07-25 at 12.10.56 AM

If you are developing for the mobile platform, chances are that you will need some kind of native alerts for that platform. This free asset does the job for you on iOS, Android and Windows platform. A really easy and simple to use plugin and also has examples on how to use it.

Best of all, it provides a ‘Rate App’ popup out of the box on all the above platforms! All app developers know the importance of user ratings for their app and this plugin makes it easier to push in that functionality in your game.


Text Mesh Pro

Screen Shot 2016-07-25 at 12.11.53 AM

This is a paid plugin but is worth every penny. You don’t have to look any further for your in-game text needs. The functionalities provided by the plugin are too many to count here. New features are added regularly and the developer – Stephan Bouchard – listens to the developers through the Unity forums and the TextMeshPro Plugin forums and is willing to add updates based on the user feedback.

I haven’t used the full extent of this plugin as yet, as the my game doesn’t require much. But for me, just the ability to get SmallCaps text or multi-colored text so easily, was well worth it. It also has a powerful auto-sizing feature which is better than the default one.
There are probably thousands of developers using this plugin. In any search for some text solution for unity, you will see Text Mesh Pro crop up.

So if you have money to spend, and are need for a comprehensive text solution, then do go ahead and buy this plugin. You won’t regret it.


SVG Importer

Screen Shot 2016-07-25 at 12.11.22 AM

This is again a paid plugin developed by the developer behind the game – ‘Mimpi Dreams’. And the plugin itself is used in the game too. This plugin brings vector graphics to Unity which basically means that you can now directly use svg files in your project instead of exporting jpg’s or png’s of different sizes. This allows you to make a game that looks good on all resolutions and you don’t have to worry about the size of your build becoming too large. This plugin was presented at the Unite Europe 2015 and has seen quite a bit of traction.

The plugin works seamlessly as expected. It also provides an antialiasing feature while importing the svg files which helps to remove any jarred edges effect.

The plugin was really useful to me as I am a sole developer working on the game and I really don’t have a artist workflow. So it is the best thing for me to create the artwork in svg and import the asset into Unity and after that, never worry about multi-resolution support.


Crashlytics (For iOS and Android)

Screen Shot 2016-07-29 at 3.50.17 PM

We all need a crash reporting tool that can tell us when and where our game crashed, and with that a comprehensive stack trace that can help us fix the issue. If you are developing for iOS or Android, then Crashlytics is a great choice. I have used it before on a SpriteKit game and it worked great.

The dashboard provided by it looks fantastic and provides a lot of drill-down views. Of course, the main advantage is the complete stack trace of what was happening in your game at the time of the crash, including multiple threads. Such information was extremely useful for me to diagnose several issues that were happening on different devices.

The dashboard also collects the same issues occurring at different places under one roof and also provides the ability to mark an issue as resolved/unresolved, thereby allowing it to be used as an issue tracker as well.

I have just added this plugin and hopefully it will work out as good as it was for native iOS apps.


Well these are the plugins that I am currently using. They have made my life simpler. Hope they help others in their game development as well.