We may earn an affiliate commission when you visit our partners.
Course image
Jingtian Li

Welcome to the second installment of the Complete Game Development Series, Project Infinite Runner. Throughout this course, we will delve into the fundamentals of Unity, the widely utilized game engine, as we construct a fully developed infinite-runner game.

Read more

Welcome to the second installment of the Complete Game Development Series, Project Infinite Runner. Throughout this course, we will delve into the fundamentals of Unity, the widely utilized game engine, as we construct a fully developed infinite-runner game.

Our journey begins with an exploration of the core aspects of the Unity editor, encompassing basic manipulation of objects, game objects and their components, the game loop, and asset importing. As the game takes shape, we will progressively explore advanced concepts such as the new input system, physics, animation controllers, prefabs, shader graphs, audio, and more.

This tutorial emphasizes thoroughness. No steps will be omitted, and we will refrain from relying on third-party code or plugins. Every element, including the player controller, world generation, shader graph, player profile, and leaderboard system, will be implemented from the ground up. Our goal is to maintain clean and extensible code throughout the entire process.

Beyond Unity, we will briefly touch on basic modeling using Blender to provide insights into other facets of the game development workflow.

Upon completing the tutorial, you will possess a robust understanding of Unity and game development, coupled with a comprehensive infinite runner project. This knowledge will empower you to tackle more advanced projects and progress through the series seamlessly. Brace yourself for a thorough, enlightening, and continuous game development journey.

Enroll now

What's inside

Learning objectives

  • The fundamentals of the unity game engine
  • Make a complete infinite runner game
  • Using c# to implement game mechanics
  • Package games with unity
  • Save and load game data with json
  • Create ui and audio in unity

Syllabus

Introduction and the Basics
Introduction
01_Install_Unity
02_Introduction_to_the_Editor
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Begins with the fundamentals of Unity, including object manipulation, game objects, components, the game loop, and asset importing, which is helpful for those new to the engine
Emphasizes thoroughness by implementing every element from the ground up, including the player controller, world generation, shader graph, player profile, and leaderboard system
Briefly touches on basic modeling using Blender, providing insights into other facets of the game development workflow, which is useful for those looking to expand their skillset
Uses C# to implement game mechanics, which is a popular and widely used language in game development, especially within the Unity engine
Covers the new input system in Unity, which is a more modern and flexible way to handle player input compared to the older Input Manager
Teaches saving and loading game data with JSON, which is a common and versatile method for storing game data in a human-readable format

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 an infinite runner in unity

According to learners, this course provides a solid foundation in Unity and C# scripting by guiding students through the creation of a complete infinite runner game from scratch. Many found the project-based approach highly effective and appreciated the clear, step-by-step explanations. While some felt certain sections, like UI or Shader Graph, could be more in-depth, the consensus is that the course successfully delivers on its promise to teach the fundamentals and build a functional game. Reviewers often mention the practical application of concepts and feel well-prepared for further game development after completing it.
Code is generally clean and maintainable.
"The coding practices taught seem clean and make the project easy to manage."
"Instructor emphasized clean code, which is very helpful for learning good habits."
"The code structure for the project is well-organized and easy to follow."
"I learned a lot about structuring game code effectively."
Instructor's guidance is easy to follow.
"The instructor explains concepts very clearly, making it easy for beginners to follow along."
"Lectures were easy to understand, and I never felt lost even with complex topics."
"Explanations were concise and to the point, perfect for grasping the fundamentals quickly."
"I appreciated how the instructor broke down each step; it was very easy to replicate and learn."
Good introduction to Unity and C# basics.
"Provided a great introduction to Unity and C#, giving me a solid starting point."
"This course gave me a good grasp of the fundamentals needed to start making my own games."
"Covers essential Unity features like prefabs, animations, and scripting effectively."
"Learned the basics of the new input system and procedural generation."
Hands-on game building is highly effective.
"The hands-on coding and projects are the strongest part of the course for me, really helped solidify my understanding."
"Building the infinite runner step-by-step was a great way to learn how all the Unity pieces fit together."
"I really enjoyed the practical project approach; it made learning Unity much more engaging than just theory."
"Loved building the game as I learned. It provided immediate context for everything."
Some topics lack detailed exploration.
"Could use more in-depth coverage on certain topics like UI or optimizing game performance."
"Felt like the Shader Graph section was a bit rushed and could have benefited from more detail."
"While good for basics, some areas could be explored more thoroughly for a complete understanding."
"Wish there were more examples or explanations for advanced C# concepts used."

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 Making an Infinite Runner with Unity with these activities:
Review C# Fundamentals
Reinforce your C# skills to better understand the game logic and scripting aspects of the course.
Browse courses on C# Scripting
Show steps
  • Review basic syntax and data types.
  • Practice writing simple functions and classes.
  • Complete online C# tutorials.
