Search and Compare course prices, ratings, and reviews. Over +350 Design and Technology courses in one place!

How to Program Voxel Worlds Like Minecraft with C# in Unity

(12 customer reviews)
Product is rated as #97 in category Development

What you’ll learn

  • Build a cube-based geometric world like that generated in Minecraft.
  • Navigate and manipulate discrete values in 3d space.
  • Build and skin meshes from scratch using C#.
  • Save and Retrieve Serialised Data.
  • Build and manage a voxel data structure.

All New Content Added for Unity 2020+

Did you know that there is not one single cube used in Minecraft? Have you ever looked at Minecraft and wondered, “How did they build it?” – a great thing to ponder, it is.  If you haven’t and think that programming a whole bunch of cubes is child’s play, then think again. On the surface Minecraft looks as though it would be a simple world to recreate in Unity. Start placing cubes around a scene and see how far you get before the frame-rate grinds to a mind-numbing halt.  So wonder and fret no longer, as this course reveals the secrets of programming and rendering procedurally-generated voxel worlds, like Minecraft, with C# in Unity.

In this course, Penny teaches all the invaluable skills you will require to build a blocky world from scratch using her internationally acclaimed teaching style and knowledge from over 30 years working with games and graphics.  But hold on tight as you’ll be taken on a journey across the computer graphics realm as it is taught to post-graduate university students. Through detailed descriptions and hands-on workshops examining all you need to know about 3d data structures, building meshes from scratch, using noise algorithms to generate terrain features and caves, and texturing blocks you will be programming your own world in no time.

Learn how to program and work with:

  • voxels
  • custom built polygons and meshes
  • vertices and normals
  • UV mapping
  • texture atlases
  • parallel processing and the Unity Job System
  • Unity’s MeshAPI for parallel mesh creation
  • Perlin noise
  • infinite terrain generation
  • loading and saving data

Contents and Overview

After getting a little experience in why it’s such a bad idea to build a Minecraft type world using cubes, you’ll start following along with Penny, exercise after exercise, toward the end of building your very own and unique blocky terrain.

You’ll begin by dissecting a cube and examining its fundamental parts from vertices, to normals, to texture mapping.  Armed with this knowledge, you will then begin writing code that redefines the cube and makes it far more efficient to draw as a terrain component.  You’ll then bring these pseudo-cubes together to form chunks, to optimise rendering performance. Once you’ve worked on creating a solid world of chunks you will then learn about smooth noise and a little fractal geometry will be introduced to assist you in carving out realistic landscape features including caves.

With terra-firma to stand on, you’ll next add a player character and start exploring the new world.  To prevent you falling off, you will also start working on the logic to build the world around you in real-time, out to infinite boundaries.

When you are done with exploring, it will be time to start digging and building.  It’s in this part that you will learn how to add and remove blocks at the click of a button to further mould the terrain to your liking.

Finally, you’ll cover the dynamics of adding flowing water, falling sand and start working on the logic for creating your very own biomes.

What students are saying about this course:

  • Hi! I wanted to thank you and compliment you for the Minecraft Unity course. I’ve been a (web) programmer for 20 years. After so long creating somewhat boring work I’m excited to make games. My interest is in creating procedurally generated, complex worlds. Learning about Minecraft, therefore, seemed like a good idea.
  • Love the amount of detail Penny goes into! Not too little, not too much, she manages to hit the sweet spot that gets you a deep understanding of what’s going on, coupled with the ability to jump in with confidence and start doing things yourself. VERY pleased with my course purchase, and look forward to more by her!
  • Clear, concise, introduction and extension of concepts required to efficiently generate Minecraft style worlds, including Perlin noise and fractal Brownian motion.

Who this course is for:

  • Anyone interested in how to put together a blocky voxel world like Minecraft.
  • Anyone interested in building and skinning geometry in a virtual world through code.
  • Anyone who loves Minecraft and is interested in the complexities that go on behind the scenes.
  • Anyone interested in expanding their Unity technical skills with respect to manipulating geometry with code.
  • Anyone interested in optimising the rendering process for large scale data and multiple textures.

12 reviews for How to Program Voxel Worlds Like Minecraft with C# in Unity

