A sincere response to Unity.
@djlink I fucking hate this too. It's not just stupid design, this is blatant asshole design. They want to try any and all tricks to have you accept tracking cookies.
How (and why) I'm rewriting Unity documentation
Oliver • Updated one year ago
Taking a stab at redesigning something that is long overdue.
MonoBehaviours DO support constructors
Oliver • Updated 2 years ago
Quite often, I come across people who are under the impression that a class which inherits MonoBehaviour
cannot or should not define a constructor. If you are one of those people then buckle up. I'm going to dispel this myth once and for all.
You're exposing state badly
Oliver • Updated 2 years ago
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.
Unity lies to you about null
Oliver • Updated 2 years ago
What is the difference between component == null
, component is null
, and !component
?
How I recreated Unity's coroutine system
Oliver • Updated 2 years ago
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.)
Writing a portable save & load system
Oliver • Updated one year ago
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.
How do Unity’s coroutines actually work?
Oliver • Updated 2 years ago
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.
Fixing Brackeys' save & load system
Oliver • Updated 2 years ago
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.
The problem with UnityEngine.Random
Oliver • Updated 3 years ago
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.