
Learn to build a galaga-style 3d game in Unity, covering particle systems, UI elements, animations, scoring, and path-based enemy movement. Implement life loss, diving stages, ship trails, and menu input.
Visualize the path by looping through the path list, drawing lines from each previous point to the current position, and marking the current point with a gizmo sphere.
Create a quadratic Bezier curve tool to interpolate between three points in world space, using a time parameter t to generate a point along the curve.
Create a Bezier curve in Unity using a line density slider (1–20) and a public point list, then compute intermediate points with the get point function.
This lesson demonstrates visualizing a quadratic Bezier curve in Unity using gizmos, line density, and point visualization with blue spheres to build and update a dynamic curve.
Design a robust enemy behavior that follows a path by moving toward successive waypoints via a pass, with speed, rotation, optional zigzag, and a state machine.
Implement enemy movement along a path by updating the current waypoint id when the next point is reached, handling busy curve vs non-busy paths with waypoint lists in Unity.
Move an enemy along a quadratic bezier path using a busy curve, compute a directional target on the xz plane, normalize it, and apply smooth look-at rotation toward the path.
Define a formation grid in Unity to position enemy ships, using grid size and offsets with a center to left then left-right filling pattern visualized by gizmos and editor labels.
Compute a center-based zigzag formation by iterating grid offsets for x and z, using num, modulo, and a power function to switch directions, allowing up to 20 ships.
Move the formation along the x axis within a max offset using speed and direction. Update start position, current x, and transform to animate left-right movement.
Tune and align Unity Galaga 3D enemy formations by adjusting left–right movement, grid dividers, and the boss and wasp layouts for consistent speed and placement.
Define a state machine for enemy behavior in a Unity Galaga 3D tutorial, moving from fly in to on path, then into formation using an enum and switch logic.
Switch enemy states from approaching to idle as they reach the formation, aligning upward, and become a child of the fly formation to maintain position and reduce updates.
Explore the spawn manager concept for Galaga 3D: spawn waves of small, medium, and big enemies off-screen, then guide them into formation with timed intervals.
Create a spawn manager in Unity to control enemy waves using a serialized wave class, defining formations, spawn counts, and timing for each wave.
Spawn waves 2 explains spawning enemies in a Unity Galaga 3D scene by instantiating fly prefabs, assigning paths and formations, and controlling timing with a coroutine and wait intervals.
Finalize the spawn system by scheduling waves with invoke and wait intervals, iterating through each wave's enemy list and using prefabs, paths, and formations to spawn ships.
Organize the spawn system by adding headers for intervals and prefabs, and configure wasp and boss prefabs with formations and IDs to enable per-level wave customization by loading specific scenes.
Create enemy ship prefabs with a common behavior, add wasps and a boss ship to the formation, and tune spacing and scale via the spawn manager for smooth waves.
Update the formation behavior by refactoring grid creation to run at start and by switching off on-draw gizmos, ensuring grid positions update correctly during gameplay.
Rework the spawn manager to instantiate passes from a pass prefab array and use an active pass list with ping-pong selection to distribute enemies across paths.
Organize pass prefabs in a dedicated passes folder and wire them to the spawn manager per wave. Destroy active passes with a foreach loop and clear list at wave end.
Design and visualize passes for enemy ships using a spawn manager, left-in and right-in paths, and mirrored prefabs to create dynamic wave formations.
Learn to debug and validate wave counts in the Unity Galaga 3D spawn manager by totaling flies, wasps, and bosses with OnValidate and inspector feedback.
Implement player behavior for unity galaga 3d by importing the player ship model, configuring drag controls, and wiring a drag-and-shoot mechanic in a dedicated player script.
Implement mouse drag to move the player ship in 3D by converting screen points to world coordinates and applying an offset. Disable gravity on the rigidbody during dragging.
Define bullet spawn points on the player ship, instantiate bullets along the forward axis, and implement a fire rate system with upgradeable bullet count to shoot multiple bullets.
Create a bullet prefab with a script that sets speed and damage, instantiate it from the player, and use a collider and rigidbody for forward travel and collisions.
Implement enemy health and a takeDamage function, detect bullet hits via on trigger, reduce health, and destroy the enemy when health reaches zero, while tagging enemies and using trigger colliders.
Set bullets to self-destruct after a short delay and use a boundary cube as a wall to destroy bullets when they reach the edge, keeping the playfield clear.
this lecture covers implementing a spread formation in Galaga 3D, including left-right spreading, dives, spread parameters, and a serialized EnemyFormation class with an enemy list.
Refine the Galaga 3D enemy formation by populating the enemy list, storing start positions, and enabling an x-axis spread through a goal vector, current spread, and lerp movement.
Activate a time-based core routine to spread the enemy formation in Galaga 3D, waiting for all enemies inside the formation before moving to the start position and spreading outward.
Update the enemy list in the Galaga 3D formation when enemies are damaged or destroyed to prevent missing reference exceptions and keep the formation accurate.
Automate spreading by using a spawn manager to track all enemies in a public list, monitor each enemy state with timed checks, and start spread routines when all are idle.
Connect to the spawn manager, remove destroyed enemies from the spawn list to avoid missing reference errors, and trigger formation completion and enemy spread once all enemies enter the formation.
Learn how to implement a diving state for enemies in Galaga 3D by randomly selecting dive passes, spawning paths from the formation, and linking to the spawn manager.
Implement the dive setup in the enemy behavior, assign the chosen pass, detach from the formation, switch to diving, and restart with a random time between three and ten seconds.
Create diving passes by building hook paths with center points and S curves, visualize and prefab them, and integrate them with the spawn manager and diving state.
In this Galaga 3D lesson, configure enemy shooting by adding a bullet spawn point, a bullet prefab, and a timed fire rate to target the player.
Set up a spawn point and implement a reusable enemy bullet system that shoots when enemies dive, targeting the player with a configurable fire rate and delta time timing.
Set up player tagging and damage handling so enemies can shoot; implement a take damage function, track lives, and propagate bullet damage from enemy to the player.
Create a globally accessible game manager to track lives, score, and level with a public static instance and awake initialization. Implement add-score logic and game over handling across scenes.
Implement a persistent game manager that tracks level, score, lives, enemy count, and bonus score across scenes, with has lost logic, and win checks.
Learn to wire the spawn manager to report each spawned enemy to the game manager and decrement the count when enemies are destroyed, enabling wave-based progression and debugging.
Implement per-enemy scoring in Unity Galaga 3D by adding formation and outside-formation score values to enemy behavior, saving these to prefabs, and reporting to the game manager on destruction.
Design and implement a playable UI in Unity Galaga 3D by creating a canvas, configuring score and lives displays, using text and images, anchoring elements, and preparing level indicators.
Implement a UI script that connects UI canvas text fields for score, lives, and stage, updates them in real time, and exposes a static instance for global access.
Learn to update score, lives, and stage text via the UI script in Unity, using methods to set text values and reflect current game state.
Implement the win state by incrementing the level and reloading the active scene with Unity scene management, preserving score and lives for the next stage.
In this Course you'll learn how to create a Space Shooter like the amazing Galaga in Unity Game Engine.
The concept is based on different behaviors the Enemy Space Ship can be in.
This course is an Intermediate course, so if you have trouble in any case, write me a message or Q&A, and i'll help as best as i can.
If you are beginner, you might have some trouble to follow, but the videos will guide you through the complete course. Don't forget you only become better if you repeat things and keep on learning!
So we create several Systems which will give us enough freedom to:
C# (Monodevelop)
create our own Pathes the enemies can fly on
create our own Formation system where the enemies go into for their typical left/right movement
create our own diving system to randomize enemies flying around
create our touch/click & and hold movement for the Player and shoot meanwhile holding
Unity (2018.2)
managing our systems and make them multifunctional
creating Space Particles like for Stars & Mist
using Trails to make nice visuals for the Space Ships
creating Particle Explosions
creating a Start and GameOver Scene and of course 1 Game Scene
Course Material
I provide the following Material with the Course:
4 different Space Ships (3 Enemys, 1 Player) as *.fbx
1 Star and 1 Cloud Texture as *.png
You have to write the code on your own, i do not provide the final scripts!
All other graphics for Menu's, Icons, Images or Buttons need to be created on your own.
All Materials i provide are for education only and should not be in your final release!
Conclusion
In the end of this course you will have a fully functional Galaga Style 3D Game.
Challenge
After you have created nice Menus, Buttons, and maybe additional content, upload the Game to any Gaming Website, Google Playstore, Apple Store or even Windows Store or Steam.
So what are you waiting for?
Let's make your dream game a reality!!
Level: Intermediate
Video Course Length: ~10.5 hours
Unity Version required: 5.3+