4.4 out of 5
Write a review
Show all Most Helpful Highest Rating Lowest Rating
  1. Kyle Keersemaker

    Great course that starts off really strong. Overall the way of teaching is fantastic and this course really helps you understand how a game like minecraft works.

    This course is probably designed for people with some knowledge of Unity as you really need to understand the basics first before you can understand how all of this works.

    The only downside really was that the content hasn’t been updated in years, so some small issues occur when working with newer versions of Unity.

    Helpful(0) Unhelpful(0)You have already voted this
  2. David Pulcifer

    Edit for Newer version:

    The new version of the course is very much improved! The explanations of Perlin Noise were good before, but are even better in this version. The end product is a lot closer to a useable project than before. The performance improvements are significant and the teaching methodology is fantastic.

    My last remaining critique is there are a couple things implemented at the end of the course that were only half implemented and which create major problems the student would need to solve.

    The way water is implemented means your caves will all be filled with water. And the way the water post processing is implemented makes it look like you are under water any time you dig down deeper than the water level, even when you aren’t in the water.

    It’s a cool effect but I’m not sure the approach being used would be easy to fix. It would probably be better to go a different route with the water post processing. So, the time spent on the post processing could probably be better spent finishing up the water implementation so it doesn’t fill in the caves, or spending more time on Biomes.

    I know the course can’t go on forever, so I think it would be better to leave out the post processing, and wrap up on a fully implemented water system, so the student ends on a high note and a feeling of completion.


    Fantastic primer on Perlin noise and procedural generation.

    Note that (as of August 2021) this is still the original Unity 2017 course. The instructor has promised an updated course, but it hasn’t been released yet. I was fooled by the update stamp, and thought it was a newer course.

    The course as-is has some very interesting concepts, but the code is not optimized enough to create a viable project. Expect to do research of your own to get it in shape to actually use.

    Also of note, this is one of the instructor’s earliest courses, and as you might expect there are some areas that could be smoothed out that are much improved in her later courses.

    The teaching method is primarily explaining pre-written code, but the problem is there are code additions and refactoring that happens from video to video which is harder to follow along in this style.

    This is compounded by the fact that the instructor doesn’t always catch all of the changes that were made, so several times I had to download the example project because I had no clue what I had missed when following along with the video.

    Overall decent course and I’m looking forward to the update when it is released.

    Helpful(0) Unhelpful(0)You have already voted this
  3. HarryLu

    The course is great, I use one week to finished it. It is a advance unity course, you should have some basic knowledge about unity and C# to take it. But it have some problem in lecture 30, if you dont want switch to premade project you need use premade project check code line by line and use QA to solve some problems. There will have some very small changes that instructor didn’t say, so you need find them by yourself(that will spend some time but you will more familiar with these code how to work).

    Helpful(0) Unhelpful(0)You have already voted this
  4. Guilherme Manacorda

    That´s was the bether experiencie with Unity and a incredible teacher in the internet. Thanks a lot Penny De Byl.

    Helpful(0) Unhelpful(0)You have already voted this
  5. Patrick Daniel Hermann

    A very good course to learn how games like Minecraft works.

    Helpful(0) Unhelpful(0)You have already voted this
  6. Scott Moses

    This updated version (as of 2021) is an excellent course and one of my favorites. Great overall strategy for building out, step by step, complex game logic, and incorporating parallelism and asynchrony. The deep dive into C# coding in Unity, really differentiates Penny’s courses from the others on Udemy and elsewhere. I have only 2 suggestions. First, consider putting the code in a git repository, with each course section as a different branch. The udemy approach to tacking on resources to lectures feels haphazard. Secondly, and more importantly, the level of coding practices does not match the excellent coding complexity and depth. As an examples, there is frequent duplication of more complex code that might be best reused from a methods and variables. I frequently refactored what I saw Penny perform, in order to avoid repetition and improve code readability. There are also many simple autocompletion tricks that Penny did not use. One of the benefits of code along, is picking up new coding strategies for design, readability and efficiency – and this is less present here. However, I’ll repeat, that is updated version is an excellent course and the small suggestions for improvement, are far overshadowed by awesome content and Penny’s teaching style. Thanks for another great course Penny.

    Helpful(0) Unhelpful(0)You have already voted this
  7. フィアンビエットソンタイ

    Very useful and very detail explains.
    I like this course 😀

    Helpful(0) Unhelpful(0)You have already voted this
  8. Sean Steezy

    Learning a lot of good stuff

    Helpful(0) Unhelpful(0)You have already voted this
  9. Udemy

    You get what you pay for. I wish I had skipped all the free stuff and went straight to these courses.

    Helpful(0) Unhelpful(0)You have already voted this
  10. D X

    As a hobbiest programmer I found the instructions clear and easy to use and the videos help with being able to pause and repeat areas of interest. Everything is explained clearly and the tasks are smoothed into chunks of easily digestable data for me to understand what is being done.

    Helpful(0) Unhelpful(0)You have already voted this
  11. Balazs Boros

    So far in Section 2: How to Build a Block nothing is being explained in detail at all. She just says we will do this and that, but without any explanation to why this way. So far not really happy, hopefully it will change.

    Helpful(0) Unhelpful(0)You have already voted this
  12. Kevin Davis

    I’m not the brightest bulb in the bulb drawer but I was able to keep along and actually accomplish many of the challenges of this course thanks to Penny’s teaching ability and style. While taking this course I was able to go back to my old game development project with a reframed understanding of programming and make it better. I look forward to taking her other courses.

    Helpful(0) Unhelpful(0)You have already voted this

    Add a review

    Your email address will not be published.

    How to Program Voxel Worlds Like Minecraft with C# in Unity
    How to Program Voxel Worlds Like Minecraft with C# in Unity


    Compare items
    • Total (0)
    Shopping cart