O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Unity Expert Gameplay Programmer Certification Courseware

Video Description

Duration: 8 Hours of video instruction

Overview

This series of courses help prepare you to take the Expert Gameplay Programmer Certification exam, and covers six topics areas distributed over five lessons. These topics include Rapid Gameplay Prototyping and Unity Services Implementation; NPC Design programming and User Interface Implementation; Level Design Programming and Performance Optimization. The format of these courses are project and activity based and participants will need to feel comfortable individually programming a game in Unity. Participants will be challenged with a series of realistic programming problems in Unity video-game projects, the kind true gameplay programming experts face every day. Each challenge is inspired by one or more of the topics covered in the exam.

Description

This course is exam preparation for Unity’s Expert Gameplay Programmer Certification Exam. This course will challenge you with a series of realistic programming problems in Unity video-game projects, inspired by one or more of the topics covered in the Expert Gameplay Programmer Exam. Throughout this course, you will work on a 2D “infinite platformer” game project and 3D “Dual-Stick Survivor” game project. This will help you practice prototyping core gameplay mechanics, including scripting GameObjects and their components, coordinating UI systems, and implementing UI scripting. This will also include configuring GameObject physics, spawning Prefabs, designing level logic and behavior, scripting animation systems and events, and working with in-game cinematics.

Throughout this course, you will learn Unity Services Implementation techniques, including: streamlining your project management with Unity Cloud Build, monetization with Unity Ads and in-app purchases, and Unity Analytics. By the end of this course, you will implement in-app purchases for a 3D "Dual-Stick Survivor" game project.

About the Instructor

Unity Technologies is the creator of the worlds most widely used real-time 3D (RT3D) development platform, giving developers around the world the tools to create rich, interactive 2D, 3D, VR and AR experiences. Our 1000 person engineering team keeps Unity at the bleeding-edge of technology by working alongside partners such as Facebook, Google, Microsoft, and Oculus to ensure optimized support for the latest releases and platforms. Experiences made with Unity reach nearly 3 billion devices worldwide, and were installed 24 billion times in the last 12 months. Unity is powering RT3D in architecture, automotive, construction, engineering, film, games, and more.

By successfully completing the projects in all four courses, participants will have had extensive, guided practice in the programming skills needed to pass the Unity Expert Gameplay Programmer exam.

Skill Level

  • Advanced

What You Will Learn

  • Interpret Game Design Document to determine basic game functionality
  • Build a prototype to illustrate basic game functionality
  • Identify conflicts and solutions during prototype stage to improve game play
  • Enable ads in the game to demonstrate knowledge of Unity Services
  • Demonstrate knowledge of NPC logic and behavior
  • Demonstrate knowledge of animation behavior systems
  • Develop a HUD to demonstrate knowledge of UI coordinate systems
  • Create an options menu to demonstrate knowledge of user interface scripting
  • Create a basic game world level to demonstrate knowledge of level design
  • Add characters to your level
  • Demonstrate knowledge of gameplay debugging
  • Demonstrate knowledge of platform optimization

Who Should Take This Course

Primary: Game Developers seeking extensive, guided practice in the programming skills needed to pass Gameplay Programmer Expert Certification

Course Requirements

Prerequisites: 2-3 years of experience developing games with Unity with advanced programming skills, particularly in the C# language

Table of Contents

Introduction

The Gameplay Programmer Specialization

The Expert Gameplay Programmer Exam

Course 1: Rapid Gameplay Programming

  1. Core Gameplay Prototyping
    1. Understanding What the GDD Wants
    2. Converting the GDD to Unity
    3. Let the User Move
    4. Refining User Control
    5. Getting the Basics Set Up for the Most Basic NPC
    6. Inheritance and Polymorphism
    7. A Zoo for NPCs
  2. User Interface Coordinate Systems
    1. Overlay, Camera, and the World
  3. UI Coordinate Systems
    1. What does the GDD Require?
    2. Static Aspect Ratios
    3. Dynamic Aspects Ratios
    4. Configuring What Can be Hit
    5. Masking the Graphic Raycaster
  4. UI Scripting
    1. What’s important to the User
    2. Any Feedback is Better Than None
    3. Testing Through the UI
    4. Adding a Mini-Map
    5. Adding a Radar: Part 1
    6. Adding a Radar: Part 2
    7. The UI Profiler and Frame Debugger
    8. UI Optimizations
    9. Identifying Localization Needs: Part 1
    10. Identifying Localization Needs: Part 2
    11. Localization Implementation
  5. Conflict and Solutions During Prototype
    1. Defining Failure and Success
    2. Making the Computer Provide Useful Feedback
    3. On Paper

