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

NEW UPDATE. A complete map system has now been added to the course for inclusion in your projects.

Learn how to create and program your very own metroidvania game using Unity, an industry-standard game development program used by 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

NEW UPDATE. A complete map system has now been added to the course for inclusion in your projects.

Learn how to create and program your very own metroidvania game using Unity, an industry-standard game development program used by 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 understand such game elements as:

  • Special Abilites including Double Jumps, Dashing, Turning Into a ball and more

  • Unlocking & Collecting Abilities

  • Walking & Flying Enemies

  • Game Progression & Storing Your Progress

  • Complete Boss Battle

  • Audio systems

  • Interactive Menus

  • A full map system, including fullscreen & mini-maps

  • and much more...

The course also includes a complete version of the project to use for your own reference to ensure everything in your game works as it should.

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

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

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
Assets For Use In This Course
Getting Started
Project Setup
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses Unity, an industry-standard game development program, which is used by both large gaming studios and indie developers across the world
Teaches C#, a modern versatile programming language, which is widely used in game development and other software applications
Develops strong and transferrable problem solving skills, which are essential for success in game development and software engineering
Includes a complete version of the project for reference, ensuring that everything in the game works as it should
Focuses on 2D development in Unity, which may not be suitable for learners interested in 3D game development
Requires the use of Unity and potentially other software, which may require a subscription or licensing fees

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Build a complete metroidvania in unity

According to learners, this course offers a highly practical, hands-on approach to game development, guiding students through creating a complete Metroidvania game from scratch using Unity and C#. Students frequently praise the clarity of instruction and the comprehensive coverage of core Metroidvania mechanics like abilities, combat, and progression systems. While many find it accessible even for beginners, some absolute newcomers to programming note it can be challenging at times and might require supplementary learning. Reviewers also appreciate the inclusion of essential features like a full map system (a recent update) and the ability to learn by doing, resulting in a functional game for their portfolio.
Instructor updates the course content.
"Really appreciate that the instructor keeps updating the course, adding features like the map system recently."
"It's good to see the course isn't static and improves over time based on feedback and new features."
"The addition of the map system was a major plus and shows the instructor is committed."
"Updates help keep the information relevant."
Includes essential Metroidvania features.
"Covers all the classic mechanics you'd expect: double jump, dash, ball form, unlocking abilities, boss fight."
"I specifically wanted to learn how to implement a map system and this course now includes it, which is great."
"From player movement to enemy AI and bosses, the course covers the fundamental systems needed."
"Provides a solid blueprint for common genre abilities."
Instructor explains concepts clearly.
"The instructor is very clear and easy to follow throughout the entire course. He breaks down complex ideas."
"His explanations are concise and straight to the point, making it easy to understand what we're doing and why."
"Found the teaching style very accessible, even when tackling new programming concepts."
"Lectures are well-structured and delivered clearly."
Hands-on project creates a complete game.
"This course was amazing from start to finish! I have a complete, working Metroidvania game now that I built myself."
"I appreciated how we actually built a full game project, not just snippets. It feels great to have a finished product."
"Finally completed the course and I have a playable Metroidvania game I can call my own."
"The focus on building a single, complete project is the course's greatest strength."
Code can be messy or unoptimized.
"The code gets the job done, but it's not always the cleanest or most efficient structure. Could use refactoring."
"Some sections felt a bit rushed, and the resulting code was functional but perhaps not best practice."
"Learned a lot, but might need to clean up the code organization afterwards for scalability."
"Occasionally ran into small bugs or issues that required some independent troubleshooting."
May be difficult without prior coding.
"As someone with absolutely no coding experience, I found some parts quite challenging and had to rewatch sections."
"While it says for beginners, having some basic C# knowledge would definitely make it smoother."
"It's not impossible for a complete beginner, but be prepared to pause, rewind, and do outside research."
"Recommended if you're new to Unity but maybe have a little coding background."

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 a Metroidvania Game using Unity & C# with these activities:
Review C# Fundamentals
Solidify your understanding of C# syntax and object-oriented programming concepts before diving into game development.
Show steps
  • Review C# syntax and data types.
  • Practice writing simple C# programs.
  • Understand object-oriented programming principles.
