Hi, I'm Oliver.

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

You're exposing state badly

Every now and then - okay… pretty much every day - I encounter someone who has decided to publicly expose state with fields, and it hurts my core.

Let's talk about that.

Wednesday, 16 February 2022 · 12 min · Oliver

Unity lies to you about null

What is the difference between component == null, component is null, and !component?

Tuesday, 08 February 2022 · 7 min · Oliver

C# 10 and the dangers of file-scoped namespaces

Today I'll be stepping away from a Unity environment and focusing on one of the new features available in C#, and a very important note to keep in mind when using it. That is, the dangers of file-scoped namespaces.

Sunday, 06 February 2022 · 6 min · Oliver

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