AB 3 of X — Unity vs. Unreal

Updates: Switching to Unreal!

Finn has started a new job! He’s now product manager of Data Services at Candid. John, in the meantime, has been watching videos by Unreal Sensei and decided to switch from Unity to Unreal. He’s grateful for everything he learned with Unity, but it seems like Unreal is a bit better suited for the kinds of open-world games that he loves.

John has been learning C++ and has been experimenting with building in Unreal. We aren’t sure if Unreal is trendy right now — it seems like more people are using Unity, but that it’s the best solution for mobile games. Who knows; we’re just beginners!

What we’ve been learning

John has been learning Unreal through Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games on Udemy. It’s produced by GameDev.tv and is taught by Sam Pattuzzi (LinkedIn, Twitter, GitHub) and Stephen Ulibarri (LinkedIn, Twitter). Finn has started the same course — he loves it but it’s a very big endeavor. Each lesson in the course focuses on building a different mini-game. John loved Stephen Ulibarri’s lesson so much that he has continued to another course that Stephen made: Unreal Engine 5 C++ The Ultimate Game Developer Course.

We both love third-person open-world games like Red Dead Redemption and Breath of the Wild.

A still image from Red Dead Redemption 2 showing three characters riding toward the sunset on horses
Red Dead Redemption 2 is visually stunning

John is starting to get frustrated with his computer because it clearly isn’t able to keep up with the level of foliage that he wants to add to his games. It’s also made him appreciate real-life foliage more. “Just imagine how many triangles it would take to produce that in a game!”

In Unreal, you can build things with C++ or Blueprint, a visual coding tool where you can move nodes around to control what happens and when. Finn’s recommendation for beginners with either tool is to give yourself regular breaks (i.e. spaced repetition).

Finn’s been learning about line tracing, a method for determining if an object is within arm’s length of your character. He’s also very impressed by the lighting system.

John doesn’t have a background on tech. Starting with Unity may have helped introduce him to coding because C# is a bit easier than C++. He also did some C# tutorials before diving into Unity. You don’t need to use C++ to build something in Unreal, so if you’re coming from a totally non-technical background, you can lean on Blueprint to get the concepts.

What we’ve been making

We aren’t building yet, but we think we’ll be ready to collaborate on something once we wrap up these Udemy courses. What should we call our “studio?”

Whatever we build, we hope that this site is helpful to future learners who are in our place — the official Unreal documentation is fine but not enough. If you have questions that you think we may have already plowed through, hit us up at hi@absolutebeginners.quest.

AB 2 of X — John’s new games

Recap and updates

Finn and John have been learning Unity and C#. John has made a lot of progress with online tutorials and the book, but Finn has been a bit busy with professional networking.

John has been developing an intuition of how different things interact in C#, such as the relationship between variables and structs. He’s also been playing around with two functions that always come built into a new Unity C# script:

  • Start() — This function executes once every time you open the level. If you only want something to happen once, this is where it goes.
  • Update() — This one runs with every new frame. Generally, you put things here that you want to happen all the time, but John thinks there are best practices for what and how much you can put in Update().

John’s also been learning about coroutines and IEnumerators. IEnumerators are a kind of interface — John is still learning what that means in the context of Unity.

Projects

John has been building a top-down game where you play as a sphere that is trying to avoid other spheres that are drawn to you.

He’s been learning techniques for “sloppy follow:” the enemy spheres will eventually catch you, but they don’t come directly at you. The trick is that the game spawns invisible non-enemy actions that always follow your pawn. The enemies aim for those invisible pawns, causing them to chase you indirectly.

We discuss how nice it is to use a modern code editor or IDE like VS Code.

  • John was studying SmoothDamp(). When he typed SmoothDamp( in VS Code, it automatically suggested what parameters the function takes.
  • Finn loves that VS Code will keep track of the type of a variable. He’s written code thinking that a a variable is a certain type, but then realized that it wasn’t when VS Code wouldn’t autocomplete the members that he was expecting.
  • Finn also likes that you can rename a variable in all locations by right-clicking on it anywhere in VS Code.

Talking about editors leads to discussing Copilot. It’s a new product by GitHub, which is owned by Microsoft. That then leads to a meandering conversation about how new tech, even if it’s controversial or even damaging, will become unavoidable if people find it interesting.

Finn has been networking with people who work in game development. He found a game dev coworking group that meets up once a week at Oakland’s Museum of Art and Digital Entertainment (MADE), an amazing collection of retro games of all types.

Entrance to the Museum of Art and Digital Entertainment. A poster reads 'The Museum of Art and Digital Entertainment is a non-profit video game museum. www.themade.org'

What games we’re into right now

John has been playing Outer Worlds, a first-person RPG(ish) game that reminds him a lot of Firefly. He loves the character-driven story and the rich open world.

Finn has (re?)disovered Twine, which he refers to “Thread” (oops). It’s a tool for creating building text-based games. He’s curious about making games like the ones he remembers from his childhood, such as The Hitchhiker’s Guide to the Galaxy.

John isn’t sure that he is good at puzzle games, so Finn recommends Baba is You, a 2D puzzle game where you can change the rules of a level by moving words around the screen.