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

Learn how to create and program your very own side-scrolling Space Shooter 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 side-scrolling Space Shooter 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 movement and firing mechanics

  • Scrolling Backgrounds

  • Enemies with multiple movement patterns

  • Spawning waves of enemies and space debris

  • Power Ups

  • Music & Sound Effects

  • A Fully-featured Boss Battle

  • Fully interactive menus

  • Tracking scores and high scores

  • and more...

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

Enroll now

What's inside

Syllabus

Introduction
Asset Files
Setup
Setting Up The Project
Read more
Quick Guide To the Unity Layout
The Player & Backgrounds
Importing Assets
Moving The Ship
Keeping The Player On Screen
Saving The Scene
Adding a Background
Scrolling the Background
Adding Depth & Moving Objects
Making Solid Meteors
Shots & Explosions
Creating a Laser Shot
Firing Shots
Auto firing
Shot Impact Effects
Destroying Meteors
Particle Explosion Effect
CHALLENGE - Create Player Explosion Effect
Health
Player Health System
Enemies
Making Enemies
Enemy Movement
Better Movement
Creating Enemy Shot
Making Enemies Fire
Giving Enemies Health
CHALLENGE - More Enemies
Enemy Waves & Lives
Making Waves
Spawning Waves
CHALLENGE - Making More Waves
Dying & Extra Lives
Respawn Invincibility
UI
Setting up Game Over Screen
Activating & Using Game Over Screen
Showing Lives
Showing Health
Score Tracking
High Score
Power Ups
Creating a Shield
Picking up shield
Speed Boost
Double Shot
Enemies dropping PowerUps
Music & Menus
Adding Music
Ending Level
Controlling The Player After Level End
Adding EndScreen Info
Pause Menu
Reusing Objects in new scenes
Main Menu
The Boss
Bringing in the Boss
Hurting the Boss
Showing Boss Damage
Boss Attacking
Setting up battle phase
Completing Boss Battle Phases
Setting up a Big Explosion (& Fixing Animation Bug)
Defeating the Boss
Finishing The Game
Game Complete Screen
Building The Game
BONUS: COMPLETE PROJECT FILES
Completed Project Files

Save this course

Save Create a Space Shoot 'Em Up With 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 Create a Space Shoot 'Em Up With Unity with these activities:
Review C# Fundamentals
Reinforce your understanding of C# syntax and programming concepts. This will make learning Unity scripting much easier.
Browse courses on C# Scripting
Show steps
  • Review basic C# syntax and data types.
  • Practice writing simple C# programs.
  • Familiarize yourself with object-oriented programming concepts.
Brush up on Linear Algebra
Review linear algebra concepts to better understand game object transformations. This will help you understand how objects move and rotate in 3D space.
Browse courses on Vectors
Show steps
  • Review vector addition and scalar multiplication.
  • Understand matrix multiplication and its applications.
  • Learn about transformations in 2D and 3D space.
Follow Unity Tutorials
Work through Unity's official tutorials to gain hands-on experience. This will help you become more familiar with the Unity editor and its features.
Show steps
  • Choose a Unity tutorial relevant to 2D game development.
  • Follow the tutorial step-by-step, paying attention to the explanations.
  • Experiment with the code and settings to understand how they work.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Scripting Movement
Practice scripting different movement patterns for game objects. This will improve your ability to create dynamic and engaging gameplay.
Show steps
  • Implement basic movement using transform.Translate.
  • Experiment with different movement speeds and directions.
  • Implement more complex movement patterns using forces and physics.
Create a Simple Prototype
Start a small, personal project to apply what you've learned in the course. This will help you solidify your understanding and build your portfolio.
Show steps
  • Design a simple game mechanic or feature.
  • Implement the mechanic using Unity and C#.
  • Test and refine the mechanic until it's polished.
Write a Dev Blog Post
Document your game development journey and share your insights with others. This will help you reflect on your learning and build your online presence.
Show steps
  • Choose a topic related to your game development experience.
  • Write a clear and concise blog post about the topic.
  • Share your blog post on social media and relevant forums.
Contribute to a Unity Asset
Contribute to an open-source Unity asset to gain experience working on a larger project. This will help you learn about collaboration and best practices.
Show steps
  • Find an open-source Unity asset that interests you.
  • Identify a bug or feature that you can contribute.
  • Submit a pull request with your changes.

Career center

Learners who complete Create a Space Shoot 'Em Up With Unity will develop knowledge and skills that may be useful to these careers:
Hobbyist Game Developer
A hobbyist game developer creates games for personal enjoyment, often working on projects in their spare time. This course would directly support building a complete game. By guiding students through the process of creating a space shooter game, the course gives them the knowledge and confidence to pursue game development as a hobby. One who wishes to develop games as a hobby may find this course perfect.
Game Developer
A game developer designs and codes video games for various platforms. This often involves creating the core mechanics, implementing game logic, and ensuring a smooth and engaging player experience. This course, focused on creating a space shooter using Unity, directly aligns with the skills needed for a game developer. The course's syllabus which includes movement and firing mechanics along with spawning enemies and implementing UI, gives aspiring game developers the foundational knowledge to build interactive games. Those who wish to pursue a career as a game developer may find this course helpful.
Unity Developer
A Unity developer specializes in using the Unity game engine to create interactive experiences, including games and simulations. Their expertise lies in scripting gameplay elements, optimizing performance, and integrating assets into the Unity environment. This course provides a strong introduction to Unity development by guiding students through the creation of a space shooter game. Learning to implement features such as scrolling backgrounds, enemy waves, power-ups, and boss battles within Unity can help aspiring Unity developers build a solid portfolio and demonstrate their skills. One interested in becoming a Unity developer may find this course helpful.
Indie Game Developer
An indie game developer works independently or as part of a small team to create and publish their own video games. They often wear multiple hats, handling programming, art, design, and marketing. This course is particularly valuable for aspiring indie game developers. By learning to create a complete game from scratch—including movement, enemies, scoring, and UI—individuals can gain the confidence and skills needed to embark on their own game development projects. One interested in pursuing a path as an indie game developer may find this course immensely helpful.
Gameplay Programmer
A gameplay programmer focuses on implementing the interactive elements of a video game, such as character movement, combat systems, and artificial intelligence. This involves writing code that brings the game's design to life and ensures a fun and engaging player experience. This course aligns well with the responsibilities of a gameplay programmer. The course covers essential gameplay mechanics, including player movement, firing projectiles, enemy AI, and power-up implementation. Anyone wishing to become a gameplay programmer may find this course very useful due to its discussion of gameplay elements.
Game Designer
A game designer is responsible for conceiving and designing the overall vision and mechanics of a video game. This involves creating game concepts, defining rules, and designing levels to provide an engaging and entertaining player experience. This course, though focused on implementation, gives insight into common design patterns. Creating a space shooter from scratch involves considerations about game progression, difficulty, and reward systems. Someone who wishes to become a game designer may be helped by grasping implementation details.
Mobile Game Developer
A mobile game developer specializes in creating games for smartphones and tablets. While this course doesn't explicitly focus on mobile optimization, the core game development principles learned in this course are transferable to mobile platforms. The course provides a practical introduction to game development with Unity covering game mechanics, UI design, and asset integration, which can form a foundation for mobile game development. Aspiring mobile game developers may find this course a starting point on their path.
Simulation Developer
A simulation developer creates realistic and interactive simulations for training, research, or entertainment purposes. The skills learned in this course, such as creating movement mechanics, implementing object interactions, and designing user interfaces, are highly applicable to simulation development. The course's focus on using Unity, a versatile engine, further enhances its relevance to this field. Someone looking to create simulations may find this course helpful.
AI Programmer
An artificial intelligence programmer develops the AI systems that control non-player characters and other dynamic elements within a game. This course directly supports this path by providing a look into enemy movements. The course includes the creation of enemies with varied and complex movement patterns. Understanding this would enable the AI programmer to script more complex movements. One who wishes to become an AI programmer may find this course helpful.
VR Developer
A virtual reality developer creates immersive experiences using VR technology, often utilizing game engines like Unity. This course helps VR Developers learn Unity in a game context. The course provides hands-on experience with creating interactive game elements, implementing movement and interaction mechanics, and designing user interfaces. All these are relevant to VR development as well. Aspiring VR developers may find this course helpful despite its limited scope.
AR Developer
An augmented reality developer creates applications that overlay digital content onto the real world, often using mobile devices or specialized AR headsets. This course may help AR developers learn how to program interaction in Unity. The course provides hands-on experience with creating interactive game elements, implementing movement and interaction mechanics, and designing user interfaces. These are also applicable skills for an AR developer. One who wants to become an augmented reality developer may find this course of use.
Software Engineer
A software engineer designs, develops, and tests software applications. While not specific to game development, the skills learned in this course, such as programming logic and problem-solving, are transferable to software engineering roles. Concepts of software architecture and design appear in game development as well and are implemented using logic similar to that found in other contexts. The practical experience of building a complete game from scratch can be a valuable asset in demonstrating coding proficiency. One who wishes to transition to software engineering may find that this course helps in gaining a practical understanding of software development workflows.
Technical Artist
A technical artist bridges the gap between artists and programmers, ensuring that art assets are efficiently integrated into a game engine and that artistic visions are technically feasible. This course may support the development of technical skills useful in game development. Learning about asset use, game construction, and the architecture of Unity may be helpful for a technical artist. One who wishes to pursue a path as a technical artist may find this course useful.
Computer Science Teacher
A computer science teacher educates students on programming, algorithms, and software development. While this course doesn't directly cover teaching methodologies, the practical game development skills learned can enrich a computer science curriculum or provide engaging examples for students. The course's hands-on approach to creating a space shooter game can be adapted into classroom projects or demonstrations, making learning more interactive. One who wishes to become a computer science teacher may find this course enriching.
Tools Programmer
A tools programmer creates software that helps other game developers such as artists streamline their workflows. While this course is focused on game creation, the lessons about architecture and asset management may be useful for a tools programmer. The focus on Unity may teach one how to connect code with a game engine. An aspiring tools programmer may learn from this course.

Reading list

We haven't picked any books for this reading list yet.
Covers shaders and effects in Unity. It great resource for beginners who want to learn how to create custom shaders and effects.
Covers best practices for using Unity in production. It great resource for experienced Unity users who want to learn how to create high-quality games.
Provides a comprehensive overview of Unity, covering everything from the basics to advanced concepts. It great resource for both beginners and experienced Unity users.
Covers game design patterns in Unity. It great resource for beginners who want to learn how to create reusable and maintainable game code.
Focuses on augmented reality game development in Unity. It great resource for beginners who want to learn how to create AR games.
Provides a comprehensive overview of the game development process, covering everything from game design to programming to art and sound design. It's a great starting point for anyone who wants to learn more about game development.
Classic in the field of game design, and it's a must-read for anyone who wants to learn more about the art and science of creating great games.
Practical guide to writing efficient and maintainable game code. It's a great resource for anyone who wants to improve their programming skills.
Great introduction to game programming for beginners. It uses a simple programming language called Game Maker Language (GML) to teach the basics of game development.
Comprehensive guide to game development with Python. It covers everything from game design to programming to art and sound design.
Deep dive into the architecture of game engines. It's a great resource for anyone who wants to learn more about how game engines work.
Explores the psychological principles behind game design. It's a great resource for anyone who wants to learn more about how to create games that are fun and engaging.
Comprehensive guide to level design. It covers everything from the basics of level design to the more advanced techniques used by professional level designers.
Practical guide to writing great game narratives. It covers everything from the basics of storytelling to the more advanced techniques used by professional game writers.
Comprehensive guide to game development and production. It covers everything from the basics of game development to the more advanced techniques used by professional game developers.
Provides a comprehensive overview of the C# language, covering everything from the basics to advanced topics such as generics, delegates, and asynchronous programming.
Great introduction to C# for beginners, covering the basics of the language as well as more advanced topics such as object-oriented programming and data structures.
Collection of recipes that demonstrate how to solve common programming problems in 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