Advanced Unity3D: Programming & Animation

Saturday 18 October, 2014 09:30 - 17:00 AND Saturday 25 Oct, 2014 09:30 - 17:00 | University Of Ulster

This event is arranged with the support of Digital Circle.

This is a FREE course. You must register in advance to secure your place.

Use #HCskills for tweets before, during and after this event!

This 2-day course is intended for those with skills in Unity3D and who wish to extend its' capabilities. On Day 1, you will learn the fundamentals of programming. On Day 2, you will learn how to develop visually compelling games using advanced animation and visual effects.

Feedback from previous Unity training events

  • 'Gavin's experience was evident'
  • 'I liked .. step-by-step guidance'
  • 'Course was... very well timed and prepared'
  • 'The most valuable part of this course was... talking to experienced instructors'

Access Instructions

Come in through the main doors of the University. Proceed through the lobby area and on through the sets of double doors . Pass the bank and shops on the bridge, turn left at the Diamond. Go through the doors on the left into the L- Block. Registration and tea and coffee will be available in L126 on the first floor. Please arrive at 9.30am promptly to complete your registration.

Day 1 Advanced Unity Programming

Scripts as Components

Scripts can extend the functionality provided by Unity and its packaged content to allow you to develop your own behaviours within games. Unity supports multiple languages within the editor not just C#.

Using Variables and Functions including scope

A look at how variables can be used not only within the scripts but inside the Unity3D inspector panel and how to leverage this functionality for your project team. Developing functions will be a basic requirement for many projects and a fundamental part of scripting.

Mono Behaviour Functions

Many built in functions are available even the basic scripts inside Unity3D before creating your own this may be more suitable to use. An in-depth explanation and look at scenarios as to when they should be used will be outlined. • Awake • Start • Update • FixedUpdate

Using If Statements

Adding logic to your game or interactive media is important, either it is controlling an avatars action or simple making a decision based on a button click. If statements give you the ability to choose the right code path depending on the right conditions.

Using Switch Statements

Switch statements are similar to If statements to a degree but usually follow the use of a single parameter for its evaluations. Best practices in choosing when and where this may be best used will be outlined.


Holding a collection of objects can be an important functionality in games. This may appear when keeping track of large groups or entities or keeping track of inventory.

Using While Loops

While loops off the ability to repeatedly call upon an action with the scene. Knowing when to use this and when to avoid it when it comes to performance considerations is important.


Calling functions through the use of While loops may work for functions called in quick succession without delay, but if you need to put an inexpensive timer between those calls, invoke will be used.

Math Classes

Moving your character, rotating a ball, calculating a missiles path all require a degree of mathematics. Unity3D provides several maths functions to aid creating gameplay prototypes quickly without having to write time consuming equations. • Vectors • Random

Handling GameObjects

GameObjects will represent every element in your scene and it is important that you are able to access and update this as you need through scripts. • Getting • Destroying • Instantiating

Handling Components

Since GameObjects can be composed of multiple Components finding the right component that is nested inside can sometimes be tricky. Outlined will be several tips to easily work with built-in and custom components. • Getting Components • Enable/Disabling Component • Enable/Disabling GameObjects • Accessing functions and variables • Destroy

Scripting Input

Giving control to the user is necessary to drive interactivity within the project. Input can be composed of keys, gamepad buttons, mouse and touch input. • Buttons • Mouse • Keys • Gamepad


Timing is important not just to set up animations in scenes but to control scripts running on different devices. • Importance of DeltaTime • Creating a counter

Day 2 Advanced Unity Animation and VFX

Overview of Effects in Unity

A demonstration of how real time effects can be used within Unity3D to improve the visual appeal to users in the end game product. Samples and demos will be provided with effects and the lessons will outline how these effects can be accomplished.

Using Physics for Real Time Effects

Unity3Ds built in Physics engine can allow for realistic physical mechanisms which can include aspects such as force and momentum, applying force to hinges and joints to develop rope bridges. Providing artist with the ability to generate realistic cloth within the scenes and reducing the need for extra animations.

Lighting Rigs and Animation

A hands on sample outlining the visual impact animation and lighting can make to a scene. Making use of multiple cameras and lights within the scene.

Scene Animation

Controlling a scenes animation may be important during cases where a user is being guided along a story driven path. Unity’s Animation system is capable of providing a similar environment to many 3D artists and yet simple enough for a new user to grasp and still produce interesting animations.

Character Animation

Characters can be created with a host of animations to suit the development project. Using a sample character, a step by step process of how to effectively set up and handle the animations. Blending multiple animations and adapting properties in real time will speed up the development time.

Animation Scripting

Handling animations via scripts becomes an important part in many games to ensure everything flows together nicely. Best practices and samples will be outlined to aid both new and familiar users to Unity3D.

Using Shaders to Enhance the Scene

Shaders have become a popular method of greatly improving the visual look and feel of a game without impacting too heavily on resources such as hardware. Shaders can impact elements in the scene such as providing fur on creatures, or change the look of the overall game to look as an old time tv. A demonstration on how to best utilise built in shaders along with how to create them from the ground up.

About your trainers

Gavin McLaughlin

• Gavin is the CTO of Troll inc and head of R&D

• As part of Troll inc he has developed multiple apps and games and released these to market • He has a strong background in programming and skilled in all facets of game development

• He has also taught game development in the University of Ulster for the past 4 years

Darragh Lydon

• Darragh has a background in both game design and programming; and is a game designer and Programmer at Troll Inc.

• As part of Troll Inc he has developed multiple apps and games and released these to market.

• He has previous experience teaching both Mathematics and Game Development