Game Development Patterns with Unity 2019: Learn frequently used patterns for the best practices in Unity 2019

Game Development Patterns with Unity 2019: Learn frequently used patterns for the best practices in Unity 2019

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 3h 16m | 820 MB

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

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.

Learn

  • Use the singleton pattern effectively to keep your runtime organized
  • Build modularly to speed up development and improve code reuse
  • Create designer-friendly components with the Unity Events system and scriptable objects
  • Design your game with the Model-View-Controller pattern, and reduce the code needed to adapt to different input systems
  • Find out about state machines and their importance in keeping your code easy to follow and extensible
  • Build new gameplay elements from existing templates and use placeholders while you have production assets and code with the new nested prefab system
  • Design a system to save and load your game hassle free by using manager objects and editor scripting
  • Explore message passing and events to generalize behaviors, giving more flexibility to your designer with UnityEvents
  • Understand how Unity schedules things, so your game runs faster, smoother, and consumes less power on portable devices
Table of Contents

Partitioning Your Workflow for Teams
1 The Course Overview
2 Setup Git SCM
3 Commits, File Mergeability, Avoiding Merge Conflicts, and Backing out of Mistakes
4 Nested Prefabs, Prefab Variants, and Working with Team Members
5 Subdividing and Merging Scenes and Sandbox Scenes
6 Asset Importing, Asset Cache, and Inplace versus External Asset Importing

Timing and Scheduling in Unity3D
7 FixedUpdate versus Update, Time Scale, and Time.time and Physics
8 Monobehaviour.Invoke() and the Truth about Timers
9 What Is a Coroutine and How Do I Schedule One
10 Coroutine Lifespan and Differences from Other Event Functions
11 Parallel versus Asynchronous Threads and Thread Safety in Unity

The Unity Jobs System
12 Unused Capacity Is Wasted Capacity, Resource Bound Operations, and Busy Waiting
13 Defining a Unity Job, Packing Arguments, and Unpacking Results
14 Scheduling a Unity Job and Choosing an Allocator
15 Job Dependencies and Cleanup
16 A Preview of the Entity Component System

Modeling NPC and Player Behavior with State Machines
17 What Is a State Machine, What Qualifies as a State, and How Can States Overlap
18 A Visual Example – State Machines in Mecanim
19 Tracking a Player Character’s State
20 Driving an AI Agent with State

Saving the Game and Communicating with Objects
21 Commands with References, SendMessage, and UnityEvents
22 Publish-Subscribe, Singletons, and Facades
23 Scriptable Objects and Their Uses
24 Building a Simple Game Save Mechanism
25 Restoring a Scene from Save and Its Objects from a Save

Decoupling for Cross Platform Behavior
26 Unity GUI Components and Layout
27 Unity Events in the GUI
28 Editor Tooling and Inspector Attributes
29 Conditional Compilation and Execution
30 Separating Input for Touch Screens, Keyboards, and Gamepads

Applying What You Learned
31 Prototyping and Blocking out a Scene
32 Main Menu, Save, and Restore
33 Loading Player Controls and Camera
34 Post Processing – Lightmaps, Reflection Probes, and Occlusion
35 Closing Notes