Unity Game Dev: Programming

Paths

Unity Game Dev: Programming

Authors: Marc Gilbert, Ava Pek, Michael Baker, Thomas Winkley, Jon McElroy, Michael Taylor, Lisa Walkosz-Migliacio, Alexander Gilbert

Having beautiful art and an idea is never enough in game development. Game developers need to be able to put everything together into a functioning system. Video games don’t work... Read more

What you will learn

  • Creating navigation points and NavMesh agents
  • Setting patrol paths and scripting enemy movements
  • Storing statistics for characters and recalling them at will
  • Implementing Scene loads, game managers and gameplay loops
  • Spawning loot
  • Collecting loot
  • Storing and recalling inventory items
  • Creating juicy combat
  • Creating area of effect spells and attacks

Pre-requisites

Before jumping into this skill path, it is recommended that you have at least completed Unity Fundamentals, Unity C# Scripting Fundamentals, and Unity Gameplay Programming Fundamentals. To help you move even faster, completing the entire Unity Game Dev Courses: Fundamentals Path would also be highly recommended.

Beginner

Learn to build a character controller as well as script enemy AI. From there you can begin building out the stat system for your character to house experience, health, and other needed features.

C# Scripting in Unity: Beyond the Basics

by Marc Gilbert

May 20, 2019 / 2h 34m

2h 34m

Start Course
Description

Do you love Unity and want to take your scripting skills to the next level? In this course, C# Scripting in Unity: Beyond the Basics, you’ll learn not only how to write cleaner, more efficient code, but you’ll also gain the knowledge and tools you need to add that next great feature to your game. First, you’ll learn to organize your code, making it cleaner and easier to work with. Next, you’ll explore the types available to you, the flexibility of generics, and powerful features like dictionaries, lists, queues, and coroutines. Finally, you'll gain a deeper understanding of how it all works with an exploration of classes and structs and how these objects communicate with each other using delegates and events. When you’ve finished this course, you’ll have the skills and understanding of C# in Unity to tackle your game development projects with confidence. Software required: Unity.

Table of contents
  1. Course Overview
  2. Getting Organized
  3. Understanding Types
  4. Working with Groups of Types
  5. Coroutines
  6. Working with Classes
  7. Delegates, Events, and Actions
  8. Tips and Considerations

Finite State Machines in Unity

by Marc Gilbert

Oct 9, 2019 / 57m

57m

Start Course
Description

Are you looking for a way to better manage state in your game? Are your Update methods too long and loaded with conditional statements that are hard to follow and debug? In this course, Finite State Machines in Unity, you’ll learn a tried and true technique for managing state that will make your code cleaner, easier to maintain, and extremely extensible. First, you’ll review the various ways state can be managed within your game. Next, you’ll be introduced to the concept of Finite State Machines. You’ll learn why they exist and when to use them. Finally, you’ll get hands-on experience creating and implementing a Finite State Machine in Unity and see the benefits firsthand. When you’ve finished this course, you’ll have the knowledge and skills required to elegantly manage state in your games using Finite State Machines. Software required: Unity.

Table of contents
  1. Course Overview
  2. Managing State
  3. Finite State Machines

Unity GameObject Singletons: Best Practices

by Ava Pek

Nov 2, 2018 / 27m

27m

Start Course
Description

It's difficult in Unity to implement a Singleton that can receive MonoBehaviour messages or call certain Unity API functions. In this course, Unity GameObject Singletons: Best Practices, you will learn foundational knowledge of how to create GameObject Singletons to solve problems such as asynchronous downloading, coroutines that can continue after GameObject destruction, and more. First, you will learn what a GameObject Singleton is and when you should use one. Next, you will discover the basic code needed to implement one. Finally, you will explore how to make them robust and easy to maintain. When you are finished with this course, you will have the skills and knowledge of GameObject Singletons needed to create your own solutions to problems that require interfacing with Unity's update loop. Software required: Unity 3D

Table of contents
  1. Course Overview
  2. What Is a GameObject Singleton?
  3. Making a Persistent GameObject Singleton
  4. Making GameObject Singletons Robust and Flexible