Document Your Learning Journey
Create a blog or journal to document your progress, challenges, and solutions encountered during the course.
Show steps
  • Set up a blog or journal.
  • Write weekly summaries of your progress.
  • Document any challenges and solutions.
  • Share your insights with others.
Review 'Game Programming Patterns'
Study common game programming patterns to improve code structure and maintainability in your Unity project.
Show steps
  • Read chapters relevant to game design.
  • Identify patterns used in the course code.
  • Apply patterns to refactor existing code.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Prototype a Simple Game Mechanic
Practice implementing a core game mechanic, such as jumping or obstacle avoidance, in a separate Unity project.
Show steps
  • Create a new Unity project.
  • Implement player movement and collision.
  • Add a simple obstacle and collision detection.
  • Test and refine the mechanic.
Review 'Unity in Action, Third Edition'
Use this book as a reference to deepen your understanding of Unity concepts and explore advanced features.
Show steps
  • Read chapters relevant to the course topics.
  • Experiment with the code examples.
  • Apply the concepts to your own project.
Explore Advanced Shader Graph Techniques
Follow tutorials on creating advanced visual effects using Unity's Shader Graph to enhance the game's aesthetics.
Show steps
  • Find tutorials on Shader Graph effects.
  • Replicate the effects in your own project.
  • Experiment with different shader properties.
Optimize Game Performance
Profile the game's performance and identify areas for optimization, such as reducing draw calls or optimizing scripts.
Show steps
  • Use Unity's profiler to identify bottlenecks.
  • Research optimization techniques.
  • Implement optimizations and re-profile.
  • Document the performance improvements.

Career center

Learners who complete Making an Infinite Runner with Unity will develop knowledge and skills that may be useful to these careers:
Unity Developer
A Unity Developer specializes in using the Unity game engine to create interactive experiences, ranging from video games to simulations and augmented reality applications. Unity Developers design and implement game mechanics, write scripts, and optimize performance to deliver engaging and smooth gameplay. This course centers on developing a complete infinite runner game in Unity, which helps solidify your understanding of the engine's core functionalities. The course covers basic object manipulation to more complex concepts such as shader graphs and animation controllers. Moreover, the course's approach of building every element from the ground up fosters a deep understanding of Unity's capabilities. As you build the infinite runner project, you will gain hands-on experience with C# scripting, asset importing, and UI design. These are skills highly sought after in the field, making this course an excellent starting point for aspiring Unity Developers.
Game Developer
A Game Developer brings video game concepts to life, working on various aspects such as gameplay mechanics, level design, and creating engaging user experiences. This role involves writing code, implementing game logic, and collaborating with artists and designers and is a great job for anyone with a passion for games. This course, with its focus on building an infinite runner game from scratch using Unity, helps build a solid foundation in game development principles. Through this project, you will learn to implement core game mechanics using C#, create procedural level generation, and integrate audio and UI elements and also covers saving and loading game data with JSON, which helps with player profiles and leaderboards. The course's emphasis on creating a complete project without relying on third-party assets ensures that you will gain a comprehensive understanding of the game development pipeline, which is invaluable for anyone pursuing a career as a Game Developer.
Gameplay Programmer
A Gameplay Programmer focuses on implementing the interactive elements of a game, such as character controls, game mechanics, and artificial intelligence. They work closely with game designers to translate design ideas into functional and engaging gameplay experiences. This course's approach to building an infinite runner game provides a strong foundation for gameplay programming. You will learn to implement player controls, physics-based movement, and collision detection. Additionally, the course covers procedural level generation, which is a valuable skill for creating dynamic and replayable gameplay experiences. The course teaches you how to implement the new input system and how to calculate jumping speed. This course helps you to develop a solid understanding of the technical aspects of game design, preparing them for a role as a Gameplay Programmer.
Indie Game Developer
An Indie Game Developer typically works independently or in a small team to create and publish their own games. They often handle multiple aspects of game development, from programming and art to design and marketing. The course emphasizes thoroughness and creating every element from scratch, which is exactly the kind of skill set needed by an Indie Game Developer. This course helps provide comprehensive and practical experience in game development. You will gain hands-on experience with C# scripting, asset creation, and level design. This experience is invaluable for aspiring Indie Game Developers.
Level Designer
A Level Designer is responsible for creating the environments and layouts within a game. They work to ensure that each level is both visually appealing and provides an engaging and challenging experience for the player. This course can be particularly beneficial for aspiring Level Designers due to its emphasis on procedural level generation. Learning how to generate roads, spawn buildings, and add environmental elements such as streetlights is directly applicable to level design. Moreover, the introduction to shader graphs helps you understand how to manipulate the visual appearance of levels. This helps build a strong foundation in level design principles.
Mobile Game Developer
A Mobile Game Developer specializes in creating games for mobile platforms such as iOS and Android. They are adept at optimizing game performance for mobile devices and designing intuitive user interfaces tailored to the mobile experience. This course, which focuses on building an infinite runner game using Unity, may be useful to those interested in mobile game development. Unity is a cross-platform engine, and this course provides insight into creating a complete game project from start to finish. The course covers UI design, audio integration, and optimization techniques, all of which are essential for creating engaging mobile games. Furthermore, the course teaches you how to package games with Unity. This knowledge would prove invaluable for launching a career as a Mobile Game Developer.
UI Programmer
A User Interface Programmer specializes in developing the visual elements and interactive components of a game's user interface. They work closely with UI designers to implement intuitive and engaging interfaces. This course teaches how to create UI elements within Unity, making it relevant for aspiring UI Programmers. The course covers expanding the in-game UI, adding buttons to the pause menu, and implementing the game over and main menus. This helps by providing practical experience in UI implementation, which is valuable for a career as a UI Programmer.
Game Designer
A Game Designer conceptualizes and designs the overall gameplay experience, including game mechanics, story, and user interface. This course, while focusing on the technical aspects of game development, may be useful for aspiring Game Designers because it provides insight into the practical implementation of game concepts. The course's emphasis on creating a complete infinite runner game from scratch helps provide a comprehensive understanding of the entire game development process. This helps you to make informed design decisions and communicate effectively with programmers and artists.
Technical Artist
A Technical Artist bridges the gap between art and programming, creating tools and workflows that allow artists to achieve their creative vision within the technical constraints of a game engine. You may need a strong understanding of both art and programming. This course's exploration of shader graphs and basic modeling using Blender, makes it particularly relevant to the role of a Technical Artist. It demonstrates how to manipulate the position of points and use the circle equation to arc the environment, helping blend artistic vision with technical implementation. This helps you gain skills directly applicable to creating visually stunning and technically sound game environments.
Simulation Developer
Simulation Developers create realistic simulations for various purposes, such as training, education, and research, often using Unity. This course, which focuses on the fundamentals of Unity and building a complete infinite runner game, may be useful to those interested in simulation development. Skills in object manipulation, physics implementation, and UI design are transferable to creating interactive simulations. This course helps you to apply these skills in a practical context.
VR Developer
A VR Developer creates immersive experiences for virtual reality platforms. They use game engines like Unity to design and develop interactive environments, user interfaces, and compelling gameplay mechanics. This course, with its focus on Unity and building an infinite runner game, may be useful to those seeking to work on VR applications. You will learn to manipulate objects, handle user input, and create dynamic environments. The skills acquired from building the infinite runner project are transferable to VR development, making this course a valuable starting point.
AR Developer
AR Developers build applications for augmented reality (AR) platforms, often utilizing Unity. They merge digital content with the real world through devices like smartphones and tablets, creating interactive and immersive experiences. This course, by focusing on Unity game development, may be useful for those interested in becoming AR Developers. The skills learned in manipulating objects, implementing game mechanics, and designing user interfaces can be directly applied to AR projects. The course's emphasis on creating a complete game project helps provide a strong foundation for AR development.
Software Engineer
A Software Engineer designs, develops, and tests software applications. While not specific to game development, the programming skills acquired through this course are valuable for Software Engineers. The course's focus on C# scripting, object-oriented programming, and implementing game mechanics helps you to develop a strong foundation in software development principles. This may be useful in a broader software engineering role.
Software Developer
A Software Developer is involved in the creation, deployment, and maintenance of software applications. Their tasks range from writing code to debugging and ensuring system efficiency. This course, which teaches how to develop an infinite runner game, provides a solid foundation in software development principles. Through the project, you will learn how to implement game logic using C#, manage assets, and optimize performance. This helps demonstrate practical software development skills, making it valuable for your career as a Software Developer.
QA Tester
A Quality Assurance Tester is responsible for identifying and documenting software defects. This is a vital role for software and game development. The course might be somewhat useful for someone interested in testing software applications and games. QA Testers ensure software products meet certain standards of quality. A QA Tester is often someone with a detail oriented mind who likes finding innovative ways to break things.

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 Making an Infinite Runner with Unity.
Provides a comprehensive guide to Unity development, covering a wide range of topics from basic concepts to advanced techniques. It serves as a valuable reference for understanding the Unity engine and its features. It is particularly useful for solidifying your understanding of Unity concepts. It is commonly used as a textbook for Unity courses.
Provides valuable insights into common design patterns used in game development. It helps in writing cleaner, more maintainable, and extensible code, which is crucial for a project like an infinite runner. While not a prerequisite, it offers a deeper understanding of the code structure. It useful reference for improving code quality.

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