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

Learn how to create your very own platformer game using Unity, an industry-standard 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 your very own platformer game using Unity, an industry-standard 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:

  • A character with full movement, jumping & double-jumping capabilites

  • Collectibles such as gems & extra health

  • Parallaxing background effects

  • Different types of enemies to combat

  • moving & flying enemies

  • Level Mechanics like Spikes, moving platforms, crushing blocks & more

  • Full user Interface with interactive menus

  • Creating levels with tilemaps

  • Multiple levels and a level select screen

  • A unique and challenging boss battle

  • And more....

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
Project Starting Assets
Getting Started
Unity Version Note
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a solid introduction to C# and Unity, two industry-standard tools for game development, making it suitable for individuals with little to no prior experience
Covers a wide range of essential game development concepts, including character movement, enemy AI, UI design, and level creation, which are fundamental for building 2D platformer games
Emphasizes hands-on learning by guiding students through the process of building a complete 2D platformer game, which reinforces theoretical concepts and develops practical skills
Requires access to Unity, which has a free version available for personal use, lowering the barrier to entry for aspiring game developers with budget constraints
Uses Unity, which is updated frequently; learners should ensure they are using a version of Unity that is compatible with the course content and that is still supported

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 2d platformer in unity

According to learners, this course is a solid introduction to making a 2D platformer game using Unity and C#. Students appreciate the hands-on, project-based approach, finding that building a complete game from scratch helps solidify concepts like character movement, health systems, enemies, and UI. Many feel it provides a great foundation for absolute beginners in both programming and game development. While generally well-received, some students note that because Unity updates frequently, certain parts of the course may become slightly outdated over time, potentially requiring learners to do some independent troubleshooting or adapt to newer versions.
Learn essential platformer features.
"I learned how to implement all the basic platformer mechanics I needed, like jumping and health."
"Getting character movement, enemies, and pickups working felt really rewarding."
"The course covers all the key elements you'd expect in a 2D platformer project."
Provides a strong starting point.
"I feel like I have a really good base understanding of Unity 2D development now."
"This course gave me the confidence to start exploring other game ideas on my own."
"It taught me the fundamentals necessary to build upon and learn more advanced techniques."
Accessible for those new to Unity & C#.
"This course is perfect for someone just starting out with Unity and programming."
"As a complete beginner, I found the explanations clear and easy to follow."
"It breaks down complex concepts into manageable steps, which is great for new learners."
Learn by actively building a game.
"Building a full game was incredibly helpful for understanding how everything fits together."
"I loved that we were constantly adding new features to the project, it kept me engaged."
"The hands-on coding and projects are the strongest part of the course for me."
Unity updates may affect some lessons.
"Some parts of the course use slightly older versions of Unity or C# features."
"I had to look up workarounds for a few things that changed in the newer Unity version."
"Because technology moves fast, be prepared for minor discrepancies due to updates."

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 Code By Making a 2D Platformer in Unity & C# with these activities:
Review C# Fundamentals
Solidify your understanding of C# syntax and concepts before diving into game development. This will make learning Unity and applying C# within it much smoother.
Show steps
  • Complete an online C# tutorial covering variables, data types, and control flow.
  • Write small programs to practice using loops, conditional statements, and functions.
  • Review object-oriented programming principles like classes, objects, inheritance, and polymorphism.
Document Your Learning Journey
Maintain a blog or journal documenting your progress, challenges, and solutions encountered during the course. This will help solidify your understanding and provide a valuable resource for future reference.
Show steps
  • Create a blog or journal using a platform like Medium, WordPress, or a simple text editor.
  • Regularly document your learning process, including new concepts learned, challenges faced, and solutions found.
  • Include code snippets, screenshots, and diagrams to illustrate your points.
  • Reflect on your learning and identify areas for improvement.
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 ability to write efficient and effective game code. This book will help you understand the language features used in the course.
Show steps
  • Read the chapters covering C# language features relevant to game development.
  • Experiment with the code examples provided in the book.
  • Relate the concepts learned to the specific challenges encountered in the Unity course.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Simple Game Mechanic