Review 'C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development'
Gain a deeper understanding of C# and .NET Core to enhance your game development skills.
Show steps
  • Read the introductory chapters on C# syntax.
  • Focus on sections related to object-oriented programming.
  • Skim through chapters on .NET Core features.
Create a Simple Platformer Prototype
Practice implementing basic platformer mechanics like player movement, jumping, and simple enemy AI in Unity.
Show steps
  • Set up a new Unity project with 2D settings.
  • Create a player character with basic movement scripts.
  • Implement jumping and collision detection.
  • Add a simple enemy that patrols a platform.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow Unity's 2D Game Kit Tutorial
Learn best practices for 2D game development in Unity by following a structured tutorial.
Show steps
  • Download and import the 2D Game Kit from the Unity Asset Store.
  • Follow the tutorial to understand the kit's features.
  • Experiment with modifying the existing game elements.
Document Your Metroidvania Game Design Ideas
Brainstorm and document your ideas for a Metroidvania game, including level design, abilities, and enemy types.
Show steps
  • Research existing Metroidvania games for inspiration.
  • Sketch out level layouts and map designs.
  • Describe unique abilities and power-ups.
  • Design enemy types and their behaviors.
Read 'Game Feel: A Game Designer's Guide'
Improve the player experience by understanding and implementing effective game feel techniques.
Show steps
  • Read chapters on player control and responsiveness.
  • Analyze how existing Metroidvania games implement game feel.
  • Experiment with different game feel techniques in your project.
Create a Demo Level with Multiple Abilities
Showcase your understanding of the course material by creating a demo level that incorporates multiple abilities and challenges.
Show steps
  • Design a level layout that requires the use of multiple abilities.
  • Implement the abilities learned in the course.
  • Add enemies and obstacles that challenge the player.
  • Polish the level with visual and audio effects.

Career center

