Plugin

Must-have Unity plugins – Part 2

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

f6265f13-6dea-4e32-b208-a68ae59416292https://www.assetstore.unity3d.com/en/#!/content/25559

I discovered this one only recently but I’m already in love with it. Three main reasons for that:

In-game console

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).

Console commands

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.

Bug report

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!

TL;DR

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.

 

Maintainer

99d61880-186d-4a92-a7ff-d086b71134772

https://www.assetstore.unity3d.com/en/#!/content/32199

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!

 

Heavy-Duty Inspector

59e05860-27ff-4a81-a3df-1dd5acb9b41f2

https://www.assetstore.unity3d.com/en/#!/content/14472

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…

Must-have Unity plugins – Part 1

One of the (many) strengths of Unity is its Asset Store, offering thousands free and payed-for plugins and assets. By the way, you have 4 days left before the end of the (fifth!) Birthday Bonanza Sale!

Here are 3 of my favorite plugins I use in most of my game projects.

Let’s make it quick, I’m myself subject to the TL;DR syndrome.

A* pathfinding project

574a3370-0141-4cbc-b16d-d076d7039143
https://www.assetstore.unity3d.com/en/#!/content/1876

Pathfinding is a recurrent problem in game development. A good enough solution is often needed in early stages of development and its implementation can look daunting.

This is the best solution I’ve found so far :

  • It’s blazing fast (even on mobile)
  • Supports multiple terrain representation methods (waypoints, node grids, navmeshes)
  • Has more advanced options than most of the other solutions I tried (including the Unity built-in navmesh system)
  • It’s well documented and comes with ready-to-use client components

I’ve used it on most of my game projects needing pathfinding and really recommend it.

Editor Console Pro

a8cae5f2-2dcb-45c0-94cc-05171c5f42a6

https://www.assetstore.unity3d.com/en/#!/content/11889

This is an editor-only plugin offering an enhanced version of the built-in console.

Although it may consume some precious CPU load when you spam logs (but you know you shouldn’t spam logs), it doesn’t impact your builds performances and it allows you to:

  • Filter logs by type (debug/warning/error/exception) or by content (using keywords or even regular expressions)
  • Show additional columns like frame number, time since startup, triggering class, etc
  • Export logs to text files
  • And my favorite feature: clickable stacktrace <3 (clicking on a line of the stacktrace opens your code editor and highlights the corresponding line of code)

This console gives you a real productivity boost when it comes to debugging.

ProBuilder

c8473210-d3a4-4b37-a9b0-52ac1c232d75

Advanced (paying) https://www.assetstore.unity3d.com/en/#!/content/3558

Basic (free) https://www.assetstore.unity3d.com/en/#!/content/11919

The Asset Store is full of great 3D models but sometimes you may want to tweak one of them, use exotic primitives or even make your own models from scratch.

Until recently, the only solution was to use an external tool like 3DSMax or Blender to do that (or rely on someone who does). Which means you had to learn the ins and outs of a whole new software with its proprietary coordinate system, interface and controls. And I won’t even talk about the price of some of those softwares…

Well, that’s not the case anymore with this plugin! \o/ You can now stay comfy in the editor and use a fully integrated tool featuring:

  • Intuitive unity-like interface and controls
  • Mesh editing by vertex, edge or face using face extrusion, vertex welding and bridging, etc
  • UV editing, vertex coloring, material editing by face
  • Advanced configurable primitives

It still lacks some features you can find in modeling softwares (like rigging or skinning) but it’s constantly improving and developers are working closely with their users.

I never managed to get used to Blender’s workflow or had the money to afford 3DSMax so ProBuilder is kind of a life saver. It allowed me to design the first Gladiabots bot prototypes is just a few days.

Lots of cool game projects already use it as shown in this demo reel video.

You can even test the free “Basic” version before spending your money on the “Advanced” version. You will only get a part of the cool features listed above but it will give you a glimpse of the possibilities this plugin unlocks.

 

That’s all for part 1, I hope it will help some of you.

Let me know in the comments below if you have other suggestions.

Next week, I’ll talk about 3 other plugins you have to know: Touch Console Pro, Maintainer and Heavy-Duty Inspector.

Advanced network coding for Unity3D

If you don’t know it yet, you should take a look at uLink, an awesome plugin enhancing network coding for Unity3D (because, yes, the default Unity3D networking API is not that good).

They work on some well known titles like Battlestar Galactica MMO (Bigpoint), ShadowGun (Madfingers) and Interstellar Marines (Zero Point Software) which I already talked about in this post.

Check out their website, I’ll post more technical details soon.

A* Pathfinding compatibility issues with Unity 3.2: no problemo

If you’re using A* Pathfinding project and just updated your Unity editor to the 3.2 version, you will notice 3 errors in your console that were not there before:

Assets/Editor/AstarPathEditor.cs(372,59): error CS0122: `UnityEditor.EditorStyles.notificationBackground’ is inaccessible due to its protection level

Assets/Editor/AstarPathEditor.cs(372,35): error CS1502: The best overloaded method match for `UnityEngine.GUILayout.Button(UnityEngine.GUIContent, params UnityEngine.GUILayoutOption[])’ has some invalid arguments

Assets/Editor/AstarPathEditor.cs(372,35): error CS1503: Argument `#2′ cannot convert `object’ expression to type `UnityEngine.GUILayoutOption[]’

Well, don’t panic, here is a quick fix that will save your day you some minutes^^:

In the Assets/Editor/AstarPathEditor.cs file, line 372, replace

GUILayout.Button (co,EditorStyles.notificationBackground);

by

GUILayout.Button (co);

Save the file and go back to Unity editor: simple, right? you’re welcome XD

New version of the iTween+AStar test project

Here is a sexier version of the test project mixing iTween and AStar tools (see first post about it).

iTween configuration has been tweaked to fit a more realistic trajectory (player’s orientation is better than previous version but still not totally satisfying).

Below the interesting part of the main script (Player.cs):

iTween.MoveTo(gameObject, iTween.Hash

(

“path”, path,

“orienttopath”, true,

“looktime”, 1.0,

“lookahead”, 0.05,

“axis”, “y”,

“easetype”, iTween.EaseType.linear,

“time”, iTween.PathLength(path) / moveSpeed,

“oncomplete”, “OnMoveComplete”

));

See iTween.MoveTo method’s documentation for more details about parameters.

It also uses the soldier model from the Unity3D “Bootcamp” demo and its animations, that’s why the web player build and project archive are a bit heavier than before ^^;

Try the Web Player version (4.4 Mo) and/or download the project sources (24.6 Mo).

iTween + A* Pathfinding = <3

When pixelplacement’s iTween meets Aron Granberg’s A* Pathfinding, you get a quick demo of what you can achieve with powerful and easy to use tools.

With just 2 little scripts (basically 2 function calls, one for each tool), I easily managed to set a typical path finding system.

Try the Web Player version (86 Ko).

And here is the project sources (1.5 Mo).

Check comments in the Player.cs and KeyPoint.cs scripts for more details about this implementation.

Big up to Bob “pixelplacement” Berkebile and Aron Granberg for their work! o//

Edit : opened a thread on Unity3D “showcase” forum:

http://forum.unity3d.com/threads/70996-iTween-A*-Pathfinding-lt-3

 Scroll to top