Hi, I'm Oliver.

Coffee enthusiast with a love for all things tech. Tech enthusiast with a love for all things coffee. Failing my Bachelor's in Computer Science at USW.

How I recreated Unity's coroutine system

Early last year, I wrote a blog post which explained how Unity's coroutines work. In my conclusion, I expressed that I underestimated the level of wizardry they involved, so much so that it went far beyond the scope of the article. I figured it was time to perhaps elaborate on that, and show you a glimpse of Unity's game loop and how the coroutine system works in the engine (at least, my interpretation of it.)

Friday, 21 January 2022 · 11 min · Oliver

Writing a portable save & load system

I recently wrote a post which explained how Brackeys' Save & Load system could be fixed so that it isn't victim to a major security flaw regarding BinaryFormatter, by instead using BinaryWriter and BinaryReader. This guide will explain how to write a better, portable, more scalable save & load system from the ground up.

Buckle your seatbelts, we have a lot to cover.

Tuesday, 27 April 2021 · 17 min · Oliver

How do Unity’s coroutines actually work?

Coroutines in Unity are a way to run expensive loops, or delays in execution, without having to involve multithreading. That's right – although it's commonly believed that coroutines are multithreaded operations, they in fact run on the main thread. But have you ever asked yourself why coroutines return IEnumerator? What does that even mean? We'll take a look at how they work, and I hope to explain just how genius they are.

Tuesday, 27 April 2021 · 8 min · Oliver

Fixing Brackeys' save & load system

Recent news has hit that BinaryFormatter has a major security flaw, and should be removed from production use as soon as possible. This guide will cover an alternative approach to creating a save & load system for your Unity game.

Saturday, 27 February 2021 · 15 min · Oliver

The problem with UnityEngine.Random

When it comes to game dev, random number generation is a subject that comes up a lot. With the advent of Minecraft, No Man's Sky, and other games with procedurally-generated environments, unique variation in your game is an attractive feature which increases replayability and enhances player experiences.

Friday, 26 February 2021 · 14 min · Oliver