Course 2: Programming for Level Design

  1. Introduction
  2. Configuring Physics
    1. Collider Types and Configuration
    2. Choosing the Best Collider for the Job
    3. RigidBodies and Colliders
    4. Rigidbody Performance
    5. Kinematic Rigidbodies
    6. OnTrigger Configurations
    7. OnCollision Configurations
    8. Physics Mask Groupings
    9. Physic Material Properties
  3. Spawning Runtime Prefabs and Effects
    1. When and Why to Spawn Objects
    2. When and Why Not to Spawn Objects
    3. Spawn Rates and Performance Impact
    4. Reliable Particle Effect Placement
    5. Dynamic Particle Effect Spawning
    6. Evaluating Effects for Spawning and Placement
    7. Dynamically Altering Wind Zones
    8. Line Renderers
    9. Trail Renderer
  4. Level Logic and Behaviour
    1. Triggered Interactions
    2. Bringing Gameplay Together
    3. Our Mighty Gameplay Overlord of Scene Management
    4. Orchestrating Chaos
  5. Loading and Unloading Scenes
    1. Loading Scenes
    2. Unloading Scenes
    3. Steaming Limits
  6. Cinematics
    1. In-Engine Cinematic Parameters- Part 1
    2. In-Engine Cinematic Parameters- Part 2
    3. Cinematic Post Effects
    4. When, Why, and at What Cost?

Course 3: NPC Design Programming

  1. Course Introduction
  2. NPC Logic and Behavior
    1. Animation State Machines
    2. Driving States Via Scripts
    3. Animation Events
    4. Adding State Machine Behaviors
    5. Mapping NPC Logic
    6. Scripting Logic into an NPC
    7. Mapping Mob Mentality
  3. Navigation and Pathfinding
    1. NavMesh Methodology
    2. Baking a Quality NavMesh
    3. NavMesh Area Costs
    4. Area Triggers
    5. Off Mesh Links
    6. Obstacle Avoidance Quality and Priority
  4. Raycasting
    1. Raycast Behavior
    2. Debugging Raycast Masks
    3. Optimizing Raycasts via Layers
  5. NPC Spawning and Placement
    1. Determining NPCs for Placement at Scene Load
    2. Where to Dynamically place NPCs
    3. Determining NPC Spawn Rates
    4. Optimizing Spawn Rates per Platform

Course 4 Performance Optimization

  1. Introduction
  2. Rendering Optimization
    1. Occlusion Culling
    2. Optimizing Performance via Occlusion Culling
    3. LOD Methodology
    4. Evaluating LOD Distances
    5. Analyzing Fill Rates
    6. Rendering-Best Practices
    7. Minimizing Frame Drops
  3. Asset Bundles
    1. Asset Bundle Strategies
    2. Determining Optimal Configurations
    3. Identifying Issues
    4. Providing Asset Bundle Solutions
    5. Using Asset Bundles
  4. Gameplay Debugging
    1. General Debugging Strategies
    2. General Debugging Techniques
    3. Isolating Level Issues
    4. NPC Debugging
    5. Isolating Scene Loading and Transition Issues
    6. Finding the Best Solution
    7. Low-Hanging Fruit
    8. Game Killers
  5. Platform Constraints
    1. Platform Input/Controller Schemas
    2. Platform System Resources
    3. Optimizing Runtime Performance per Platform
    4. Optimizing Storage per Platform
    5. Platform Constraints
  6. Platform Optimization
    1. Using the Profiler
    2. Managing your Short-term Memory
    3. Long-term Memory Use
    4. Hidden CPU Taxes
    5. Assessing Capabilities per Platform
    6. Targeting Build Targets

Course 5: Unity Services Implementation

  1. Introduction
  2. Unity’s Ads
    1. Simple Ad Placement
    2. Simple Ads and the Player Experience
    3. Supplementing Scene Loading with Ads
    4. Rewarded Ad Placement
    5. Rewarded Ads and Player Experience
    6. Enhancing the Player Experience with Rewarded Ads
  3. In App Purchases
    1. Enabling an In App Purchases Store
    2. Processing In App Purchases
    3. Post Purchase
    4. UI Elements for In App Purchases
    5. Implementing an In App Purchase
  4. Unity Analytics
    1. Unity Analytics
    2. Translating GDD Level Design to Data Collection Points
    3. Custom Data Events for Player Behavior
    4. Heatmap Data
    5. Identifying User Pain Points from Heatmap Data
    6. Using the Dashboard for Evaluating Analytics
    7. Evaluating Analytics Raw Data
    8. Performance Reporting
    9. Analyzing Performance Reports
  5. Unity Cloud Build
    1. Setting up Cloud Build
    2. Test Build Logs
    3. Assessing your Target Build Platforms

About Pearson Video Training

Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.

Table of Contents

  1. Unity Expert Gameplay Programmer Certification Courseware
    1. The Gameplay Programmer Specialization 00:03:36
    2. The Expert Gameplay Programmer Exam 00:02:20
  2. Course 1: Rapid Gameplay Programming
    1. Introduction 00:01:14
  3. Core Gameplay Prototyping
    1. Understanding What the GDD Wants 00:03:34
    2. Converting the GDD to Unity 00:02:39
    3. Let the User Move 00:03:17
    4. Refining User Control 00:07:56
    5. Getting the Basics Set Up for the Most Basic NPC 00:07:43
    6. Inheritance and Polymorphism 00:05:48
    7. A Zoo for NPCs 00:04:00
  4. User Interface Coordinate Systems
    1. Overlay, Camera, and World 00:02:49
  5. UI Coordinate Systems
    1. What does the GDD Require? 00:02:14
    2. Static Aspect Ratios 00:00:55
    3. Dynamic Aspects Ratios 00:02:50
    4. Configuring What Can be Hit 00:02:03
    5. Masking the Graphic Raycaster 00:03:39
  6. UI Scripting
    1. What’s important to the User 00:01:33
    2. Any Feedback is Better Than None 00:12:23
    3. Testing Through the UI 00:07:35
    4. Adding a Mini-Map 00:06:51
    5. Adding a Radar: Part 1 00:03:41
    6. Adding a Radar: Part 2 00:08:17
    7. The UI Profiler and Frame Debugger 00:04:37
    8. UI Optimizations 00:01:57
    9. Identifying Localization Needs: Part 1 00:04:09
    10. Identifying Localization Needs: Part 2 00:01:38
    11. Localization Implementation 00:05:35
  7. Conflict and Solutions During Prototype
    1. Defining Failure and Success 00:08:05
    2. Making the Computer Provide Useful Feedback 00:05:21
    3. On Paper 00:02:39
  8. Course 2: Programming for Level Design
    1. Introduction 00:01:10
  9. Configuring Physics
    1. Collider Types and Configuration 00:02:51
    2. Choosing the Best Collider for the Job 00:04:38
    3. RigidBodies and Colliders 00:04:52
    4. Rigidbody Performance 00:04:57
    5. Kinematic Rigidbodies 00:02:25
    6. OnTrigger Configurations 00:02:11
    7. OnCollision Configurations 00:03:58
    8. Physics Mask Groupings 00:02:55
    9. Physic Material Properties 00:02:11
  10. Spawning Runtime Prefabs and Effects
    1. When and Why to Spawn Objects 00:01:29
    2. When and Why Not to Spawn Objects 00:03:57
    3. Spawn Rates and Performance Impact 00:02:26
    4. Reliable Particle Effect Placement 00:03:01
    5. Dynamic Particle Effect Spawning 00:03:18
    6. Evaluating Effects for Spawning and Placement 00:03:03
    7. Dynamically Altering Wind Zones 00:03:06
    8. Line Renderers 00:02:16
    9. Trail Renderer 00:01:49
  11. Level Logic and Behaviour
    1. Triggered Interactions 00:02:03
    2. Bringing Gameplay Together 00:05:39
    3. Our Mighty Gameplay Overlord of Scene Management 00:02:27
    4. Orchestrating Chaos 00:03:56
  12. Loading and Unloading Scenes
    1. Loading Scenes 00:01:50
    2. Unloading Scenes 00:05:52
    3. Streaming Limits 00:01:44
  13. Cinematics
    1. In-Engine Cinematic Parameters- Part 1 00:02:53
    2. In-Engine Cinematic Parameters- Part 2 00:02:39
    3. Cinematic Post Effects 00:03:43
    4. When, Why, and at What Cost? 00:01:52
  14. Course 3: NPC Design Programming
    1. Course Introduction 00:01:22
  15. NPC Logic and Behavior
    1. Animation State Machines 00:02:39
    2. Driving States Via Scripts 00:04:19
    3. Animation Events 00:03:55
    4. Adding State Machine Behaviors 00:02:59
    5. Mapping NPC Logic 00:04:27
    6. Scripting Logic into an NPC 00:03:17
    7. Mapping Mob Mentality 00:06:02
  16. Navigation and Pathfinding
    1. NavMesh Methodology 00:03:55
    2. Baking a Quality NavMesh 00:01:32
    3. NavMesh Area Costs 00:04:16
    4. Area Triggers 00:01:05
    5. Off Mesh Links 00:03:14
    6. Obstacle Avoidance Quality and Priority 00:03:24
  17. Raycasting
    1. Raycast Behavior 00:02:11
    2. Debugging Raycast Masks 00:03:24
    3. Optimizing Raycasts via Layers 00:02:48
  18. NPC Spawning and Placement
    1. Determining NPCs for Placement at Scene Load 00:01:41
    2. Where to Dynamically place NPCs 00:03:49
    3. Determining NPC Spawn Rates 00:04:30
    4. Optimizing Spawn Rates per Platform 00:04:26
  19. Course 4 Performance Optimization
    1. Introduction 00:01:09
  20. Rendering Optimization
    1. Occlusion Culling 00:06:21
    2. Optimizing Performance via Occlusion Culling 00:02:44
    3. LOD Methodology 00:08:03
    4. Evaluating LOD Distances 00:04:17
    5. Analyzing Fill Rates 00:02:12
    6. Rendering - Best Practices 00:03:32
    7. Minimizing Frame Drops 00:02:46
  21. Asset Bundles
    1. Asset Bundle Strategies 00:04:02
    2. Determining Optimal Configurations 00:05:23
    3. Identifying Issues 00:03:18
    4. Providing Asset Bundle Solutions 00:03:41
    5. Using Asset Bundles 00:03:44
  22. Gameplay Debugging
    1. General Debugging Strategies 00:03:44
    2. General Debugging Techniques 00:05:22
    3. Isolating Level Issues 00:01:54
    4. NPC Debugging 00:02:44
    5. Isolating Scene Loading and Transition Issues 00:02:00
    6. Finding the Best Solution 00:05:39
    7. Low-Hanging Fruit 00:04:16
    8. Game Killers 00:02:16
  23. Platform Constraints
    1. Platform Input/Controller Schemas 00:03:18
    2. Platform System Resources 00:01:51
    3. Optimizing Runtime Performance per Platform 00:02:23
    4. Optimizing Storage per Platform 00:02:49
  24. Platform Optimization
    1. Using the Profiler 00:05:24
    2. Managing your Short-term Memory 00:03:04
    3. Long-term Memory Use 00:02:40
    4. Hidden CPU Taxes 00:03:51
    5. Assessing Capabilities per Platform 00:02:56
    6. Targeting Build Targets 00:02:26
  25. Course 5: Unity Services Implementation
    1. Introduction 00:01:53
  26. Unity’s Ads
    1. Simple Ad Placement 00:02:21
    2. Simple Ads and the Player Experience 00:02:03
    3. Supplementing Scene Loading with Ads 00:01:56
    4. Rewarded Ad Placement 00:02:06
    5. Rewarded Ads and Player Experience 00:03:05
    6. Enhancing the Player Experience with Rewarded Ads 00:03:34
  27. In App Purchases
    1. Enabling an In App Purchases Store 00:03:34
    2. Processing In App Purchases 00:05:42
    3. Post Purchase 00:02:34
    4. UI Elements for In App Purchases 00:03:00
    5. Implementing an In App Purchase 00:03:11
  28. Unity Analytics
    1. Unity Analytics 00:01:36
    2. Translating GDD Level Design to Data Collection Points 00:02:07
    3. Custom Data Events for Player Behavior 00:04:48
    4. Heatmap Data 00:02:30
    5. Identifying User Pain Points from Heatmap Data 00:04:21
    6. Using the Dashboard for Evaluating Analytics 00:04:14
    7. Evaluating Analytics Raw Data 00:02:29
    8. Performance Reporting 00:01:44
    9. Analyzing Performance Reports 00:02:44
  29. Unity Cloud Build
    1. Setting up Cloud Build 00:02:23
    2. Test Build Logs 00:03:14
    3. Assessing your Target Build Platforms 00:02:33