Search Unity

This year at Unite 2013, two hundred and fifty people arrived at the Unite conference a day before the keynote, to take part in the training day. Demand was high for this event, and the tickets for training day were sold out well in advance.

We’ve had training days at Unite before, but this year we decided to turn things up a notch and create a hands-on workshop where all the attendees could start with an empty scene and put together a complete game in a single day.

This was a fairly ambitious undertaking – I’ve trained groups of people onsite at lots of companies and at lots of events, but this group was about ten times the size of the ones I’d worked with before. It was vital to ensure that nobody would get left behind, despite the size of the crowd. Expectations were high.

Unite13 Training Day - front corner view
The content I prepared for the day was partly based on material that I’ve delivered to customers, combined with some brand-new stuff that was put together just  for the training day. By far one of the most requested areas of training from customers is our character animation system, so I went with the choice of a third-person action game as a base. I also added a few carefully selected game elements. These were things that  many games have in common: collectible items, firing projectiles, hazards to jump or dodge. Each element was designed so as to give an opportunity to learn a different area of Unity’s specialized features such as particle systems, editor gizmos, animation masking and path finding.

Unite13 Training Day - Castle Layout OverheadI also wanted to give the attendees the opportunity to feel as though they had created something of their own design, rather than building an exact replica of an existing project. To achieve this, I decided to provide a simple collection of tile-based environment assets designed to snap together (using Unity’s snap tools), which allowed the users to quickly design their own floor plan of a level, and choosing where corridors and rooms should go in their game. I then added to this an editor script, which would automatically place walls and corner pieces around the floor plan they had created.

Editor scripting and customising the editor in general is one of my favourite features, and it’s something that a lot of larger customers really appreciate about Unity, since they often build very specialised tools to speed up development of their own games. I wanted to give our attendees a taster of this, so after a quick introduction to the concepts of editor scripting, and some examples of what it can do, we let them loose with the “Auto Walls” script, and soon there were towers and crenellations as far as the eye could see.

We then took a crash course in physics, including setting up a controllable capsule-based physics character from scratch – solving problems such as how to achieve the typical “collide and slide” behaviour that gamers expect from a character, before moving on to adding an animated character, and driving the movement with the animation root motion.

Unite 13 Training Day - Mecanim Banner

Our animation system is an extremely powerful piece of software, and while its visual editors make much of the work easy and intuitive, it’s still a complex system – so we had an in depth look at exactly how the various pieces fit together, including creating animation loops, understanding humanoid avatar rigs, and setting up state machines in the animator controller window.

The spiky medieval hazards not only demonstrated collision detection and tagging, but also served as a way Unite13 Training Day - spiked rollerdo show how the editor window can be enhanced with icons and lines drawn into the scene view by code – allowing programmers to provide their level designers with specialised visual tools for positioning and manipulating the game elements.

We looked at creating projectiles so the character can throw tomatoes (historically accurate – there was a lot of tomato-throwing in medieval castles), which involved a bit of scripting – but also required learning about the use of Avatar Masks to mix the throwing animation with the character’s existing running/jumping motion.

Unite13 Training Day - throw tomato banner

And near the end of the day, we explored the NavMesh feature, which was recently made available in the free version of Unity. And because we’d introduced examples of componentised architecture earlier in the day, making an animated AI enemies which could chase the player around the castle was a breeze – simply swapping the artwork of the character, and swapping out the User Input component with an AI Input component driven by the pathfinding feature.

In order to make sure the day was at least twice as good as it would have otherwise been, we used two screens and two presenters. The fantastic Mr. Will Goldstone joined me, helping to present the day’s material.

Unite13 Training Day - dual screens
The dual screens allowed us to freely switch between live demonstration and coding on one screen, and steps to follow or things to remember on the other. And with two of us presenting, we managed to reduce the symptoms of “geek coding on stage” to what I think were safe levels.

We also couldn’t have pulled it off without the help of our field engineers who were standing by at the wings waiting to help out anyone who was having problems.

Another fail-safe we had in place to make sure nobody fell too far behind was to include “checkpoint” scenes in the files we gave to all the attendees. This way, if any one particular stage of the day proved insurmountable to complete, the users could load up the current checkpoint scene and automatically catch up. The project we handed out also contained finished versions of all the scripts we would be writing, as well as the completed versions of the assets and prefabs we built. However, I was incredibly impressed with how well everyone did, and as it turned out very few people ended up using the catch up scenes at all. The day went really smoothly, and we even had time for some Q&A at the end.

Thanks to everyone who attended, and everyone who helped make the day what it was – a great success!

Unite13 Training Day - Duck and Will

20 replies on “Unite 2013 Training Day”

[…] and field engineer <link to Duck’s UT blog post>, and created the material for the Training Day seminar and is currently working on the sample assets that will be distributed by Unity […]

As an attendee, I just wanted to say that it was amazing.

It would have been awesome to have had a recorder version though, as there were a few points that I missed during the scripting sections (I tripped up on a couple of C# conventions) :)

will –
about “controllable capsule-based physics character” course video
so only those who paid can learn how to do it correctly?
if the problem is “paying” so just put this course video in the asset store,because surely there is nothing like it in “the large wealth of tutorials session”

I’m afraid it was not as we wanted to ensure exclusivity for those visiting it and paying to attend. We do have a large wealth of tutorials on our learn section however that offer similar quality content.

i think It is in everyone’s interest to watch at least “controllable capsule-based physics character” course on you tube!

Sounds like amazing training. I am learning and trying to make my first game by the end of the year.
I will try and document it on my blog. I enjoy the Unity education and I hope this makes it in the training section. I also think it would be awesome to be a certified trainer, but I really have my eye on writing and producing.

I just wanted to send a thanks out to everyone who took part and hosted the Unite 2013 Training Day in Vancouver. It was a lot of fun and a great learning experience. Hopefully there will be more Unity events in Vancouver again soon!

I would love to see this tutorial up! Even just the videos, i would be happy to convert it on to a step by step tutorial.

This would be brilliant for schools as well, where some us run focus days but most IT/Computing teachers lack the time, skills and experience to run just such a session. Is there scope for a training pack and/or a schools liaison to run courses around the country? From my school alone there would be insanely high demand!

Would love to see this online somewhere in the next few weeks, especially to see what you did in the animation portion (OK really the whole thing, but I’ll take sections as well).

Lately, there’s been next to no progress in the new Unity learning section. It seems that this workshop would be something great to add…

Rob – I understand you’re disappointment in our new content on Learn, we’ve been balancing a number of other tasks whilst looking for new team members, we now have a great team assembled and hope to be upping our output now that we’re done with Unite.

Please put this course and other videos from Unity 2013 on YouTube, unfortunately I could not attend, but I really want to watch what happened the other day, after keynote.

Has there been any talk of having a certification course? Also I think it would be great to become a certified Unity trainer and teach my own classes. Is there any guidance or advice you can give on this?

Comments are closed.