Practice implementing a game mechanic, such as a power-up or a simple enemy AI, in a separate Unity project. This will reinforce your understanding of scripting and game object interaction.
Show steps
  • Choose a simple game mechanic to implement, such as a coin collection system or a basic enemy patrol.
  • Create a new Unity project and set up the necessary game objects and scripts.
  • Implement the chosen mechanic, focusing on clean and efficient code.
  • Test the mechanic thoroughly and debug any issues.
Review 'Game Programming Patterns'
Learn common game programming patterns to improve the structure and maintainability of your code. This will help you write more robust and scalable games.
Show steps
  • Read the chapters covering patterns relevant to the types of games you want to create.
  • Identify opportunities to apply these patterns in your own game projects.
  • Refactor your existing code to incorporate the learned patterns.
Explore Advanced Unity Features
Follow tutorials on advanced Unity features like animation rigging, shaders, or post-processing effects. This will expand your skillset and allow you to create more visually appealing and engaging games.
Show steps
  • Identify an advanced Unity feature that interests you, such as animation rigging or shaders.
  • Search for tutorials on the chosen feature on platforms like YouTube, Udemy, or the Unity Learn website.
  • Follow the tutorial step-by-step, experimenting with the code and settings.
  • Integrate the learned feature into your own game project.
Contribute to a Unity Open Source Project
Contribute to an open-source Unity project by fixing bugs, adding new features, or improving documentation. This will provide valuable experience working in a collaborative environment and expose you to different coding styles and project structures.
Show steps
  • Find an open-source Unity project on platforms like GitHub or GitLab.
  • Review the project's documentation and contribution guidelines.
  • Identify a bug to fix or a feature to add.
  • Submit a pull request with your changes.
  • Respond to feedback from the project maintainers and revise your code as needed.

Career center