Swords and Shovels Character Controller and AI

by Michael Baker

May 16, 2018 / 54m

54m

Start Course
Description

Character control in a click-to-move top-down game requires a pathfinding system to allow freedom of player movement. In this course, Swords and Shovels Character Controller and AI, you’ll learn how to work with Navmesh and Navmesh agents, setup character animation, and write code to create a character controller. First, you’ll discover how to bake a Navmesh in a game level. Next, you’ll explore how to work with a Navmesh Agent and animation to control character movement. Finally, you’ll learn how to write code and fine tune the system. When you’re finished with the course, you’ll understand how to author a top-down character controller. Software required: Unity.

Table of contents
  1. Course Overview
  2. Overview and Character Controller
  3. NPC Controller
  4. Finalizing and Extending the Systems

Creating a Character Stat System in Unity

by Thomas Winkley

Jun 26, 2019 / 1h 34m

1h 34m

Start Course
Description

Do you have beautiful art for your game, and are ready to start implementing game systems? If so, this course, Tracking and Adjusting Character Stats with Unity, is for you! First, you’ll outline your game systems in a relational graph so you can track the communication between your Game Objects. Then, you’ll define your methods and scripts as you build them out. Finally, you'll get to prepare the systems to be integrated with other systems in the project. When you're finished with this course, you'll have your data structure laid out and be ready to start building smart, scalable systems for your game ideas. Required Software: Unity 2019

Table of contents
  1. Course Overview
  2. Creating Scriptable Objects
  3. Damage, Leveling Up, and Death
  4. Accessing Variables in Our System

Intermediate

In this section you will build out the game managers, scene loaders and the gameplay loop. From there you will begin hammering out the loot system for the game enabling drops, adding glory to your adventure.

Swords and Shovels: Game Managers, Loaders, and the Game Loop

by Jon McElroy

May 11, 2018 / 2h 5m

2h 5m

Start Course
Description

Games are complicated systems with lots of moving parts and interconnected components. In this course, Swords and Shovels: Game Managers, Loaders, and the Game Loop, you will learn how to implement tools to manage these complications as you build larger projects. First, you will learn about Game Managers, their purpose, and how they can improve the flow and development process of a game. Next, you will explore how to load and unload additional assets as a game progresses. Finally, you will discover how to manage game state and use it to control sub-systems in an organized manner. When you're finished with this course, you'll have the skills and knowledge necessary to build games of substantial size and complexity.

Table of contents
  1. Course Overview
  2. Designing a GameManager
  3. Writing the GameManager
  4. Transitioning Scenes
  5. The Game Loop
  6. Supporting Pause and Restart

Creating a Loot System in Unity

by Michael Taylor

Sep 20, 2019 / 46m

46m

Start Course
Description

Ever wanted to make a loot system for a roguelike or a dungeon crawl like games. In this course, Creating a Loot System in Unity, you will learn how to make a basic loot system. First, you will explore different aspects of Scriptable Objects. Next, you will discover how to use Interface classes. Finally, you will familiarize yourself with how to set up mouse click events. When you are finished with this course, you will have the skills and knowledge to develop loot systems for any game that you are working on. Required software: Unity

Table of contents
  1. Course Overview
  2. Setting up Our Scriptable Objects
  3. Setting up Our Interface
  4. Setting up Our Chest with Spawnable Loot

Creating a Character Inventory System in Unity

by Lisa Walkosz-Migliacio

Jul 30, 2019 / 1h 20m

1h 20m

Start Course
Description

Have you ever wanted to be able to make your own games? If you would like to enter into the world of game programming, then this is the course for you. In this course, Creating a Character Inventory System in Unity, you will walk through the process of utilizing a loot spawn and item system for your games. First, you will explore how to create a dictionary for item drops. Next, you will learn how to create and connect UI elements for inventory display. Finally, you will discover the connection to other systems such as Character Stats, Item Pick Ups, Game Managers and more. It is important to note that this course explores design patterns as a means of exploring programming styles and building an inventory system with many features. By the end of this course, you will have created an inventory system for your RPG style games using C#. Required Software: Unity 2019

