Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA CompTIA Security+ Amazon AWS Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Game Development Unity

Learn Unity's Entity Component System to Optimise Your Games

Update your Unity programming skills to take advantage of the new Data Orientated Technology Stack and Burst Compiler
Rating: 4.7 out of 54.7 (381 ratings)
3,418 students
Created by Penny de Byl, Penny @Holistic3D.com
Last updated 4/2020
English
English
30-Day Money-Back Guarantee

What you'll learn

  • Take existing Unity projects created without the use of DOTs and convert them to employ parallel processing and the entity component system.
  • The advantages and disadvantages of using DOTs.

Course content

10 sections • 75 lectures • 13h 10m total length

  • Preview03:08
  • What Version of Unity Should I Use?
    07:09
  • What Version of Unity Should I Use 2.0.
    00:13
  • Information Relevant to this Course
    00:16
  • Preview01:26
  • FAQs
    00:31

  • Preview10:13
  • Comparing the Old & the New Part 1
    17:26
  • Comparing the Old & the New Part 2
    10:56
  • Comparing the Old & the New Part 3
    13:13
  • Comparing the Old & the New Part 4
    13:38
  • Comparing the Old & the New Part 5
    11:04
  • Your First ECS Challenge
    05:23
  • Parallel Computing
    08:40
  • Structures, Classes and Blittable Types
    08:01

  • Creating and Debugging Entities
    13:17
  • Preview11:58
  • Preview03:25
  • Performing Entity Queries
    16:10
  • Entity Query Interface Challenge
    10:02
  • Adding an Entity from Monobehaviour at Runtime
    12:55
  • Constructing an Entity from Scratch
    17:30
  • Constructing Sheep Entities from a Mesh Challenge
    13:59

  • Performing Translations
    13:24
  • Performing Rotations
    12:54
  • Performing a Slerp to Face a Target
    04:34
  • Rotating Around a Pivot Point
    11:40
  • Pivoting Challenge
    10:25

  • Getting Player Transformations into Entities
    08:09
  • Adding and Setting Data Values in a Custom Components
    09:10
  • Updating Custom Component Values
    14:40
  • Waypoint Follow Challenge
    08:49

  • Finding Closest Planet
    08:02
  • Attacking and Retreat Movement
    08:23
  • Spawning an Entity from an Entity Part 1
    11:08
  • Spawning an Entity from an Entity Part 2
    09:38
  • Spawning Entities from Another Location Part 1
    09:35
  • Spawning Entities from Another Location Part 2
    14:21
  • Restricting the Lifetime of an Entity
    16:40
  • Restricting the Lifetime of an Entity Update
    00:09
  • Implementing Line of Sight in an Entity
    07:56
  • Faking Collisions
    09:34
  • Instantiating Explosions
    13:31
  • A System for Scaling Particles
    08:20

  • Creating a Landscape with Cubes
    11:28
  • Using Perlin Noise for Height
    13:53
  • Enhanced Perlin Heights
    11:36
  • Changing Materials on an Entity
    14:59
  • Identifying Bottlenecks and Solutions to FPS Drop
    10:29
  • Scrolling the Landscape with the Player
    12:15

  • The Physics Components
    07:29
  • An ECS Physics-Based Character Controller
    16:21
  • Spawning Multiple Physics Entities
    05:48
  • Shooting Physics Bullets Challenge
    14:57
  • Moving a Bullet with Physics
    18:54
  • Upgrading a Package
    19:49
  • Detecting Collisions
    16:37
  • Using Custom Values in a Collision Event
    10:18
  • Destroying an Entity on Collision
    09:26
  • Entity Tracking with the Camera
    10:53
  • Detecting Physics Triggers
    18:35
  • Converting to a Dynamic Character
    06:47
  • Using Custom Values in a Trigger Event
    04:33

  • Starting with a Tower Defence Setup
    19:56
  • Preview14:41
  • Performing a Raycast Hit Part 2
    16:55
  • Destroying an Entity Hit by a Raycast
    08:28
  • Performing Raycast Distance Hits P1
    12:32
  • Performing Raycast Distance Hits P2
    08:25
  • Locating and Following The Closest Physics Entity
    10:26
  • Destroying Tracked Physics Entity
    05:48
  • Destroying Zombie Challenge P1
    10:41
  • Destroying Zombie Challenge P2
    11:56

  • Some Final Words from Penny
    02:23
  • Where to now?
    11:16

Requirements

  • Students should have a strong working understanding of the Unity game engine.
  • Students should be proficient in C#

Description

Unity's new Data-Oriented Technology Stack (DOTS) and Entity Component System (ECS) programming paradigm have been developed to optimize game development and open up new ways of accessing memory and parallel processing for developing high-performance C# code that takes advantage of contemporary multicore computers. Through the use of the Burst Compiler, your game programs become native code, able to run faster on multiple threads thus pushing the boundaries of the size of your virtual environments and the simultaneous processing of tens of thousands of game objects.

In this course, Penny demystifies Unity's new DOTS architecture and introduces intermediate Unity users to ECS by upgrading classic Unity projects and developing a multitude of examples of the use of DOTS concentrating on the most popular game mechanics. Using her internationally acclaimed teaching style and knowledge from over 25 years working with games, graphics and having written two award-winning books on games AI, Penny will take you from familiar object-oriented programming and upgrade your skill to the more memory efficient and optimized entity component architecture. Throughout, you will follow along with hands-on workshops designed to take you through every step of becoming familiar with ECS.  You will build on numerous scenarios that examine the basics of ECS programming through the new DOTS-specific math and physics libraries.

While DOTS is still in preview, this course aims to assist you in understanding how it works and how games are constructed with it.  The knowledge you obtain will further your ability to decipher future released Unity ECS tech demos and handle API updates.

