We may earn an affiliate commission when you visit our partners.
James Doyle

Learn how to create and program your very own classic RPG game using Unity, an industry-standard game development program used by many large gaming studios and indie developers across the world.

In this course you won’t just be learning programming concepts, but tying these concepts to real game development uses. You will have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete.

Read more

Learn how to create and program your very own classic RPG game using Unity, an industry-standard game development program used by many large gaming studios and indie developers across the world.

In this course you won’t just be learning programming concepts, but tying these concepts to real game development uses. You will have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete.

This course has been designed to be easily understandable to everyone, so whether you’re a complete beginner, an artist looking to expand their game development range or a programmer interested in understanding game design, this course will help you gain a greater understanding of development.

At the end of this course you will have developed the ability to create such game elements as:

  • Full top-down character movement

  • Creating tile-based maps in Unity

  • A full dialog system

  • Inventory creation & management

  • Stat-tracking & leveling up

  • Shop system

  • Turn-based battles with enemies

  • Boss Battles

  • Quest Management

Start learning today and let me help you become a game developer.

Enroll now

What's inside

Learning objectives

  • Learn c#, a modern versatile programming language.
  • Understand the capabilities of 2d development in unity.
  • Develop strong and transferrable problem solving skills.
  • Gain an understanding of the game development process.
  • Learn how object oriented programming works in practice.

Syllabus

Introduction
Course Assets
Basics
Setting up Unity
Read more
Quick Guide to Unity Layout
Importing images & setting to correct values
The Player
Chopping up player spritesheet
Sorting Layers & Orders
Giving Player Physics
Creating a Script & understanding variables
Moving the Player through scripting
Animating the Player
Setting up the Player Movement Animations
Facing the right direction
Walking into objects & preventing spinning
Switching Scenes
Preventing duplicate players
Starting at the correct point
Combining Area changers
Making sure the player is always in scene
Camera & Maps
Controlling the camera
Creating a Tileset
Creating a Tile Map
CHALLENGE - Create a simple town area
Keeping Camera inside the map
Hiding the map edges
Keeping the Player inside the map
Adding Screen Between scenes
Fading in & out
Calling the Fade
Loading Essential Objects
Dialog System
Laying out Dialog Box
Creating Dialog Manager & Reading Text
Reading multiple Lines
Activating & switching lines
Stopping the player moving
Showing names of characters
Hiding Name-bar for signs
Levelling Up
Player Stats
Adding a Levelling System
Testing Levelling
Gaining stats on Level up
Creating a Game Manager
In-Game Menu
Laying Out the menu
Laying Out Character Info
Opening & Closing the menu
Stop Player Movement
Setting up Stat references
Updating the Stats
Navigating the Menu
CHALLENGE - Layout the Stats Window
Opening the Stats Window
Filling out the Status information
Inventory
Making Items
Layout Item Window
Storing our Inventory & Getting Item Details
Showing the Items in menu
Sorting Items & removing spaces
Selecting Items
Add & Remove Items
Using Discard Button
Selecting Character To Use Item
Using Items
Picking Up Items
Money & Shops
CHALLENGE - Create shop scene using inner tileset
Getting Gold
Creating the Shop Menu
Creating a Shopkeeper
Showing Items to Buy & Sell
Selecting Items to Buy & Sell
Buying & Selling
Quest Tracking
Making Quests
Checking & Marking Quests
Activating objects for Quests
Completing Quests
Activating Quests
Activating Quests after Dialogue
Saving
Saving & Loading Quest Data
Saving the Game
Loading the Game
Audio
Adding Audio
Playing Audio
CHALLENGE - Make AudioManager be loaded in with essentials Loader
Main Menu
Laying out the Main Menu
Creating Main Menu script
Loading the game
Battle System

Save this course

Save Learn To Create An RPG Game In Unity to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn To Create An RPG Game In Unity with these activities:
Review C# Fundamentals
Reinforce your understanding of C# syntax, data types, and control flow before diving into game development with Unity. A solid foundation in C# will make learning Unity scripting much easier.
Show steps
  • Review basic C# syntax and data types.
  • Practice writing simple C# programs.
  • Familiarize yourself with object-oriented programming concepts.
Review 'C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development'
Deepen your understanding of C# and .NET Core, which are essential for Unity game development. Reading this book will provide a solid foundation for scripting and programming in Unity.
Show steps
  • Read the introductory chapters on C# syntax and .NET Core concepts.
  • Focus on chapters related to object-oriented programming and data structures.
  • Refer to the book as needed when encountering unfamiliar C# code in the course.