Table of contents
  1. Course Overview
  2. Building out an Inventory System
  3. Setup Your User Interface
  4. Inventory Items
  5. Linking Item Actions to Gameplay

Swords and Shovels: Combat System

by Marc Gilbert

Jun 8, 2018 / 1h 44m

1h 44m

Start Course
Description

From swords to axes, fireballs to massive AOE attacks, players have come to expect a wide array of weapons and effects from their games. In this course, Swords and Shovels: Combat System, you will learn the skills you need to create and implement a scalable and extensible combat framework for use in your Unity games. First, you will explore the elements and history of combat in role playing games. Next, you will discover how to lay the groundwork by creating a set of core classes and interfaces to act as building blocks for your system. Finally, you will learn to build upon this framework to create distinct weapons and effects. When you are finished with this course, you will have the skills and knowledge required to create fun and engaging combat in your Unity games. Software required: Unity.

Table of contents
  1. Course Overview
  2. Creating the Combat Module
  3. Weapons
  4. Making Combat Interesting
  5. Finalizing Systems

Advanced

In this section, you will hone your coding skills by designing a system to store inventory as it drops. There’s no fun in gaining loot if you can’t drag it around the dungeon with you! From there, you will get the combat system functioning so your users can begin battling baddies!

Swords and Shovels: Closing the Loop

by Marc Gilbert

Sep 17, 2018 / 2h 40m

2h 40m

Start Course
Description

Now that you've gone this far in the Swords and Shovels series of courses, it's time to close the loop on key pieces of the game to create a fun and engaging gaming experience! In this course, Swords and Shovels: Closing the Loop, you will gain the ability to use the systems you’ve learned in the earlier courses, and a few new ones. First, you will learn how to spawn mobs in waves of increasing difficulty. Next, you will discover how to level up your hero, and add feedback with sound and graphical exciters. Finally, you will explore how to make use of the inventory system with drops and pickup, and close the game loop. When you’re finished with this course, you will have new approaches and techniques you can use in all of your game development adventures.

Table of contents
  1. Course Overview
  2. Introduction
  3. Enemies
  4. Hero Progression
  5. Player Feedback
  6. Drops and Pickups
  7. Wrapping Up

Saving Persistent Player Data in Unity

by Michael Baker

Oct 1, 2018 / 37m

37m

Start Course
Description

Have you ever needed game data to persist between play sessions? If so, Saving Persistent Player Data in Unity is the perfect course for you, because you will create a data serialization system for a simple Action RPG game. First, you will learn about serialization systems in Unity. Next, you will work with the JsonUtility and PlayerPrefs to save and load data. Finally, you will add a persistent leveling system to a player character. When you are finished with this game development course, you will not only understand how serialization works in Unity but also how to create your own persistent character data systems. Software required: Unity 2018.2

Table of contents
  1. Course Overview
  2. Overview and Serialization Concepts
  3. Working with JsonUtility and PlayerPrefs
  4. Creating a Persistent Player Data System

C# Scripting in Unity: Script Optimization

by Marc Gilbert

Dec 16, 2019 / 50m

50m

Start Course
Description

No matter how good your game looks, or how great the mechanics, performance is critical to its success. In this course, C# Scripting in Unity: Script Optimization, you’ll learn concepts and techniques that will help you avoid annoying slowdowns and hiccups that detract from your game and cost you players. First, you’ll get a brief look under the hood at those things that can impact performance: what they are, how they work, and the cost. Next, you’ll learn some easy to overlook techniques that will greatly improve your game’s performance. Finally, you’ll explore object pooling and how implementing it into your design can make the difference between success and failure. When you’ve finished this course, you’ll have the knowledge and skills required to avoid scripting bottlenecks and deliver games that are both fun and performant.

Table of contents
  1. Course Overview
  2. Optimizing Scripts
  3. Object Pooling
Offer Code *
Email * First name * Last name *
Company
Title
Phone
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit