We may earn an affiliate commission when you visit our partners.
Penny de Byl, Michael Bridges, and Penny Holistic3D

Have you ever wanted to create your own computer game from scratch?  Are you a programmer that would like to also create your own 3D art assets?   Then this course is for you.  In it, you will follow along learning both the coding and art side of game development giving you the necessary skills required to be an independent game developer.

Dive right into over 20 hrs of hands-on content.

Read more

Have you ever wanted to create your own computer game from scratch?  Are you a programmer that would like to also create your own 3D art assets?   Then this course is for you.  In it, you will follow along learning both the coding and art side of game development giving you the necessary skills required to be an independent game developer.

Dive right into over 20 hrs of hands-on content.

This course takes a holistic view at creating a Tower Defence game level through the examination of game mechanics, coding exercises in C# with the Unity Game Engine (works in all versions of Unity including Unity 6. ), and 3D art asset creation in Blender.

Through the investigation of this simple but compelling casual gaming genre, the course is broken into 2 parts that can be taken separately or together:

In Part A learn how to program and work with:

  • Pathfinding

  • Character Animation

  • User Interface Development and Programming

  • Economy systems including player lives, and money accumulation & spending

  • Special effects including sound effects, particle systems, and explosions

  • Automated enemy-sensing towers

In Part B learn how to design and work with:

  • Blender

  • Modular 3D art assets for game level design

  • Procedurally Generated Textures

  • A multipart game character with sub-meshes that can be independently controlled with code in Unity

In this course, Penny and Mike teach all the invaluable skills you will require to design, program, and model your own Tower Defence game from scratch.  You will learn from their combined 40 years of knowledge about Unity and Blender through detailed descriptions and hands-on workshops.

What students are saying about Penny and Mike's other courses:

  • As a game developer with 3+ years experience under his belt, I would like to say that I have learned a lot, and also improved on what I knew already before the course.

  • This course is absolute gold. I am a Software Engineering Teacher as well as a solo game developer, and of all the courses I have taken on Udemy, this is has been the most useful and eye opening by far.

  • I've taken some great courses on this site, this has to be the best in terms of volume, clarity and thoroughness. In this course you will: 1) Learn several procedural generation methods 2) Learn some cool Blender functionality 3) Learn how to make a pathfinding algorithm I was only expecting number 1) but seeing how much extra stuff is here, I'm definitely coming back to go deeper and help some of the trickier stuff sink in. Can not recommend enough. Do this course now.

Enroll now

What's inside

Learning objectives

  • Work with pathfinding to create autonomous characters that navigate a 3d environment.
  • Translate tower defence game mechanics into c# code in unity
  • Use blender to create modular 3d game objects for use in level design
  • Design and develop moveable 3d models that can be programmatically moved with c# code in unity

Syllabus

This section introduces students to the course and covers several housekeeping issues.

In this video students will get an overview of the content of the course from Mike and Penny.

Read more

H3D has a bustling online student community.  Here's how to get involved.

Please read over this list of regularly asked questions as they will help you navigate the course content.

In this lecture the students will be introduced to the game mechanics that go into constructing the rules for a tower defence game.

In this video students will learn how to setup the AI Navigation package for the versions of Unity that it is not automatically included with.  This package will be used later in this course.

While this course was developed in a previous version of Unity, we've tested the projects and they work with Unity 6.  This video is a guide to help you adjust your learning in this course to use Unity 6.

By the end of this section students will be able to construct a navmesh in a 3D Unity environment and program a character to navigate it.

In this lecture students will learn how to setup a basic navigation mesh and add obstacles to it.

In this lecture students will learn how to setup a navmesh agent and program it to move to a destination location.

In this lecture students will learn how to create multiple spawn points that will spawn differing navmesh agents.

In this lecture students will learn how to determine when all the agents have been destroyed as well as limiting the number of agents created and the times they are created.

By the end of this section students will be able to create a graphical user interface that allows for selecting game objects and dragging them into a 3D scene.

In this lecture students will learn how to instantiate and place objects in the world with a mouse click.

In this lecture students will learn how to drag and object around in a 3d world  with the mouse and position it based on raycasts.

In this lecture students will learn how to restrict the placement of turrets onto of a platform as well as investigate how the code base can be adapted for mobile devices.

In this lecture students will learn how to modify the project to cater for actual mesh models of turrets.

By the end of this section students will be able to develop a complex user interface with numerous UI elements.

In this lecture students will learn how to add a graphical user interface with buttons.

In this lecture students will learn how to program a button to instantiate a turret and then drag it onto a platform.

In this lecture students will learn how to create a popup menu for upgrading turrets.

In this lecture students will learn how to make a menu open and close as well as be repositioned when a turret is clicked on.

In this lecture students will be challenged to add a new turret type from scratch.

By the end of this section students will be able to program autonomous weapons that can sense enemies and fire at them.

In this lecture students will learn how to add triggers to the turrets to detect when an enemy is nearby and then to target them.

In this lecture students will learn how to restrict the horizontal movement of the turret.

In this lecture students will learn how to rotate the tower vertically to further enhance aiming capabilities.

In this lecture students will learn how to reset the rotation of the turret back to the default when there are no enemies in range.

By the end of this section students will be able to create enemy characters and manipulate their properties and health status.

In this lecture students will learn how to use scriptable objects to store data relating to a series of prefabs.

In this lecture students will learn how to create a 2D healthbar that will sit above the head of an enemy.

In this lecture students will learn how to reduce the health on an enemy when being shot at.

In this lecture students will correct the shooting accuracy of the turrets which in turn reveals another rotational problem that will also be fixed.

By the end of this section students will understand how to use Unity's scriptable objects to expand and customise the properties of their game characters.

In this lecture students will create a scriptable object to store the properties of the turrets.

In this video students will create a scriptable object for the turret properties, set the shooting behaviour and add a firing sound.

In this lecture students will learn and practice defining the properties of turrets using scriptable objects.

In this lecture students will learn how to add a new enemy character from scratch and spawn it in the scene.

In this lecture students will learn how to work with colliders to turn them on and off as required.

By the end of this section students will know how to add sounds and particle effects to enhance the gameplay and provide feedback to the player.

In this lecture students will start building the environment with proper models of walkways.

In this lecture the placement of platform models for the turrets will be discussed with respect to location and scaling.

In this lecture students will learn how to add extra shooting sounds to the other tower types and change the speed of shooting and the amount of damage.

In this lecture students will learn how to put together a particle system to simulate a simple flame blast.

In this lecture students will learn how to control the particle system with script to turn it on and off with the sound effects

In this lecture students will learn how to work with multiple particle systems and mesh emitters.

In this lecture students will learn how to create a particle system explosion effect using a flipbook of images.

In this lecture students will learn how to use Unity's object pooling system to control the amount of explosions on a screen at any one time.

In this lecture students will learn how to call the explosions on enemy death and ensure the objects are returned to the pool in addition to tweaking the explosion position.

By the end of this section students will be able to convert game mechanic ideas into interactive playable code.

In this lecture students will learn how to refactor the code to include waves of enemies being created by the spawn locations.

In this lecture students will learn how to add a delay between the end of a wave and the next.

In this lecture students will learn how to put together a simple UI to display the game information.

In this lecture students will learn how to update the wave text to display the current wave number and the total number of waves.

In this lecture students will be challenged to program the money making mechanic and display the player's money in the UI.

In this lecture students will learn how to decrement the number of lives a player has each time an enemy reaches the home position.

In this lecture students will learn how to create a set of buttons to control the speed of the game.

In this lecture students will learn how to manage the in game economy to take money away when a tower is placed on the map.

In this lecture students will learn how to modify the players money when towers are upgraded and destroyed.

In this lecture students will learn how to hook up a simple game over panel to have the level restart with the player either loses or their lives or, all of the enemies have been destroyed.

In the section, we will overview what's coming up in the Blender section and make sure we set up and ready to take the course.

In this lecture, Michael welcomes you to the Blender section of the course.

In this lecture, we discussed the importance of refrencematerial whenever you're working in Blender.

Sometimes you can use real-world reference material other times you have to rely on the creations of others.

In this lecture, we will discuss the workflow that we will be taking in this course, so you know what to expect coming up.

In this lecture, we will discuss how there are multiple approaches to any project, however, in a program like Blender that has multiple options on how to complete a similar or same task, it is important to understand that there is no "right" way.

In this lecture, we discuss what to do if you get stuck in the course. After completing this lecture, you should be in an excellent position to unstick yourself and know how to ask brilliant questions to get solutions quickly.

In this lecture, you will understand the importance of sharing your work.

As remote teachers, it can be challenging to know how your students are doing – therefore sharing your work is a great way to get feedback, it inspires us, tutors, as well.

In this lecture, you will find out where to find resources when they are needed in the course.

In this lecture, you will be guided as to continuing the course should you make an error where your work becomes irrecoverable.


This could be for any number of reasons, but by the end of this lecture, you will know how to continue the course.

If you are completely new to Blender, this section will get you up to speed, and by the end of it, you'll be ready to take the rest of the course. Feel free to come back to the section at any t

In this lecture, we will be covering Recommended Preferences, and in this lecture, you will learn how to customize Blender's settings to optimize your workflow and enhance your user experience.

In this lecture, we will be covering Editors and Workspaces, and in this lecture, you will learn how to use and customize the different editors and workspaces in Blender to streamline your workflow and improve your productivity.

In this lecture, you will understand how the same shortcut key can mean multiple things, depending on where you are within the Blender interface.

In this lecture, you will understand how to move around the 3-D view port, rotating around your model, zooming in and panning, and a few other great tips keep going.

In this lecture, you'll understand one of my favourite methods of navigating around your model – the walk mode.

In this lecture, we will have a look at the different 3-D editor modes that exist in Blender.

In this lecture, Michael will give you a bit of reassurance, especially if you need to Blender. Blender is incredibly shortcut heavy, and it will take a while for you to learn those shortcuts.

In this lecture, you will learn all about a quick way to access many other functions in Blender – the search feature.

In this lecture, you will learn the basics of adding primitive objects to your scene.

In this lecture, you will learn how to transform your objects, to move, scale and rotate them.

In this lecture, we will learn what the little orange dot(s) and cross hairs mean in the 3D view port.

In this lecture, we will learn about snapping – a fundamental tool whenever you need to align anything within Blender.

In this lecture, you will be introduced to the power of duplication, a time-saving tool that saves you from repeating yourself.

In this lecture, you will learn that you can type units into Blender's fields.

In this lecture, you will learn how to edit those primitive objects that you've added before – creating new mesh data.

In this, like sure you understand the fundamental difference between an object and the data contained within the object.

In this lecture, you will learn how to use part of a model to generate new mesh data.

Invoice lecture, you'll learn the importance of naming.

In this lecture, you will learn how to select face and edge loops to speed up your modelling.

In this lecture, you will learn about fills the filling gaps and creating new face data, and insetting.


In this lecture, you will learn how to separate mesh data from an object, and to combine objects together into one single object.

In this lecture, you will learn how to create a hierarchy of objects that are linked to one another.

In this lecture, you will move onto the next step of organisation by putting things into collections.

In this lecture, you will learn about bevels. Bevels are a great way of adding detail, so the edges of your mesh.

In this lecture, you will learn another optimisation when it comes to modelling, and that is mirroring. This will save you a lot of time from having to repeat yourself on multiple sides of a model.

In this, like sure you'll understand how you can add more detail to a model.

In this lecture, we dive a little deeper into Blender's data structure and discuss linked data.

In this lecture, we will have a look at viewport shading. Changing how the model looks in the viewport so that you can focus on your model in various ways.

In this lecture we go over the basics of water material is.

In this lecture, we look at the various properties that a material can have.

Save this course

Save Build a Tower Defence Game with Unity 6 and Blender 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 Build a Tower Defence Game with Unity 6 and Blender with these activities:
Review C# Fundamentals
Reinforce your understanding of C# syntax and object-oriented programming concepts. A strong foundation in C# is crucial for effectively implementing game mechanics in Unity.
Show steps
  • Review basic syntax, data types, and control flow.
  • Practice creating classes, objects, and methods.
  • Work through C# tutorials or online exercises.
Brush up on Blender Basics
Familiarize yourself with the Blender interface and basic modeling tools. This will enable you to efficiently create and modify 3D assets for your tower defense game.
Show steps
  • Explore the Blender interface and navigation.
  • Practice basic modeling operations like extruding, scaling, and rotating.
  • Follow a beginner-friendly Blender tutorial.
Unity 2023 Cookbook
Reference this book to find solutions to common coding and implementation challenges in Unity. It provides practical examples and recipes for various game development tasks.
Show steps
  • Browse the table of contents to identify relevant recipes.
  • Study the code examples and adapt them to your project.
  • Experiment with different approaches to solve problems.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Prototype a Simple Tower
Solidify your understanding of tower mechanics by creating a basic tower prototype. This hands-on exercise will reinforce concepts covered in the course.
Show steps
  • Create a simple 3D model for the tower in Blender.
  • Implement basic tower placement and targeting logic in Unity.
  • Add a simple projectile and damage system.
Document Your Level Design Process
Improve your understanding of level design principles by documenting your process. This will help you analyze your design choices and identify areas for improvement.
Show steps
  • Create a document outlining your level design goals.
  • Take screenshots of your level at different stages of development.
  • Write captions explaining your design decisions and challenges.
Mastering Modular Design
Study this book to learn about modular design principles, which are essential for creating reusable and efficient 3D assets in Blender.
Show steps
  • Read the chapters on creating reusable components.
  • Apply the principles to your Blender workflow.
  • Experiment with different modular design techniques.
Contribute to a Unity Asset
Deepen your understanding of Unity and game development by contributing to an open-source project. This will expose you to real-world development practices and collaboration.
Show steps
  • Find an open-source Unity asset on GitHub or GitLab.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Build a Tower Defence Game with Unity 6 and Blender will develop knowledge and skills that may be useful to these careers:
Indie Game Developer
An Indie Game Developer works independently or within a small team to create and publish their own video games. This course is an excellent resource for aspiring indie developers. It will provide the necessary skills to be an independent game developer. The course teaches both the coding and art side of game development. The course also teaches how to translate Tower Defence game mechanics into C# code in Unity.
Game Developer
A career as a Game Developer involves designing, coding, and testing video games for various platforms. This course is a launchpad, providing hands-on experience in both the programming and art aspects of game development. The course examines game mechanics and coding exercises in C# with the Unity Game Engine. Creating a Tower Defence game level provides practical experience. Furthermore, the course teaches procedural generation methods, which are valuable for creating diverse game content. The skills acquired will help you approach game development holistically.
Unity Developer
The role of a Unity Developer centers around using the Unity game engine to create interactive experiences, including video games and simulations. This course directly aligns with this career, as its core focus is using Unity to build a tower defense game. The course teaches how to translate Tower Defence game mechanics into C# code within Unity. Moreover, learners create moveable 3D models that can be programmatically moved with C# code in Unity. This ensures learners gain practical experience with Unity, a crucial asset for any aspiring Unity Developer.
Blender Artist
A Blender Artist creates 3D models and animations using the Blender software. This course offers a direct route into this field by teaching the fundamentals of 3D art asset creation in Blender. You will learn to design modular 3D game objects for use in level design. You will also learn to create procedurally generated textures. The well-designed materials in this course build a strong foundation in Blender, enabling you to create compelling 3D art for games and other applications. An aspiring Blender Artist should definitely consider this course.
Technical Artist
A Technical Artist bridges the gap between artists and programmers in game development, optimizing art assets for performance and implementing visual effects. This course may be particularly useful because it covers both art creation in Blender and programming in Unity. The course also covers character animation, special effects, and particle systems. By learning both the artistic and technical aspects of game development, you will be well-prepared to tackle the challenges of a Technical Artist.
Level Designer
Level Designers are responsible for creating engaging and functional game environments. This course helps by teaching how to design modular 3D game objects for use in level design within Blender. The course also includes practical exercises in creating a Tower Defence game level. The course also discusses special effects and sound effects. This offers a comprehensive overview of the level design process.
3D Modeler
As a 3D Modeler, you will create three-dimensional assets for various applications, including games, films, and virtual reality experiences. This course helps in this career by teaching the fundamentals of 3D art asset creation in Blender. The course also helps in creating modular 3D game objects for use in level design. The course will increase your modeling skills.
Simulation Developer
A Simulation Developer creates realistic simulations for training, research, or entertainment purposes. Building a Tower Defence game with Unity 6 and Blender may be useful in this career. It also helps with autonomous characters that navigate a 3D environment. The course also translates Tower Defence Game Mechanics into C# Code in Unity. The skills taught in this course will apply directly to simulation development.
Mobile Game Developer
Mobile Game Developers design and create games specifically for mobile devices like phones and tablets. The skills taught in this course may be useful. The course focuses on the Unity game engine. The course translates Tower Defence Game Mechanics into C# Code in Unity. Mobile development is a subset of game development with its own advantages, skills and needs. It is a lucrative field to enter.
Virtual Reality Developer
Virtual Reality Developers create interactive experiences for virtual reality platforms. The skills taught in this course may be useful. It also helps with the Unity game engine. The course also includes programming and development. The course offers a foundation for creating immersive VR games and applications.
Augmented Reality Developer
Augmented Reality Developers create interactive experiences that overlay digital content onto the real world. The skills taught in this course may be useful. It also helps with its focus on the Unity game engine. The course also translates Tower Defence game mechanics into C# code in Unity. While the course focuses on a specific game genre, the core development principles and Unity skills are transferable and beneficial.
Game Designer
A Game Designer conceptualizes and documents the rules, mechanics, and overall vision of a video game. This course may be helpful by providing a hands-on understanding of game mechanics through the creation of a tower defense game. The course also discusses game mechanics. Furthermore, learners translate Tower Defence game mechanics into C# code in Unity. This practical experience can inform and enhance your design decisions as a Game Designer.
Animator
Animators bring characters and objects to life through movement and visual storytelling. This course may be useful to you because it covers character animation within the Unity game engine. Furthermore, the skills learned in Blender for creating 3D models can be directly applied to creating characters ready for animation. This will help you create compelling animations.
Software Engineer
Software Engineers design, develop, and maintain software systems. While this course focuses on game development, the C# coding skills learned in Unity are transferable to general software engineering. The course helps by providing practical coding exercises. Moreover, you will learn how to translate game mechanics into code. This may be a good way to develop your coding abilities.
Instructional Designer
Instructional Designers create engaging and effective learning materials. This course may be useful because it covers game development. Instructional designers for educational video games are important in the creation of serious learning games. The course translates Tower Defence Game Mechanics into C# Code in Unity. The hands-on experience and clear structure of this course can translate well into creating effective educational games.

Reading list

We've selected one 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 Build a Tower Defence Game with Unity 6 and Blender.
This cookbook provides practical solutions to common Unity development challenges. It covers a wide range of topics, including scripting, animation, and UI development. valuable resource for intermediate Unity developers looking to expand their skillset and overcome specific hurdles in their projects. It serves as a useful reference during the course and beyond.

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