Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


The Complete Guide to C# and Unity 2D Programming - Build an RPG (Role Playing Game)

via Skillshare


This course is made with the latest content and newest technics used in modern Game Development (Unity 2022)

Download the completed project for guidance here:

The best way to learn anything is by doing it in a really fun way and this is where this course comes from. If you want to learn how all these incredible games you see are made there is no better place to start than this course. We made sure that this course has everything you need to take you from a beginner (even with zero codding experience) and slowly take you to intermediate level

I chose the main project in this course to be a 2D RPG because it not only has a vast library of game development concepts that we can implement and learn, but also because it's very simple (especially if you are a beginner) to delve in and get started on your game development journey.

Everything in this course has been meticulously crafted, review and recrafted to provide you with the best experience possible and maximize your learning as much as possible. So not only will you have a great time learning you'll also get the MOST BANG FOR YOUR BUCK by going away from this course with a lot of tools in your arsenal to continue you journey in the wild west of game development.

Section 1: Introduction

We'll start off by downloading Unity and Visual studio. Installing them and making sure they work. We will then create our first code in C# and get used to Unity interface. Finally we'll talk about the game design of our game and what it takes to start creating a game from scratch 

Section 2: Setting Up Player

In this section we are going to start learning what sprite sheets are and how to set them up. We'll learn what sorting layers are in Unity. We'll look into colliders and RigidBodies and add them to our game objects and see how it starts getting affected by physics. we'll learn how to animate our sprites. We'll even understand what blending trees that will greatly help us reduce difficulty of animating

Section 3: Scene Management

In this section we will learn about the scene manager in Unity that will allow us to create multiple levels in our game and transition between them. Plus we'll learn a very tricky way to making sure we always arrive in the right position when moving through our worlds

Section 4: Tilemaps & Cinemachine

This section is the evolution of the previous one. Where we move from just adding maps as images to painting them using tile sets that you can download and customize yourself. We also learn about Cinemachine which is a very powerful and modern tool in Unity

Section 5: Dialog In Game

What game doesn't have a dialog system. This is where we add new NPC's to our game. Create UI learn about arrays and add more life to our game by introducing a way to interact with the world around us that we created in the previous section

Section 6: Player Stats

Again what game, especially a RPG doesn't have stats for every character? WE have strength, Mana, health etc.. and we introduce a leveling system and XP. We learn about loops in C# which is a very powerful tool in and programming language and will really build your foundations

Section 7: Menu System

This section is full of artistic creating which means you have the full liberty of creating your own. This is were we don't create anything NEW but we put all the information that we've taking into account so far in front of our player and making sure he can access that info easily

Section 8: Inventory System

This is also a section that could have been called ADVANCED C# because we take our coding to the next level. We learn about Lists another powerful tool in C#. We learn how to pick up items. Add them to our inventory using the advanced C# tools and make sure that all of this works smoothly especially when we also discard those items. Finally we use those items on our characters

Section 9: Shop & Money Systems

Now that we pick up items, we want to sell them... for MONEY! who doesn't like money? we will introduce a monetary system so basically create an economy. We create a shop with a shop keeper inside and we'll be able to transact with him using the money we have to buy and the items we have to sell

Section 10: Questing System

This is my favorite part of the game. Because we start adding quests. And this turns our game from a normal game to and RPG. We can get quests, complete them, get rewarded with items. Some objects will only appear on after we complete some kind of quest. This one is really fun

Section 11: Save & Load

It's imperative that we do not lose our progress in an RPG that's why we introduce a Save and Load system. We will keep track of our player position and the world he was in. We will keep track of the items we have in a very sophisticated way. And every else also that needs to be saved and loaded

Section 12: Music & SFX

Time to breath some life into this game adding sound effects and Music. Now our game goes from static to dynamic. We will add background Music and SFX. To each level and each interaction respectively

Section 13: Main Menu

Every game HAS to have a main menu. But it also needs a dynamic main menu. We create a simple menu with a background. But the exiting part of this is the way we give the ability to our player to either continue from his last save or start a new game

Section 14: Setting Up Battle System

Until this point we've had a pretty decent game I would say. But now it's time for the real deal. We are no longer walking around and talking to NPC's it's time for WAR. We are creating a battle system. This is the first step of one the biggest scripts that you and I will ever create. So strap your thinking caps on and hold down to your seats this is going to be an exhilarating ride

Section 15: Enemy Attack System

Now that we've started a battle with enemies. Time to give them the ability to attack us. We will choose which enemy is attacking. How much damage he's giving and we'll even display it on screen and see what happens when our players don't have any health left

Section 16: Player Attack System

Now it's our players turn to defend themselves. We will give the ability to fight back. And also the ability to run away from the battle. We'll use various attacks such as normal slashing, using different types of magic and on top of that using items during battle 

Section 17: Battle System Ending

This is where our journey ends unfortunately my fellow game developers. We handle the dead players. We handle the dead battlers. We create a victory screen. A game over screen. We give our rewards. And we end this section and this course with a BANG!! by creating a BOSS fight

What You Will Learn In This Course:

  1. Use Visual Studio with Unity in a simple way

  2. How to set a good Game Development environment

  3. Unity Engine are in a simple and comprehensive way

  4. The Basics of C# in the most fun ways possible by creating a game

  5. Use player input to control the behavior of our game

  6. Add different component to game objects

  7. Add gravity and other forces to game objects

  8. Make game objects interact with each other in our game

  9. Add sprite sheets and slice them up

  10. Create Tile assets

  11. How to create levels from our tile assets

  12. Become a ninja problem solver and learn how to go step by step to solve any problem in Game Development and coding

  13. Create animations


  • Why You Should Watch This Course
  • Section 1: How To Use This Course
  • Download Unity & Visual Studio Step-by-Step
  • Unity & VS 101
  • Your First Code
  • Version Control 101
  • Legends Of Conquest Game Design
  • Section 2: Setting Up Sprite Sheet
  • Sorting Layers
  • Colliders & RigidBody
  • Scripts & Variables 101
  • Inputs & RigidBody Velocity
  • Animator & Animation
  • Transition & Blending
  • Blend Trees Animations In Unity
  • Facing The Right Direction
  • Colliding With Objects
  • Section 3: Switching From Scene To Scene
  • Scene Manager and Prefabs
  • Singleton Pattern
  • Area Enter
  • Script Order Of Execution
  • Section 4: Cinemachine 101
  • Cinemachine Confiner Extension
  • Tilesets In Unity
  • Creating a Tile Map
  • Keeping Player Inside The Map
  • Creating A Second Level
  • Level Manager
  • Canvas in Unity
  • Coroutines 101
  • Section 5: Creating Dialog UI
  • Dialog Controller (Arrays)
  • Array Properties
  • Activating Dialogue In Area
  • Dialog Handler
  • Holding Player Movement
  • Showing Characters Names
  • Section 6: Player Stats
  • For Loops In Unity
  • Experience Distribution
  • Testing Levelling
  • Leveling Up The Stats
  • Game Manager
  • Section 7: Menu UI
  • Character Info
  • Menu Manager
  • Stop Player Movement (again)
  • Setting Up Stat
  • Updating Stats
  • Using The Buttons
  • Setting up Status Widow UI
  • Displaying Status Widow Information
  • Section 8: Creating Items
  • Items Window
  • Lists In C#
  • Picking Up Items
  • Updating Items in Inventory
  • Displaying Picked Up Items
  • Stackable Items
  • Selecting Items
  • Discard Items
  • Using Items
  • Adding Character Choice
  • Choosing A Character
  • Using Weapons & Armor
  • Section 9: Shop Tiles
  • Setting Up Shop
  • Setting Up Shop Keeper
  • Items To Buy & Sell
  • Buying Items
  • Making Buy & Sell Buttons Work
  • Section 10: Creating Quests
  • Marking Quests
  • Quest Objects
  • Completing Quests
  • Activating Quests
  • Activating Quests After Dialogue
  • Section 11: PlayerPrefs
  • Loading Data
  • Set & Get Float
  • Saving & Loading Player Stats
  • Saving Item Lists using Items Assets
  • Section 12: Audio In Unity
  • Playing Music
  • Playing Audio From Code
  • Section 13: Main Menu UI
  • Main Menu Manager
  • Continuing The Game
  • Section 14: Creating A Battle Arena
  • Battle Scene UI
  • Battle Characters
  • Starting A Battle
  • Adding Players
  • Adding Enemies
  • Putting The Turn In TurnBased Combat System
  • Taking Turns
  • Attacking With Enemies
  • Attack Effects
  • Selecting Attacks
  • Section 15: Damage Amount
  • Which Enemy Is Attacking
  • Visualizing Damage Amount
  • Battle Stats
  • Handling Dead Battlers
  • Section 16: Player Attacking
  • Choosing Targets
  • Setting Up Magic UI
  • Using Magic
  • Showing Not Enough Magic
  • Running Away
  • Using Items During Battle
  • Selecting Player To Use Item On
  • Section 17: Dealing With Dead Players
  • Dealing With Dead Enemies
  • Victory In Battle
  • Creating Game Over Screen
  • Loading Last Save In Game Over
  • Battle Rewards
  • Giving Battle Rewards
  • Creating Battle Zones
  • Starting Random Battles
  • Boss Battle
  • Completing Boss Battle Quests

Taught by

Michael Murr


Start your review of The Complete Guide to C# and Unity 2D Programming - Build an RPG (Role Playing Game)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.