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…

Integrated bot animations in Gladiabots

Being frustrated by my lack of progress on Gladiabots tutorial, I decided to take some time to integrate the bot models and animations I designed several months ago.

Until today, the combat system used static placeholders in order to focus on gameplay and feedback instead of visuals. Although they were not so bad (at least for my lack of modeling skills), they didn’t have any animation.

Here’s a before/after comparison:

 

The top right (static) bot is the placeholder and 2 others are obviously the new ones ^^

And here they are in action:

 

In the final version of the game, the “Blueprint” system will allow you to select and customize different bot models.

Thanks for your time and don’t hesitate to let me know what you think in the comments below 😉

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.

[FR] Présentation technique de Dungeon of the Endless

(Un petit post en français pour une fois ^^)

Je n’en ai pas encore parlé sur ce blog mais depuis avril 2013 j’ai quitté Ubisoft pour rejoindre Amplitude Studios en tant que lead programmer Unity3D sur le projet Dungeon of the Endless.

Petit rappel pour les incultes : Dungeon of the Endless est un savant mélange entre rogue-like, tower-defense et RPG dans lequel vous et votre équipe de héros devrez parcourir un donjon infesté de créatures malfaisantes à la recherche de la sortie afin de sauver votre crystal, source d’énergie indispensable à votre survie.

Voici nos vidéos teaser/trailer qui devraient vous donner une meilleure idée :

A l’occasion du Meetup Unity3D #5 spécial jeux vidéo organisé par BeMyApp et l’ISART Digital, j’ai présenté quelques détails techniques sur le développement de Dungeon of the Endless sur lequel je suis lead programmer Unity3D depuis avril 2013 chez Amplitude Studios.

Voici donc les les slides de ma présentation dans laquelle j’aborde nos techniques de rendu mixant pixel-art, ombres dynamiques et effets “HD” ainsi que le fonctionnement de notre générateur semi-procédural de donjons.

N’hésitez pas si vous avez des questions à les poster en commentaire en dessous de cet article 😉

Game AI Conference

This year’s Game AI Conference will stand for 4 days in Vienna, Austria, and the conference schedule is now online.

In addition to the Behavior Tree and Procedural Animation workshops, the main conference will include:

  • Games post-mortems:
    • BATMAN: ARKHAM CITY
    • HITMAN: ABSOLUTION
    • GRiD
    • F1 2012
    • MAFIA 2
    • VESSEL
    • SPEC OPS: THE LINE
    • MOTORSTORM: APOCALYPSE
  • Tutorials:
    • Predicting Post-Launch Engagement from Gameplay Traces
    • Monte-Carlo Tree Search applied to AI for Board Games
  • And competitions:
    • Platforming Level Generation & Turing Test
    • Deceptive and Deductive Bots for THE RESISTANCE

I’ll be attending the main conference (18th and 19th) with some folks from Ubisoft so if you plan to be there, don’t hesitate to leave a comment 😉

Procedural art in Love

A too short but very interesting Edge interview of Eskil Steenberg, the creator of Love, on why and how he used procedurally generated art:

http://www.edge-online.com/features/art-love

I particularly liked the anecdote about NPCs being treated like humans by players once he implemented the waving gestures. He already talked about it during his presentation about AI in Love at last year’s Game/AI Conference.

How Google maps our world

Here is a great article about the way Google manages to map our world:

http://www.theatlantic.com/technology/archive/2012/09/how-google-builds-its-maps-and-what-it-means-for-the-future-of-everything/261913/

It’s the first time Google gives so much details to the public on their “Ground Truth” project and you’ll be very surprised about the human/machine collaboration implied.

Reminds me a lot of this TED talk by Shyam Sankar:

Unity 4 incoming feature: Property Drawers

Another great feature that will come with Unity 4 is the property attributes/drawers.

By adding specific attributes on your component fields, you can use custom property drawers in the inspector. Look at the image above to see an example of what you can achieve with this system.

This is done in 3 steps:

  1. Define an “attribute class” inheriting from PropertyAttribute where you declare the data you will need (parameters to check the validity of your field, help messages, etc)
  2. Define a “drawer class” inheriting from ProperyDrawer where you define the behavior of the editor (how to display your field, how to validate the value user will input, etc)
  3. Add the attribute to your field with the parameters you defined in step 1

Use can even use it on “Serializable” classes.

More details and source code examples on Unity’s blog post: http://blogs.unity3d.com/2012/09/07/property-drawers-in-unity-4/

1 2 3 7  Scroll to top