
Preview the two-part course: first build a local 3D battle royale with movement, bots, attacks, health, and a safe zone; then add multiplayer networking via Unity's ML API.
Founded in 2012 by John Bura, mammoth interactive builds an online school with in-demand tech skills, selling 800,000 course copies and featured at Harvard and CNN.
Learn online effectively by leveraging active industry teachers, affordable, flexible, project-based courses that build a portfolio, with practical tips like finishing projects and using Google to solve problems.
Explore the fundamentals of C# as an object-oriented language and learn core concepts like types, operators, classes, statements, and loops, with examples from a Unity-inspired 2D game.
Navigate Rex Tester, edit code in the main editor, run hello world, and save programs with titles, privacy settings, and version history.
Explore primitive types, variables and constants, including ints, floats, doubles, characters, booleans, and unsigned variants, with scope, overflowing behavior, and basic if statements.
Explore type conversion in c# by examining implicit conversions, explicit casting, and conversions between non-compatible types. See how ascii table mappings and Convert help turn strings into numbers.
Explore core operators in C# for Unity development, including assignment, equality, comparisons, arithmetic, modulo, pre/post increment, logical operators, and the ternary operator, with comments and practical examples.
Learn how classes define object types in C#, using public, private, and static members, with default and parameterized constructors to create monsters, and track counts while printing details.
Learn inheritance and abstract classes by building a character base with speed, health, and name, and a swordsmen subclass that overrides print and uses a virtual function.
Compare structures with classes by examining public and private members. Learn how value types differ from reference types, and use constructors and the dot operator to instantiate and print fields.
Explore arrays and strings by declaring and initializing arrays, accessing elements via indexing, and understanding bounds. Strings are character arrays that cannot be modified directly; use string builders for edits.
Learn to implement enumerators and direction enums to make game logic clear, using left, up, right, and down directions, and improve code readability in a Unity beginner project.
Learn to use if statements to execute code based on conditions, branch with else and else if, and replace complex chains with switch cases and default for cleaner code.
This lecture covers for loops and while loops, showing counting from zero to nine, conditional printing with if statements, and stopping loops to avoid infinite execution.
See how the random class generates numbers and master control flow with if, switch, and loops, using ranges like -100 to 100 and 0 to 55.
Explore types of arrays in Unity: single, multi-dimensional, and jagged arrays, with declaration, initialization, indexing, bounds, and basic operations demonstrated.
Explore lists in Unity: create dynamic lists, add items with add and add range, access by index, remove items with remove or remove at, and merge lists while tracking size.
Preview a local battle royale in Unity: implement player look, movement, first-person controls, bot enemies with health and attack, and a shrinking safe zone, then add networking for multiplayer.
Debug effectively by reading the Unity console, locating bugs in C# scripts, and fixing issues such as missing semicolons. Use Stack Overflow, Unity forums, and Discord for solutions.
Set up a Unity 3D project in Unity Hub, create a ground plane, create a dirt brown material, color it, and attach it to the plane.
Create a player as a reusable prefab, tag it for code access, remove the collider, add a character controller, and set up keyboard movement for the next lecture.
Move the player in Unity using keyboard input by implementing a player movement script that uses a character controller and the simple move function.
Attach a first-person camera to the player, position a weapon cube as the camera child, and test the view to enable true first-person gameplay in Unity.
Enable the player to look left and right with the mouse X input, applying a sensitivity and rotating camera in the movement script to align movement with the look direction.
Enable vertical look by adding a pitch field, using mouse Y input with 3.0 sensitivity, clamping to -45 to 45, and applying rotation to the camera transform.
learn to build a Unity game controller to generate enemies by instantiating prefabs at x and z on the plane, with y zero, using a coroutine to spawn ten enemies.
Generate ten enemies from an enemy prefab at random positions between -25 and 25 on the x and z axes, with y 0.4; test by running the scene.
Create a Unity player attack script that fires a bullet particle system from user input, including the mouse or space bar, and controls timing with a timer and firing rate.
Set up and manage player and enemy health in a Unity battle royale prototype by adding a player health script, configuring colliders, and reducing health when bullets hit.
Implement health-based death: destroy enemy bots when health falls below one and reload the current scene for the player using tag checks and Unity scene management.
Attach an enemy attacking script to the enemy prefab. Use a bullet particle system and recast checks to attack players within range, reducing health on hit.
Build a Unity bot with random movement by adding an enemy movement script to prefabs, using a character controller, and random heading changes via a coroutine for forward motion.
Shrink the plane over time to create a battle royale style safe zone, using a safe zone script that scales the ground and enforces a minimum ground length.
Learn to remove players and enemies who fall off the plane by checking the y position and destroying bots. Reload the current scene for players and prepare for multiplayer networking.
Unity is an incredible 3D package used for making video games, architectural and medical imaging and more. The challenge is that it's big and complicated to use, especially for complete beginners to coding and game development. We make learning to code easy and fun by leading you step-by-step through the process of creating exciting games.
If you're reading this you probably already have everything you need to get started. Unity is a free download. With regular access to an internet connection you'll be able to engage in our thriving community. Even if you have no experience with coding, or with 3D packages, we will guide you through everything from first principles. Starting slow, then building on what you learn, you'll soon have a very solid working knowledge of Unity.
The course is project-based, so you will not just be learning dry programming concepts, but applying them immediately to real indie games as you go. All the project files will be included, as well as additional references and resources - you'll never get stuck. There are "talking heads", powerful diagrams, quality screencasts and more.
Anyone who wants to learn to create games: Unity 3D is a fantastic platform which enables you to make production-quality games. Furthermore these games can be created for Windows, MacOS, iOS (even iOS 9), Android and Web from a single source!
Dive in now, you won't be disappointed!
Part 1 - Build a Local Battle Royale
Build a Player That Can Look and Move Around
Generate Enemies
Build an Attack
Reduce Player Health
Build Bots That Move and Attack
Implement Safe Zone
Part 2 - Add Networking for Multiplayer Battle Royale
Set Up Networking
Build Networked Player Functionality
Build Networked Health
Build a Game Controller
How to Fine-Tune the Game
What You’ll Need
Unity
Build 2D, 3D and VR games and apps
Large asset store
Large documentation and support
Code editor
Git
MLAPI
Experience
No experience required
Beneficial to have:
Unity experience
C# experience
Server-client communication experience