Complete Unity's Roll-a-Ball Tutorial
Familiarize yourself with the Unity editor and basic game development concepts by following Unity's official Roll-a-Ball tutorial. This hands-on experience will make the course material easier to grasp.
Show steps
  • Download and install the latest version of Unity.
  • Follow the Roll-a-Ball tutorial on the Unity website.
  • Experiment with different settings and scripts to customize the game.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice C# Scripting Challenges
Sharpen your C# scripting skills by completing coding challenges related to game development concepts. This will reinforce your understanding of the course material and improve your problem-solving abilities.
Show steps
  • Find C# coding challenges related to game development.
  • Attempt to solve the challenges independently.
  • Review solutions and learn from your mistakes.
Create a Simple Inventory System
Apply your knowledge of C# and Unity to create a basic inventory system for a simple game. This project will solidify your understanding of data structures, object-oriented programming, and Unity scripting.
Show steps
  • Design the data structure for storing inventory items.
  • Implement functions for adding, removing, and displaying items.
  • Integrate the inventory system into a simple game scene.
Document Your RPG Game Development Journey
Create a blog or video series documenting your progress in creating an RPG game. This will help you reflect on your learning, share your knowledge with others, and build a portfolio of your work.
Show steps
  • Choose a platform for documenting your journey (blog, video, etc.).
  • Regularly update your content with your progress, challenges, and solutions.
  • Share your content with the online game development community.
Review 'Game Programming Patterns'
Learn about common design patterns used in game development to improve your code quality and efficiency. This book will help you write more maintainable and scalable game systems.
Show steps
  • Read the chapters on commonly used game programming patterns.
  • Identify opportunities to apply these patterns in your RPG game project.
  • Refactor your code to incorporate the design patterns.

Career center

