The following blog post, unless otherwise noted, was written by a member of Gamasutras community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
Hereâ€™s part 2 of my must-have Unity3D plugins series. Once again, Iâ€™ll share some plugins Iâ€™m using on my game projects and that I recommend you.
In case you missed it, part 1 is availableÂ here.
Touch Console Pro
I discovered this one only recently but Iâ€™m already in love with it. Three main reasons for that:
Yes, it allows you to have anÂ interactive console inside your game!
OK, it may not seem much said that way but believe me, thatâ€™s a â€śgame changerâ€ť (huhu) when you makeÂ mobile games. Yes, you can accessÂ device logsÂ but letâ€™s admit it, itâ€™s not very user friendlyâ€¦Â
Logs can beÂ filtered by typeÂ (debug/warning/error/exception/assert) andÂ byÂ contentÂ (using key words or regular expressions), you can seeÂ full stacktraceÂ by clicking on it and the consoleÂ pops up automaticallyÂ when anÂ exception is raisedÂ (optional).
The plugin also offers the possibility to execute â€śquake-likeâ€ť console commands while playing your game, which is very practical forÂ testing.
You can obviously implement your ownÂ custom commandsÂ using a very simple API allowing commands with parameters, commandÂ helpers, etc.
I personally use it mainly for cheats (unlocking missions, adding life, toggling god mode, etc) and to enable debug modeÂ (displayingÂ additional information in game view, being able to control CPU characters, etc) but you canÂ be more creative with it.
But thereâ€™s another feature that is priceless to me: theÂ bug report tool. Your players (or testers!) can use it to send you a complete bug reportÂ by email!
This include your logs (in sexy colored interactiveÂ HTML), device information (hardware details, game version, etc), a screenshot of the game and even a game save if you implement it!
Long story short, your life (and the life or your testers) will be much easier with this plugin if you work on mobile platforms.
You could go with your in-house solution (I actually started implementing my own before trying it) but you will only get this level of polish if you give it weeks of your precious dev time.
As perfectly describedÂ in itsÂ asset store page, Maintainer is your projectÂ â€śhousekeeping assistantâ€ť. It helps check potential issues related to:
- ComponentsÂ (missing, duplicate or with incomplete properties)
- PrefabsÂ (disconnected instances, missing prefab)
- Other â€śneatnessâ€ť constraints
The awesome part is it checksÂ all your scenes and assets!
It also presents the found issues in a very practical list with the abilityÂ to focus on the associated assets or game objects.
It could have more options like customizableÂ scene checkÂ list or a component ignore list but itâ€™s already a great tool to detectÂ potential bugs andÂ refactoring needsÂ early on.
By the way, use it as soon as possible in your development process, you will once again save yourself some precious dev time!
Time, time, time, oh precious timeâ€¦
Isnâ€™t game development all about optimizingÂ time spent on gameplay instead of boring stuff?
Isnâ€™t life all about optimizingÂ time spent on gameplay instead of boring stuff? â€¦OK maybe not >_>
Tools are as important as boring to implement. YouÂ
shouldÂ mustÂ not workÂ without good tools.
Good tools make your (team) daily tasks easier and help you focus on whatâ€™s really important forÂ your game. They are a huge time saver in the long term but they need a significant initial investment.
What if you could drastically reduce this investment and only get the best part of it?
UnityÂ editor can be extended with custom windows, menus and inspectors so itâ€™s a great place to implementÂ your tools. One of the most powerful features of its APIÂ is theÂ Property DrawersÂ system. It allows to define how the way your components (or scriptable objects) properties are displayed in the inspector. The problem is itÂ needsÂ a lot of code toÂ do simple things.
Heavy Duty Inspector doesÂ the coding for youÂ and gives you access toÂ it via customÂ Attributes. So with a single line of code (really), you can now:
- Add colors and names to you components (handy when you have several instances of the same component on a single game object)
- Easily duplicate, insert or move elements of yourÂ lists
- Add an interactiveÂ buttonÂ in the inspector to execute a specific method
- AddÂ commentsÂ above properties (really useful when working with non technical guys always wondering what is this property for or what is the expected valueÂ format)
- Hide propertiesÂ based on another property value (priceless when dealing with complex scriptable objects)
- Mark properties asÂ layerÂ orÂ tagÂ to display the corresponding prefilled drop list
- SerializeÂ unsupported typesÂ like unsigned 64 bits integers
Dictionaries are also exposable in the inspector but need several lines of rather unintuitive code.
No more excuses now, you can make awesome tools in no time!
That concludes part 2! I hope you liked it.
Donâ€™t forgetÂ to check the asset store before implementing something new and to leave a review once you bought something. By the wayâ€¦