Game Development Patterns with Unity 2019

Video description

Utilize common patterns to solve common problems to write clean and modular code quickly and efficiently

About This Video

  • Learn how to design your game for better performance and faster development iteration times, using common patterns that reduce errors and produce well-organized, maintainable code and assets
  • Deploy a cross-platform game by dividing work effectively, taking advantage of Unity's performance features and built-in frameworks such as AI, for a more complex game with less work.
  • Get a clear explanation of Unity 2019's more sophisticated features such as Unity Jobs, Unity Events, editor scripting, NavMesh, coroutines, saving and loading, multi-scene editing, and collaborative edit workflows

In Detail

Unity is the world's leading cross-platform game engine. It has helped create about half of the world's games. This course will help you learn the game development patterns and best practices in Unity 2019. This course will guide you through Unity's modern features, showing you how to divide work to get your game made faster, built faster, and modularize behaviours so you can spend less time coding and more time creating. You'll understand some of its more powerful features to raise your game's performance, and code reusability while lowering your development iteration times. By using these techniques, your scripts become more versatile, modular, reusable, efficient, and user-friendly so that they can be used to easily build a virtual world from generalized components. This modular approach also allows a game to be assembled by multiple people in parallel with minimal downtime spent waiting for other parts to be complete. By the end of the course, you'll be proficient in using the common patterns that will help you write clean and modular code quickly and efficiently and have a working framework to manage your game's runtime, ready for your assets.

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Partitioning Your Workflow for Teams
    1. The Course Overview 00:03:55
    2. Setting Up Git SCM 00:04:48
    3. Commits, File Mergeability, and Avoiding Merge Conflict or Mistakes 00:09:39
    4. Commits, File Mergeability, and Avoiding Merge Conflict or Mistakes - Demo 00:07:00
    5. Nested Prefabs, Prefab Variants, and Working with Team Members 00:06:47
    6. Nested Prefabs, Prefab Variants, and Working with Team Members - Demo 00:02:11
    7. Subdividing and Merging Scenes and Sandbox Scenes 00:04:25
    8. Subdividing and Merging Scenes and Sandbox Scenes - Demo 00:03:24
    9. Asset Importing, Asset Cache, and Inplace versus External Asset Importing 00:03:47
  2. Chapter 2 : Timing and Scheduling in Unity3D
    1. FixedUpdate versus Update, Time Scale, and Time.time and Physics 00:07:59
    2. Monobehaviour.Invoke() and the Truth about Timers 00:03:02
    3. What Is a Coroutine and How Do I Schedule One? 00:04:23
    4. What Is a Coroutine and How Do I Schedule One? - Demo 00:02:13
    5. Coroutine Lifespan and Differences from Other Event Functions 00:04:43
    6. Parallel versus Asynchronous; Threads and Thread Safety in Unity 00:04:55
  3. Chapter 3 : The Unity Jobs System
    1. Unused Capacity Is Wasted Capacity, Resource Bound Operations, and Busy Waiting 00:04:49
    2. Defining a Unity Job, Packing Arguments, and Unpacking Results 00:04:27
    3. Scheduling a Unity Job and Choosing an Allocator 00:04:36
    4. Job Dependencies and Cleanup 00:05:18
    5. A Preview of the Entity Component System 00:09:12
  4. Chapter 4 : Modeling NPC and Player Behavior with State Machines
    1. What Is a State Machine, What Qualifies as a State, and How Can States Overlap? 00:05:02
    2. A Visual Example: State Machines in Mecanim 00:03:57
    3. Tracking a Player Character's State 00:06:48
    4. Tracking a Player Character's State - Demo 00:02:21
    5. Driving an AI Agent with State 00:06:19
  5. Chapter 5 : Saving the Game and Communicating with Objects
    1. Commands with References, SendMessage, and UnityEvents 00:06:45
    2. Publish-Subscribe, Singletons, and Facades 00:04:42
    3. Scriptable Objects and Their Uses 00:04:16
    4. Building a Simple Game Save Mechanism 00:06:31
    5. Restoring a Scene and its Objects from a Save 00:07:33
  6. Chapter 6 : Decoupling for Cross-Platform Behavior
    1. Unity GUI Components and Layout 00:04:46
    2. Unity GUI Components and Layout - Demo 00:06:46
    3. Unity Events in the GUI 00:06:28
    4. Editor Tooling and Inspector Attributes 00:09:15
    5. Conditional Compilation and Execution 00:04:26
    6. Separating Input for Touch Screens, Keyboards, and Gamepads 00:05:00
  7. Chapter 7 : Applying What You Learned
    1. Prototyping and Blocking out a Scene 00:07:04
    2. Main Menu, Save, and Restore 00:05:14
    3. Loading the Player Controls and Camera 00:07:36
    4. Post Processing: Lightmaps, Reflection Probes, and Occlusion 00:04:36
    5. Closing Notes 00:02:32

Product information

  • Title: Game Development Patterns with Unity 2019
  • Author(s): Robert Wiebe, Abram Wiebe
  • Release date: August 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781838550608