
Discover how to build a moody, atmospheric 2D game from scratch with Unity and C#, including a main menu, player movement, lights, 2D effects, collectables, sounds, and animations.
Install Unity via Unity Hub and Windows version, install the editor and Visual Studio IDE, then create a Moody 2D project with a sample scene set to 16 by 9.
Master the Unity UI essentials—from the hierarchy and scene view to inspector and project windows—and core 2D tools like move, rotate, and scale for organizing game objects.
Learn how 2d components drive a simple platformer in Unity by adding a rigidbody and circle collider 2d and box collider 2d to enable gravity and collisions.
Import a sprite pack, set up the player with a Rigidbody 2D and Box Collider 2D, freeze rotation, and implement a flip method to face left or right.
Implement a 2D jump in Unity by using a ground check with an overlap circle and a ground layer mask, then apply vertical velocity on space press.
Master the double jump in 2D Unity game by implementing grounded check with overlap circle, a jump counter with reset, and effects such as particles, sounds, and wings.
Learn to animate the player in Unity using sprites, create idle and walk animations, set up animator transitions and parameters like isWalking and hasJump, and implement jump logic.
Implement dash mechanics in the player controller by pressing Q to dash in the facing direction, using can dash and is dash flags and a dash direction from horizontal input. Apply a dash force, a wait time, and a coroutine to stop dashing, then re-enable dash so the player can dash again after the stop.
Add and customize a trail renderer on the player in unity, adjusting width, color, material, and time, and enable emitting during dashing via a simple script.
Fixes dash bugs by freezing the y position and rotation during dash to prevent falling, then removes the constraint after, and introduces a dash counter with amount 1.
Fix the dash mechanic by preventing mid-dash direction changes, using a single if check, proper variable scope, and delta time movement for a consistent rigidbody update in Unity and C#.
Master the wall jump mechanic in a 2D Unity game: detect wall collisions with overlap circles, manage grabbing, adjust gravity, and apply velocity on spacebar with a short control lock.
Use Unity's tile map editor to slice sprites into tiles, build a tile palette, paint a map, and add 2D colliders for a workable platform level.
Install the Universal Render Pipeline, enable 2D lighting, and configure spotlight and global lights to illuminate the player and scene with sprite lit materials and tilemap lighting.
Install Cinemachine, create a 2D camera, set the player as the follow target for smooth movement with soft, dead, and safe zones, and add a zero-friction 2D physics material.
Decorate the game's environment by adding animated plants and flowers, lighting, and parallax backgrounds, then organize objects with prefabs and layered tile maps for a moody 2D scene.
Create moody atmosphere by building Unity particle effects with circle and fog sprites. Tune emission, shape, random between two constants, noise, color over time, and set z position to zero.
Create an ambient sound in Unity by adding an empty game object with an Audio Source, enabling play on awake and loop, and tuning volume for a water drip ambience.
Design and implement collectibles in a Unity and C# platformer, using sprite packs, prefabs, triggers, and UI text to track and display the collection count.
Add an audio source to the player, ensure an audio listener on the camera, and play the collectSFX clip with playOneShot on trigger enter at 0.3 volume.
Create a 2D invisible wall trigger in Unity that restarts the game when the player falls, using a box collider and on trigger enter to die via scene management.
Create a one-shot player death effect with Unity particle system, customizing circle particles' size and color, then spawn it as a prefab on death and support restart via scene management.
Build a moody 2D Unity main menu and credits using canvas UI, with buttons for play, credits, and quit, plus a menu script handling scene navigation.
Add a dark pause panel to a 2D Unity game, wire up escape to toggle the pause state, enable resume and main menu buttons, and control the time scale.
Gate all movement inputs behind a public paused flag to fix the pause bug. When paused, the player cannot move, jump, or dash, ensuring no in-game actions occur.
Build your Unity game by selecting scenes and platforms, configuring the icon and splash, and testing through a desktop build with ultra quality for play and menus.
Leave constructive feedback and ask questions to gain value from this dark moody atmospheric 2D game with Unity & C#. Check the YouTube channel the game show for free value.
This course is designed to ensure that you learn the fundamentals of Unity and the C# scripting language it uses specifically we'll be making a Dark/Atmospheric 2D game.
Things you'll learn in this course:
Learning how to Implement 2D Lighting to your game.
Learning How to Implement and use Unity's Particle System to create some nice looking effects.
Programming a Player Controller that Double Jumps, Dashes, Wall Jumps and more!
Learning How to add Trails and to specify when to use it.
Adding Tiles using Unity's Built-In Tile set Editor.
Adding a Pause Menu.
Using A smart camera (Cinemachine) to follow out player.
Basic Unity Animation and when to tell our game to start animating.
Understanding how physics and Rigidbodies work in Unity.
Understanding how variables and functions work in C#.
Adding a basic score system.
learning how to add buttons and making a full main menu.
and finally building and exporting your game to android.
And More You will discover in the course.
as well as you'll also gain a deeper understanding of how things work in unity and understanding how to make an Artmospheric 2D game like what we'll be making in this course.
NOTE: This course is NOT for who is advanced in unity game development, it will only waste your time.