
Learn to create functional and playable games in Unity five through C# scripting, building script files, interactive scenes, and integrating components, debug statements, classes, and events.
Create a hello world script in Unity using c sharp, print to the console at startup via start, then attach the script to the main camera and run the scene.
Learn to customize MonoDevelop to improve coding comfort by applying syntax highlighting themes like oblivion, enabling code folding with regions, and adjusting text editor options.
Explore how Unity objects compose from components like transform, mesh filter, box collider, and mesh renderer, and learn to move a cube by setting its transform position with a vector3.
Explore how Unity uses MonoBehaviour scripts to access and control a game object's name, tag, and active state, and learn to hide objects with a simple script.
Move a character forward in Unity by updating its transform in update, using a public speed to control the z-axis advancement each frame.
Learn to make a character move in the direction he is looking by using transform.forward and speed, and to achieve frame-rate independent movement by multiplying speed by time.deltaTime.
Demonstrates object communication and interactivity in Unity by clicking cubes to make both disappear, using on mouse down, colliders, and a shared object list to deactivate linked objects.
Develop a practical unity project where the player collects power ups by colliding with sphere objects using isTrigger, and end the game once all are collected.
Implement on trigger enter in a Unity power-up to detect the player entering the collider, log entry, and destroy the power-up game object when collected.
Attach the power-up sound to the player's audio source, set it to 2D, and trigger play one shot with the power-up clip when the player enters the collider.
Create a power-up prefab to enable multiple instances, drop prefabs into the level, collect them all, and detect completion with a game controller and a console message.
Create a game controller in Unity to count all power ups at the start and detect when they're all collected, printing a win message to the console.
Explore 2d sprites, physics, and on-screen interfaces in Unity. Import sprite textures, arrange atlases, animate characters, and code sprites to always face the player.
Discover how to create 2D sprite assets inside a 3D Unity scene by importing a PNG with alpha transparency, applying it to a quad, and adjusting the material for transparency.
Import 2D sprite frames with Unity’s 2D feature set to create animated characters, then adjust pixels per unit and pivot for proper size and alignment.
learn to auto-create a 2d walk animation in Unity by selecting frames, dragging them to the hierarchy, generating the walk animation clip and controller, then adjust looping and speed.
Discover how to pack multiple sprites into a single atlas using a packing tag in Unity, improving performance by sharing textures across enemy sprites.
Discover how to import and edit atlas textures in Unity, define multiple sprites with the sprite editor, and adjust pivots for precise in-game placement.
Learn how billboarding makes 2D sprites in Unity always face the camera in a 3D scene by rotating the sprite toward the main camera in late update.
Switch the camera projection from perspective to orthographic to get a true 2D view, adjust the size, and preview a side-scrolling character in Unity.
Explore how to apply gravity to 2d sprites inside a 3d unity scene by adding rigid bodies and box colliders, and prevent tipping by freezing rotation.
Convert a Unity scene from 3D to 2D physics by replacing 3D components with 2D Rigidbody 2D and Box Collider 2D, then optionally use Polygon Collider 2D for accuracy.
Explore creating in-game user interfaces in Unity by building a canvas-based UI with a dedicated camera, pixel-perfect rendering, and a restart button to display player health and manage gameplay.
Learn to build a resolution-independent health display in Unity by using a panel anchored to the top-right of the canvas, with anchor points and presets.
Add a burger icon image and white health text to a panel in Unity, using anchor points and preserve aspect, with the text aligned to the panel top-right.
Script the UI to display player health by linking a text component to the player controller’s health property and updating it in real time.
Create a top-left restart button in unity by anchoring a UI button to the screen corner, wiring an OnClick event to a script that restarts the current level.
Explore debugging techniques in Unity five, including console error messages, usage data in text files, status tracking with the Unity editor and MonoDevelop tools for profiling and building.
Explore the debug log in Unity to detect and diagnose errors, using console messages to verify start function calls, object activation, and material assignment across multiple cubes.
Visual debugging in Unity draws gizmos around objects to visualize properties such as radius and forward vector, helping level designers see an object's range and line of sight.
Learn to implement error logging in Unity by writing runtime errors to a text file, using an exception logger script and application callbacks for robust testing.
Learn to use Unity's editor debugging with the rolling ball scene, switching between normal and debug inspector views to test runtime parameters and copy component values.
Open the stats panel in the game tab to view frames per second, batches, triangles, and shadowed objects. Reduce batches by sharing materials to keep frames per second above 30.
Explore the Unity profiler to diagnose runtime performance, visualize CPU, rendering, memory, audio, and physics metrics, analyze frame data, and identify performance hotspots for optimization.
Explore debugging between Unity and MonoDevelop by identifying compilation errors and runtime logic errors, fixing syntax issues to recompile and run, and using advanced debugging to prevent endless loops.
Attach to the Unity process, set breakpoints, and inspect properties like position, rotation, and forward vector, while hovering to reveal properties and using the watches panel to monitor loop variables.
Master mono develop debugging by setting breakpoints, attaching to the Unity editor, and stepping through code to inspect execution flow and verify object behavior.
Demonstrates the immediate window in MonoDevelop within Unity, showing how to print and assign object properties live, use breakpoints, attach to the Unity process, and test runtime changes.
Explore how the call stack provides a breadcrumb trail of execution as functions call one another, using breakpoints and step into and step over in the Unity editor.
Learn how to create standalone game builds in Unity for Windows, Mac, Linux, iOS, and Android by configuring build settings, scene order, and player options.
Learn how to build for mobile devices in Unity by completing platform setup for iOS and Android, including Apple developer accounts, Xcode projects, and the Android SDK.
Learn to use Git for version control in Unity to track progress, safely test ideas, rewind changes, and collaborate with others.
Learn how to use version control in Unity by manually backing up projects, saving scenes, and undoing changes, and compare this approach to automatic source control.
Learn git with a graphical workflow using Atlassian SourceTree, a visual client that tracks and manages project changes, with downloads for Windows, Mac, and Linux.
Explore git hosting options to store and access your source code remotely, collaborate with others, and compare free and commercial services such as GitHub, Bitbucket, and Visual Studio Online.
Create a new git repository for a Unity project, set the destination path, and manage project data with bookmarks while understanding the hidden .git folder.
Create a new Unity project inside the Git-managed folder, enable visible meta files and text-based scene serialization, and use SourceTree to track changes and identify files to ignore.
Learn to use a git ignore file to exclude Unity metadata and keep only meaningful changes, and see how to apply the ignore list in repository settings.
Learn to create your first commit in a Unity project using SourceTree, describing the starting state, and using commits as bookmarks to rewind through project history.
Demonstrate managing Unity project changes using source tree by adding 3d objects and materials, staging files, and creating commits with descriptive messages to track project states.
Select the commit to undo and choose reverse commit to revert the project state with a new commit. Verify in Unity that the red sphere and green cylinder disappear.
Use Git branching to test multiple game directions in Unity, creating first person and third person branches after importing the characters package with first and third person controllers.
Switch between master, first person, and third person branches in Unity, commit branch-specific changes, and evaluate each branch to select the optimal gameplay setup.
Merge the first person branch into the master to integrate its changes and update the Unity project with the first person controller, then delete branches to keep the project clean.
Upload your local repository to a remote hosting service, create a Bitbucket repo, copy the clone URL, set origin, and push the master branch. Access it from anywhere with internet.
Clone the latest project from the Bitbucket server to your computer, creating a perfect duplicate with a master branch and remote origin while preserving commit history and project data.
Master advanced game mechanics in Unity by exploring persistent data, restore states with camera shake, cross-scene controllers via singletons and statics, accelerometer input, and non-linear movement.
Learn to implement persistent data in Unity by saving and restoring game state to XML or binary files, using keys 1–4 in a sample scene.
Explore how to serialize a Unity object's transform data using XML and binary formats, extracting position, rotation, and scale into a dedicated save data structure for save and load.
Serialize game data to XML using the XML serializer to save the transform values—position, rotation, and scale—as nine floats, then deserialize and restore the transform from the XML.
Explore binary serialization in Unity with the object serializer C# class to save and load transform data as a binary file using nine floating point values and demonstrate savegame states.
Learn how to set up android development in unity by installing the android sdk, configuring unity preferences, and using unity remote to test input from an android device.
Learn to control a Unity scene object with a mobile accelerometer by reading Input.acceleration, mapping X and Z tilt to movement, and addressing orientation and resting pose challenges.
Transform accelerometer readings into an angle around the local x axis relative to a 45-degree resting pose, then log and refine the input to control in-scene object movement.
Read x and y tilt from the accelerometer, establish min and max tilt (e.g., 25 degrees), and map to a 0–1 range with inverse lerp for smooth movement.
Map accelerometer input to a -1 to 1 range for x and y rotations in Unity, then move objects with transform.translate using tilt, speed, and delta time.
Explore how the singleton design pattern keeps a single game controller across scenes in Unity. Implement a static instance to prevent duplicates and persist the controller between levels.
Turn the score in the game controller into a static variable to enable global access from any class, avoiding complex singleton lookups and carrying its value across scenes.
Explore integrating particle systems with Unity physics by enabling collisions, using a cube with a rigidbody, sending collision messages, and handling on particle collision to log collided objects.
Move objects along curved paths in Unity using sine waves controlled by amplitude and frequency.
Advanced Game Mechanics in Unity helps users push their Unity knowledge to the next level. In this course, instructor Alan Thorn explores many powerful features in Unity 5, from debugging tools and version control, to 2D sprites and User Interfaces. See how to get started quickly at scripting useful behaviours and functionality for building solid games across many platforms, from endless-runners to shooters.
Part 1 consolidates scripting knowledge, exploring fundamental scripting tasks in Unity, developing a solid foundation for your games, whatever the genre. In part 2, learn how to build resolution-adapting interfaces for multiple screen-sizes, and see how to integrate 2D and 3D elements in a single scene, using the GUI features and sprite framework. In part 3, explore how to find and diagnose problems in your applications using MonoDevelop Debugging, as well as Visual Debugging. In part 4, learn how to manage team work-flows with Git and version control, allowing many people in a team to exchange and maintain source code easily anywhere in the world. Finally, in Part 5 we explore a range of more advanced scripting tasks: see how to combine particle systems with physics, see how to develop save game states, how to make objects survive across multiple scenes, and how to develop for mobile devices, reading input from the accelerometer.
Overall, Advanced Game Mechanics in Unity features everything you need to become a powerful game developer quickly and easily - producing immersive games that sell!
(Students - please look under Section 1 / Lecture 1 downloads for the source files associated with the lesson.)
More about the Instructor:
Alan Thorn is a freelance game developer and author with over 12 years of industry experience. He is the founder of London-based game studio, Wax Lyrical Games, and is the creator of award-winning adventure game Baron Wittard: Nemesis of Ragnarok. He has worked freelance on over 500 projects worldwide including games, simulators, kiosks, and augmented reality software for game studios, museums and theme parks. He has spoken on game development at universities throughout the UK, and is the author of nine books on game development, including Teach Yourself Games Programming, Unity 4 Fundamentals and the highly popular UDK Game Development.