Learners who complete Learn to Create a Metroidvania Game using Unity & C# will develop knowledge and skills that may be useful to these careers:
Game Developer
A game developer brings video game ideas to life. This involves programming game mechanics, implementing game design, and creating interactive experiences. This course on creating a Metroidvania game using Unity and C# directly applies to the work of a game developer. The course covers essential aspects of game development, such as character movement, animation, camera control, enemy AI, and level design. The syllabus includes topics such as setting up a tilemap, creating animations, controlling animations, and working with camera controls. As such, this course can help you build a strong portfolio piece or provides valuable experience that may help you stand out to employers.
Indie Game Developer
An indie game developer works independently or in a small team to create and publish their own video games. The indie game developer might be involved in all aspects of game development, from programming and design to art and marketing. This course directly helps with the journey of an indie game developer since it teaches you how to create a complete Metroidvania game using Unity and C#. The course gives you the skills and knowledge to bring your own game ideas to life. This course may give a head start to those looking to create their own indie studio.
Unity Developer
A Unity developer specializes in using the Unity game engine to create video games and other interactive applications. This individual needs to be proficient in C# and understand the Unity environment thoroughly. This course emphasizes game development using Unity and C#, focusing on creating a Metroidvania style game. The course covers game elements such as special abilities, enemy design, game progression, boss battles, and interactive menus. By working through this course, the learner can be more proficient with Unity.
Gameplay Programmer
A gameplay programmer specializes in implementing the interactive elements of a video game. They work on character controls, enemy AI, and other systems that define how the game is played. This course focuses on essential gameplay programming concepts using Unity and C#. The course has sections on character movement, jumping, firing, enemy behavior, and boss battles. The sections such as 'Making the Enemy Patrol' will be very relevant to the prospective gameplay programmer.
C Programmer
A C# programmer writes code using the C# programming language, often for software applications or game development. C# programmers are responsible for implementing logic and functionality, debugging code, and ensuring optimal performance. This course focuses on learning C# through the development of a Metroidvania game. The course provides hands-on experience with C# programming concepts in a game development context. The course will allow you to put into practice object oriented programming.
Game Designer
A game designer conceptualizes and designs the rules, systems, and mechanics that make up a video game. They work on level design, player progression, and overall game flow. This course on creating a Metroidvania game equips you with practical experience in game design by having you implement various game mechanics and systems. The course content includes topics like special abilities, enemy design, boss battles, and interactive menus, all of which are crucial for effective game design. The skills regarding game progression are also quite useful.
Level Designer
A level designer is responsible for creating the environments and layouts in which video game action takes place. They focus on creating engaging and challenging experiences for players. This course includes a section on laying out a tilemap, creating levels, and moving between them. This provides a practical introduction to the basics of level design within the Metroidvania genre. You can also see how to construct levels using tilemaps, and how to set up the transitions between levels.
Technical Artist
A technical artist bridges the gap between art and programming, ensuring that art assets are efficiently integrated into a game engine. They may work on optimizing assets, creating shaders, and developing visual effects. This course covers the integration of animations and visual effects into a Unity project. The course will help you understand how to bring your artistic vision to life within a game development environment.
Software Developer
A software developer designs, develops, and tests software applications. While this role is broader than game development, the underlying programming principles and problem-solving skills are highly transferable. The course teaches C#, a modern versatile programming language, and object-oriented programming. These are fundamental skills for any software developer. Completing this course may give individuals the basic skills needed to transition to more advanced topics in software development.
Animator
An animator creates the moving images and visual effects seen in video games. They work on character animations, environmental effects, and cinematic sequences. This course covers creating and controlling animations within the Unity game engine. The section on animating the ball may provide insight into how to animate objects realistically. The course may be useful for learning how to integrate animations into an interactive game environment.
Tools Programmer
A tools programmer develops specialized software and scripts used by other game developers to streamline their workflows. While not a direct focus of the course, the C# and problem-solving skills learned can be applied to creating custom tools for Unity. In particular, the map system that is added to the course could serve as inspiration.
Quality Assurance Tester
A quality assurance tester, or QA tester, plays video games to identify bugs and ensure that the game meets quality standards. Although this course does not directly train someone to be a QA tester, understanding game development principles helps QA testers communicate more effectively with developers. By understanding game development, they can identify and articulate bugs more clearly.
Game Producer
A game producer oversees the development process of a video game, managing timelines, budgets, and team communication. While this course isn't about project management, understanding the technical aspects of game development can help a game producer make informed decisions. This knowledge may help you understand the challenges of implementing new features.
Augmented Reality Developer
An augmented reality developer creates interactive experiences that overlay digital content onto the real world. They also use Unity as their platform of choice. While this course focuses on 2D game development, the underlying principles of Unity development and C# programming are transferable to AR development. The course is a starting point for the augmented reality developer.
Virtual Reality Developer
A virtual reality developer build immersive and interactive experiences. The skills gained in this course may be useful knowledge, since a virtual reality developer may use Unity to create their applications. Learning C# will be useful, as will the problem solving skills taught in this course. As such, this VR profession may be an adjacent step for the learner.

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 a Metroidvania Game using Unity & C#.
Explores the importance of 'game feel' and how to create satisfying and engaging player experiences. It's particularly relevant for Metroidvania games, where precise controls and responsive feedback are crucial. This book is more valuable as additional reading to improve the overall quality of your game. It is commonly used by game design students and professionals.
Provides a comprehensive guide to C# and .NET Core, covering the fundamentals and advanced topics. It's useful for understanding the underlying technologies used in Unity game development. While not strictly necessary, it offers a deeper understanding of the C# language and .NET runtime, which can be beneficial for more complex game projects. This book is commonly used as a reference by industry professionals.

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