Learners who complete Learn To Code By Making a 2D Platformer in Unity & C# will develop knowledge and skills that may be useful to these careers:
Game Developer
A game developer is responsible for creating video games for a variety of platforms. This career involves writing code, designing game mechanics, and collaborating with artists and designers to bring a game to life. If you want to become a game developer, this course may be useful to teach you the fundamentals of creating a 2D platformer using Unity and C#. With its emphasis on hands-on learning, you will gain practical experience in implementing game elements such as character movement, collectibles, enemies, and user interfaces. Learning how to create levels using tilemaps, implement health systems, and design challenging boss battles are all directly applicable to the role of a game developer.
Unity Developer
A Unity developer specializes in using the Unity game engine to create interactive experiences, including video games, simulations, and augmented reality applications. This professional focuses on writing scripts, implementing game mechanics, and optimizing performance within the Unity environment. This course teaches you how to build a 2D platformer from scratch using Unity and C#. Learning how to create character movement, design levels with tilemaps, implement health systems, and add user interfaces are all skills directly applicable to a Unity developer. For those wanting to become a Unity developer, this course provides a practical introduction to the engine and its capabilities.
Game Programmer
Game programmers are responsible for writing the code that brings video games to life. This career requires strong programming skills, problem-solving abilities, and a passion for gaming. This course may be useful if you want to become a game programmer since the course teaches you the fundamentals of game development using Unity and C#. You will learn how to create game elements such as character movement, collectibles, enemies, and user interfaces. The hands-on approach and focus on practical skills are invaluable for aspiring game programmers.
Gameplay Programmer
Gameplay programmers specialize in implementing the interactive elements of a video game, such as character movement, combat mechanics, and artificial intelligence. This career requires strong programming skills and a deep understanding of game design principles. Gameplay programmers may find this course useful because it teaches you how to create character movement, implement health systems, design enemies, and add user interfaces. By learning these skills, you will gain practical experience in implementing gameplay mechanics.
Indie Game Developer
An indie game developer works independently or in a small team to create and publish their own video games. This career requires a broad skill set, including programming, game design, art, and marketing. The course may be useful if you want to become an indie game developer. The course teaches you the fundamentals of game development using Unity and C#. You will also learn the process of creating game elements such as character movement, collectibles, enemies, and user interfaces. The project-based approach and focus on practical skills are valuable for aspiring indie developers.
Educational Game Developer
Educational game developers create video games that are designed to teach specific skills or concepts. If you want to become an educational game developer, the course may be insightful. The course teaches you the fundamentals of game development. Knowing how to create engaging gameplay, design interactive levels, and implement user interfaces will be relevant. Educational game developers will find it particularly useful to create levels with tilemaps and to design collectibles like gems and extra health.
Level Designer
A level designer creates the environments and layouts in a video game. This career requires creativity, spatial reasoning, and an understanding of gameplay mechanics. A level designer may find this course insightful since the course teaches you how to create levels using tilemaps, including how to add elements such as spikes and moving platforms. You will learn how to design multiple levels and create a level select screen. Furthermore, you will learn how to integrate level mechanics, which are essential to level design.
Mobile Game Developer
Mobile game developers specialize in creating video games for mobile devices, such as smartphones and tablets. This career requires knowledge of mobile platforms, optimization techniques, and user interface design. This course may be valuable to learn how to develop 2D games using the engine. You will also learn how to create user interfaces with interactive menus, which are essential for mobile game development.
Game Designer
Game designers conceptualize and design the various elements that make up a video game, including gameplay mechanics, level design, and story. While this career may involve some programming, it primarily focuses on creativity and design. This course may be useful for learning the end-to-end game development process. This includes how to create game elements and design levels with tilemaps. A game designer will especially benefit from learning how to create user interfaces with interactive menus, which are crucial for the player experience.
Technical Artist
A technical artist bridges the gap between artists and programmers in game development. This career can involve creating tools, optimizing art assets, and implementing visual effects. Technical artists may find value in the course since the course teaches you how to work with visual elements in Unity, such as sprites, layers, and animations. Learning how to create parallaxing background effects and add visual effects for pickups and player death may be directly applicable to the role of a technical artist.
Software Engineer
Software engineers design, develop, and test software applications. While not strictly related to game development, the principles of software engineering are applicable. This career focuses on coding, problem solving, and creating efficient and reliable software. The course may be useful, because it teaches you the C# programming language and object-oriented programming concepts. These skills are transferable to software engineering roles. Furthermore, developing a 2D platformer game requires problem-solving and logical thinking, which helps build a foundation for software development.
Virtual Reality Developer
Virtual reality developers create applications and experiences for virtual reality platforms. While this career often involves 3D development, the fundamental principles of game development are applicable. Virtual reality developers may find this course helpful, because it teaches you the basics of game development. You'll learn to work with physics. You'll also gain experience implementing user interfaces, which are crucial for creating immersive VR experiences.
Augmented Reality Developer
Augmented reality developers are creating applications and experiences for augmented reality platforms. While this career often involves 3D development, the fundamental principles of game design are applicable. Augmented reality developers may find this course insightful, because it introduces the fundamentals of game development. You will also learn how to create user interfaces with interactive menus, which are essential for AR experiences.
Simulation Developer
Simulation developers create software used to model real-world systems or processes. This career requires strong programming skills, mathematical knowledge, and an understanding of the domain being simulated. This course may impart an initial understanding of Unity. Knowing how to make interactive menus is useful for crafting simulation controls and user interactions. The project-based approach and focus on practical skills may be useful.
Quality Assurance Tester
A quality assurance tester is responsible for finding and documenting bugs in video games. This career requires attention to detail, critical thinking, and a passion for gaming. The course may increase your empathy for developers. The course's syllabus covers the full lifecycle of releasing a game, and the problems and difficulties inherent in the process.

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 Code By Making a 2D Platformer in Unity & C#.
Explores common design patterns used in game development. Understanding these patterns can help you write more maintainable, scalable, and efficient code. It is particularly useful for understanding how to structure your game code in a way that is easy to understand and modify. This book is more valuable as additional reading than it is as a current reference.
Provides a comprehensive guide to C# and .NET Core. It covers the fundamentals of the language as well as more advanced topics. It useful reference for understanding the underlying principles of C# used in Unity game development. It is especially helpful for those with some programming experience but new to C#.

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