Learners who complete Learn To Create An RPG Game In Unity will develop knowledge and skills that may be useful to these careers:
Indie Game Developer
An independent game developer creates and publishes games independently, often working solo or in small teams. This course is ideal for aspiring indie game developers, as it guides you through the entire process of creating a fully functional role playing game. The course's comprehensive curriculum, covering everything from character movement and map creation to battle systems and quest management, equips you with the skills and knowledge necessary to bring your own game ideas to life. Furthermore, you'll learn how to use Unity, an industry-standard engine that empowers independent developers to create high-quality games. Mastering the shop system, dialogs, and other elements increases marketability.
Game Developer
A game developer designs and codes video games for various platforms. This course helps you become a game developer by providing hands-on experience in creating a classic role playing game using Unity. You'll learn essential programming concepts, tie them to practical game development uses, and develop a portfolio piece. The course's focus on character movement, tile-based maps, dialog systems, inventory management, stat tracking, shop systems, turn-based battles, boss battles, and quest management directly translates to core game development skills. Learning C# and understanding 2D development in Unity provides a solid foundation for this career.
Unity Developer
A Unity developer specializes in using the Unity engine to create games and interactive experiences. This course helps you become a Unity developer by teaching you how to create a role playing game from scratch within the Unity environment. You'll gain practical experience in all aspects of Unity game development, including creating tilemaps, implementing character movement, designing user interfaces, and scripting game logic in C#. The course may be useful for those interested in mastering Unity's 2D development capabilities and object-oriented programming practices specific to game development. The knowledge of Unity gained is useful in this career.
Gameplay Programmer
A gameplay programmer focuses on implementing the interactive elements of a game, such as character controls, combat mechanics, and AI. This course is highly relevant to a gameplay programmer as it provides hands-on experience in developing core gameplay systems for a role playing game. The course delves into character movement, combat, dialog systems, and quest management, all essential aspects of gameplay programming. Furthermore, you'll gain proficiency in C# and Unity, industry-standard tools and technologies used in gameplay programming.
User Interface Designer
A User Interface Designer designs and creates the user interfaces for video games, ensuring they are intuitive and visually appealing. This course helps a User Interface Designer by providing hands-on experience in creating in-game menus, inventory systems, shop interfaces, and dialog boxes within Unity. You'll learn how to design user-friendly interfaces, implement interactive elements, and optimize the user experience. The course is useful for those who want to understand the technical considerations involved in implementing UI in games. You may find the dialog system very useful.
Game Writer
A game writer creates the narrative, dialog, and lore for video games. This course helps a game writer by providing practical experience in implementing dialog systems within Unity. You'll learn how to write branching dialog trees, create compelling characters, and integrate narrative elements into the game world. The course may be especially useful to those who want to see their writing come to life and understand the technical considerations involved in implementing narrative in games. This is useful in creating immersive video games.
Level Designer
Level designers create the environments and layouts of video game levels. This course helps a level designer by providing a hands-on experience in creating tile-based maps within Unity. You'll learn how to design and implement game levels, incorporate interactive elements, and optimize level performance. The course teaches you how to create the maps that make up the game world. The emphasis on creating tile sets and managing camera movement directly translates to skills used in level design. You may find the section on Main Menu useful.
Game Designer
A game designer conceptualizes and designs the gameplay, rules, and mechanics of video games. This course helps a game designer by providing practical experience in implementing specific game mechanics and systems within Unity. The course covers essential game design elements like character progression, inventory management, quest design, and combat systems. The course may be especially useful to those who want to see their design ideas come to life and understand the technical considerations involved in game development. You will become more successful if you can bring your ideas to life. Learning to create a tile map is also useful.
Environment Artist
An environment artist creates the visual look and feel of the game world, including landscapes, buildings, and props. This course helps an environment artist by providing hands-on experience in creating tile-based maps within Unity. While not directly focused on creating high-fidelity 3D environments, the course teaches the fundamentals of level design and environment construction, which are essential for environment artists. You'll learn how to design and implement game levels, incorporate interactive elements, and creating buildings. The emphasis on creating tile sets is useful in learning the basics.
Software Engineer
Software engineers design, develop, and test software applications. This course may be useful to a software engineer by providing experience in a specific application of software development game development. The course uses C#, a modern versatile programming language, and teaches object-oriented programming concepts. The course's emphasis on problem-solving and developing game systems gives you a unique perspective on approaching software engineering challenges. Creating features such as inventory creation and management, stat tracking, and quest management translate into broader software development principles.
Technical Artist
A technical artist bridges the gap between art and programming, optimizing art assets for use in games and developing tools to improve the art pipeline. This course may be useful to a technical artist by providing an understanding of how art assets are integrated and used within the Unity game engine. The course covers importing images, setting up sprites, and creating animations, all relevant to the technical artist's role. Additionally, you will gain a basic understanding of C# scripting, which may be helpful for developing custom tools and shaders. The course is especially useful when it comes to 2D development in Unity.
Sound Designer
A sound designer creates and implements the audio elements for video games, including sound effects, music, and voiceovers. This course may be useful to a sound designer as it provides an understanding of how audio is integrated and used within the Unity game engine. You'll learn how to add sound effects, play background music, and control audio playback. The course may be especially useful to those who want to understand how their audio creations are used within a game environment and optimize them for performance. The section on adding audio is helpful.
Animator
Animators create the movement and visual effects for characters and objects in video games. This course may be useful to an animator by providing experience in integrating animations within the Unity game engine. You'll learn how to set up character animations, control animation states, and create smooth transitions between animations. The course may be especially useful to those who want to understand how their animations are used within a game environment and optimize them for performance. The section on animating the player character is useful.
Quality Assurance Tester
A quality assurance tester identifies and reports bugs and issues in video games. This course may be useful as it provides a deeper understanding of the game development process and the various systems that make up a game. By creating your own role playing game, you will gain insight into the types of issues that can arise during development and learn how to effectively test and debug game systems. The course is useful for those who want to transition into a quality assurance role with a strong understanding of game development principles. The course's assets themselves may need testing.
Project Manager
Project managers oversee and coordinate the development of video games, ensuring that projects are completed on time and within budget. This course may be useful as it provides a comprehensive overview of the game development process, from initial concept to final product. By creating your own role playing game, you will gain experience in managing tasks, coordinating resources, and solving problems, all essential skills for a project manager. The course is useful for those interested in understanding the complexities of game development. The dialog system may be useful.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn To Create An RPG Game In Unity.
Explores common design patterns used in game development. Understanding these patterns can help you write cleaner, more maintainable, and more efficient code. While the course covers some basic programming concepts, this book provides a deeper dive into software design principles. It's best used as additional reading to improve your overall programming skills.
Provides a comprehensive guide to C# and .NET Core, covering the fundamentals and advanced topics. It's particularly useful for understanding the C# language features used in Unity game development. While not strictly required, it offers a deeper understanding of the underlying technology. It can be used as a reference throughout the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser