Meet The Instructor

Portrait Image of Billy McDaniel

Hi, I'm Billy McDaniel—a passionate game developer and Udemy Instructor with over 20,000 students worldwide.

For more than a decade, I've been actively involved in game development, publishing:

  • A half-dozen indie games on Steam
  • A variety of 3D model packs in the Unity Asset Store
  • Over a dozen highly-rated Udemy courses on Unity C# and Blender

As an instructor, I take great pride in creating clear, practical, and engaging lessons. My courses are designed to help students apply real-world game development skills right away.

More than anything, I love teaching and helping aspiring game developers bring their ideas to life. Whether you're new to Unity or Blender or looking to sharpen your skills, I'm here to support your journey!

Hear My Voice

What Students Are Saying..

"The instructor has an amazing way of communicating his lectures. Better than most I've listened to."

- Stephen D.

"The instructor does a great job explaining everything slowly and concisely for easy learning."

- Delvin W.

"Everything is explained in great detail! Very easy to understand what is going on"

- Jacob S.

"One of the most valuable courses on Blender I have taken. If you are a solo dev this is a must-have. Thank you Billy."

- C Cl.

Featured Courses

Blender Made Easy: A Beginner's Guide to 3D Game Development

Blender Made Easy: A Beginner's Guide to 3D Game Development

Learn Blender step-by-step and create game-ready 3D assets for Unity with ease.

Are you eager to bring your creative visions to life and step into the world of 3D game development? Whether you're an aspiring game developer or just starting your journey into 3D modeling, "Blender Made Easy: A Beginner's Guide to 3D Game Development" is the perfect course to help you get started.

This hands-on course takes you step-by-step through the essential tools, techniques, and workflows in Blender, the industry-leading 3D modeling software. From creating simple 3D models to assembling game-ready scenes, this beginner-friendly guide is designed to make learning Blender accessible and rewarding.

Here's what you'll achieve:

  • Master Blender's interface and confidently navigate in 3D space.
  • Create game-ready models such as crates, barrels, trees, and more.
  • Apply materials, textures, and UV maps to make your models look game-ready.
  • Export your creations to Unity and build immersive scenes.

By the end of this course, you'll have created a game-ready scene and developed the skills to design your own 3D assets for games.

Enroll Now!
Procedural City Generation in Unity C#: Grid-Based & Modular

Procedural City Generation in Unity C#: Grid-Based & Modular

Build grid-based procedural cities in Unity C# with modular prefabs, randomized roads, zoning, and automated placement.

Are you ready to master procedural city generation in Unity C#? This course will teach you how to build grid-based, modular cities using automated road placement, prefab randomization, and height-zoning logic to create realistic urban environments.

You'll start by learning the core programming fundamentals necessary for procedural generation, including understanding arrays and lists, grid mapping, and designing custom classes. Then, you'll dive into creating and preparing prefabs from modular parts, ensuring that your city assets are structured efficiently for procedural placement.

Next, you'll develop a city generation script that automates the process of placing roads, adjusting city borders, and fixing connectivity gaps. You'll also learn how to instantiate prefabs dynamically based on grid data, bringing your procedural city to life.

To add variety and realism, you'll implement randomized prefab variations and runtime randomization techniques to ensure that every generated city looks unique. Finally, you'll integrate height-zoning systems to structure your city in varied heights, making your cities feel more lifelike.

In the final stages, you'll optimize your city for performance by using Mesh Combine techniques, allowing you to drastically reduce draw calls and improve rendering efficiency. This means your procedural cities will not only look great but run smoothly, even in large-scale environments.

By the end of this course, you'll have a fully functional procedural city generator in Unity C#, along with the knowledge and skills to expand and customize it further for your own projects, whether for game development, simulations, or world-building.

Enroll Now!
C# Procedural Random Dungeon Generator in Unity 3D & Blender

C# Procedural Random Dungeon Generator in Unity 3D & Blender

Learn interior-only random dungeon generation using a geomorph method that connects modular rooms and hallways in C#

Learn how to manipulate prefabricated rooms and halls with C# scripting to generate a unique randomly generated dungeon for your video games in Unity. Included in the course are a set of modular room and hall tiles which we'll use to create our dungeons. We'll start in Blender where we will export the individual mesh information to an fbx file and then import them into Unity and convert them to prefabs that we can use in our project. Next, we'll write a complete procedural C# script that uses those prefab tiles to generate intricate and endless variations of dungeons for your 3D games.

The course is intended for intermediate-level Unity game developers who have a strong desire to create random environments in an interior-only series of rooms and hallways. We'll jump right into the code and write methods that perform specific functions while piecing everything together to produce the desired results.

You'll also learn to recognize the tile requirements which will be useful if you decide to go shopping for tiles to add to your collection or if you want to create your own.  This course is intended for video game developers with a desire for adding unpredictable environments to their games.

Enroll Now!
Unity 2D Random Dungeon Generator for a Roguelike Video Game

Unity 2D Random Dungeon Generator for a Roguelike Video Game

A simple approach to programming a top down 2D random dungeon generator for roguelike video games using C# in Unity

This is a course intended for beginner to intermediate Unity / C# video game developers who have an interest in the classic rogue-like video game genre. We'll be borrowing old familiar pixel art graphics to generate our 2D grid-based environments, characters and enemies.

This course is not a complete game. It's purpose is to explore a couple of simple random dungeon generation tactics and get you started in the world of procedural level generation.  You'll also learn how to apply a rounded edge around all of the walls of your random dungeon to break up the repeating patterns and give the environment a more organic look.

As an added bonus, I've included a section to demonstrate a simplified method for enemy path finding.  This method uses a flood fill approach to find the shortest path between an enemy and the player. Your enemies will be able to patrol in random directions, chase the player using a flood fill path finding approach as well as engage with the player to begin attacking.

Enroll Now!
Learn Blender 3D Modeling for Unity Video Game Development

Learn Blender 3D Modeling for Unity Video Game Development

Learn to Create or Edit Props, Design Levels, Apply Material and Simple Animations using Blender 3D for Unity Developers

This course was designed for Unity developers who want to extend their capabilities to include 3D modeling in Blender.

Whether you're interested in designing unique 3D props for your games, building awesome levels, or tweaking your existing Unity Assets, this course can help you get through the learning curve and put you in the driver's seat.

You'll learn to Blend like a pro with a good working knowledge of all of the most common tools for editing video game props and level design.

We cover all the basic terms, keyboard shortcuts, best practices, time-saving tips, basic animation, assigning uvs, applying materials, textures and more.

Enroll Now!
Low-Poly Character Modeling & Animation in Blender for Unity

Low-Poly Character Modeling & Animation in Blender for Unity

Learn how to Model, Color, Rig, Animate and Script a Low-Poly 3D Character in Blender for Unity Video Game Developers

In this course, we'll design a low-poly, flat shaded cartoon-style character model in Blender with separate parts for facial features including eyes, nose, teeth, ears, hair, hats & helmets, clothing, armor and melee weapons. We'll setup bones and rigging so that we can fully animate our new model. And then I'll show you how to use a grayscale color atlas material that allows you to create any colored material you desire from within Unity. Next, we'll setup the Animator state machine and write a script that allows us to change animation clips on demand. We'll download a few clips from Mixamo's free website to get started.

By the end of this course you should have a good foundation to build a variety of character models in Blender with the freedom to swap out animations however you see fit. My goal is to help you finish this course with all of the experience you need to start making  low-poly, flat-shaded characters and enemies for your Unity video games.

So if this sounds like something you'd like to start doing on your own... then welcome aboard. I hope to see you in the next lecture.

Enroll Now!
Zombie Escape: A Point & Click 3D Game using Unity's NavMesh

Zombie Escape: A Point & Click 3D Game using Unity's NavMesh

Design a full game using Unity's built-in A* pathfinding solution with C# code for controlling Enemy AI Combat & Patrol

Welcome to Zombie Escape, a comprehensive course designed for beginner to intermediate level game developers, guiding you step-by-step through creating an immersive Point & Click 3D game using Unity's powerful NavMesh system.

In this course, you will:

  • Implement Point & Click player movement with Unity's NavMesh Agent and create smooth animations based on velocity
  • Develop a versatile Finite State Machine (FSM) in C# to control enemy behaviors such as Patrol, Idle, Chase, Attack, and Standby
  • Build a geomorphic-style procedural level generator and leverage Unity's NavMesh Surface for A* Pathfinding in dynamically generated environments
  • Configure NavMesh Agents, Obstacles, Modifiers, Areas, and Agent Types to create realistic and challenging gameplay
  • Design intelligent enemy flocking behaviors, ensuring enemies surround the player while waiting for their turn to attack
  • Create enemy Spawn Nests with customizable rules for activation, enemy types, and rewards
  • Utilize ScriptableObjects for effective organization and memory optimization
  • Implement a Singleton script to manage health, inventory, and upgrades across multiple scenes and levels
  • Design comprehensive Health & Combat systems to make your game fully playable and enjoyable

By the end of this course, you'll have gained the skills and knowledge to create your own captivating 3D games using Unity's NavMesh system, and you'll be well-equipped to tackle more advanced game development challenges. Join us on this exciting journey and create your own Zombie Escape today!

Enroll Now!

Join Our Discord Community

Get direct help, discuss projects, and receive exclusive course discounts.

Join Discord