This course requires Unity 2019.3.0f6. and the Hybrid Renderer Package 0.3.3.

Learn how to program and work with:

  • Entities and Components

  • The C# Job Systems

  • Collision Systems

  • Trigger Systems

  • User Input to Control Entities

  • Interfacing with classic Unity and game objects to entity-based systems.

Contents and Overview

The course begins with a section that compares the old way of working with game objects in Unity, through to the creation of a complete ECS system using the exact same scenario in each instance to give you time to compare the programming methods and optimizations gained through implementing DOTS.

Following this, you will dive deeper into the creation and debugging of entities while learning how to tag, identify and add data to them with custom components.  You will also learn how to find entities once they are injected into the game environment and to access and manipulate them at runtime.

After you've become comfortable with the nature of entities, you will discover how the new math library can be used to replicate many of the functions you've become familiar with in the Unity Mathf API.  The content will cover transformation, rotations, slerps, pivoting, following waypoints and pursuing and fleeing from targets.  A space-based scenario will be created with several planets and thousands of spacecraft programmed to attack, by generating even more thousands of bullets and finally explosions.

Next, you'll build a blocky Minecraft inspired landscape from cubes that can be infinitely generated in any direction by implementing Perlin Noise and examining how parallel processing (achieved through the C# Jobs system) dramatically speeds up processing that has in the past been limited to the main thread.

On completion of this exercise, a thorough examination of the new DOTS physics capabilities will take place.  All the classic Unity elements you've become used to will be replicated via the new physics API and ECS job systems.  You will learn about collisions, triggers, camera tracking, bullet physics and the basics of recreating Newtonian physics for moving dynamic and kinematic entities.

The course ends with a challenge and project to recreate a third person shooter in which a single player takes on a swarm of zombies.

At the completion of this course, you will be familiar with DOTS and the ECS and be able to further your skills by interpreting and making sense of the Unity tech demos as they are released, presenting updated API and introducing more and more functionality into DOTS.

What students are saying about Penny's courses:

  • Excellent course!! I am already in game development industry and there is one quote here that "Whenever you are not able to solve complex problem, its the right time to get back to the BASICS"

  • She is the best teacher ever in this platform

  • Most instructors are very smart people. Some are good at teaching and some are not. Penny is great at describing complex concepts without going down a dark cerebral rabbit hole that so many instructors feel obligated to do. It's like they need to demonstrate their knowledge by explaining every tiny aspect. Penny does not go there. She explains things clearly but does not overwhelm the student with more than they need to know.


Who this course is for:

  • Professionals and students who are comfortable using Unity but would like to upgrade their skills to implement the new Unity DOTS system.

Featured review

Marian Pekár
Marian Pekár
62 courses
42 reviews
Rating: 5.0 out of 5a year ago
An excellent and in-depth intro into an amazing world of Unity DOTS/ECS. I'd definitely recommend this course to anyone interested in this topic, it will open for you a whole new range of possibilities in game development with Unity. It's also fun to watch, very engaging and with many great challenges designed to solidify your freshly gained knowledge.

Instructors

Penny de Byl
International Award Winning Professor & Best Selling Author
Penny de Byl
  • 4.6 Instructor Rating
  • 16,680 Reviews
  • 106,722 Students
  • 22 Courses

Hi, I'm Dr Penny de Byl.  I'm a full stack developer of most things computer sciency and academic with a true passion for teaching.  I've been teaching others about games development, programming, computer graphics, animation and web design for over 25 years in universities in Australia and Europe at the full professor level. I've also consulted for Unity, SAE, the Australian Institute of Entertainment and Wikitude. My best selling textbooks including Holistic Game Development with Unity are used in over 100 institutions world-wide.  My graduates work at companies like Apple, Ubisoft, LinkedIn and Deloitte Digital.

I have an honours degree in computer graphics and a Ph.D. in artificial intelligence for games characters.  Over the course of my career I've won numerous awards for teaching excellence at the state, national and international levels including the Australian Learning and Teaching Council's Excellence in Teaching Award and the Unity Mobile Game Curriculum Competition. My approach to teaching computer science and related fields is project-based giving you hands-on workshops you can immediately get your teeth into.

I want you to leave my virtual classroom fully armed with a toolkit of skills for life-long learning.  I'm excited to now be focussing my efforts full-time on Udemy to bring my years of knowledge and experience to those eager to learn about technology.


Penny @Holistic3D.com
Academic, Author & Game Development Enthusiast
Penny @Holistic3D.com
  • 4.6 Instructor Rating
  • 16,664 Reviews
  • 106,722 Students
  • 22 Courses

Hi, I'm Dr Penny de Byl.  I'm a full stack developer of most things computer sciency and academic with a true passion for teaching.  I've been teaching others about games development, programming, computer graphics, animation and web design for over 25 years in universities in Australia and Europe at the full professor level. I've also consulted for Unity and SAE. My best selling textbooks including Holistic Game Development with Unity are used in over 100 institutions world-wide.  My graduates work at companies like Apple, Ubisoft, LinkedIn and Deloitte Digital.

I have an honours degree in computer graphics and a Ph.D. in artificial intelligence for games characters.  Over the course of my career I've won numerous awards for teaching excellence at the state, national and international levels including the Australian Learning and Teaching Council's Excellence in Teaching Award and the Unity Mobile Game Curriculum Competition. My approach to teaching computer science and related fields is project-based giving you hands-on workshops you can immediately get your teeth into.

I want you to leave my virtual classroom fully armed with a toolkit of skills for life-long learning.  I'm excited to now be focussing my efforts full-time on Udemy to bring my years of knowledge and experience to those eager to learn about technology.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.