Videos
https://i.ytimg.com/vi/pauxOqYU038/mqdefault.jpg
Let's Make a Lazy String Parser in C#
· ☕ 3 min read
Let’s create a quick string parsing script that can read a long string and return a delimited set of results (we’ll be finding words).

https://i.ytimg.com/vi/48jSjqhevw4/mqdefault.jpg
Using Generic Type Aliases in C#
· ☕ 1 min read
C# includes a feature that allows you to use the using keyword to define aliases for different types or namespaces in your code.

https://i.ytimg.com/vi/96iaO7kl2Xg/mqdefault.jpg
Animating the Elevator - An Elevator Between Scenes - Part 1
· ☕ 2 min read
Let’s start a new project that allows us to load scenes using riding an elevator as the transition. To start with we’ll be building the animation controlling the opening and closing of the elevator doors.

https://i.ytimg.com/vi/GKG-vUFt3D4/mqdefault.jpg
Using ContextMenu and ContextMenuItem in Unity 3D
· ☕ 2 min read
There are a lot of options available to you when you want to test your project in Unity3D and validate that your code actually does what you think it does.

https://i.ytimg.com/vi/Oq2ytDvHTYM/mqdefault.jpg
Learning Async Unity Scene Loading
· ☕ 2 min read
I’ve been working on re-learning how to work with scenes in Unity and am planning a larger project around the feature, but wanted to bring all of you on my journey.

https://i.ytimg.com/vi/4xR46-YI828/mqdefault.jpg
A World Space Grid Snapped Shader
· ☕ 2 min read
Expanding upon our exploration of a shader that snaps vertices to a grid. This time we’re moving things into world space!

https://i.ytimg.com/vi/e8NItqF_9hQ/mqdefault.jpg
What Happens When You Snap Vertices To A Grid?
· ☕ 3 min read
In this video I get to play with madness. We’ll be exploring what happens if you try to “pixelate” a 3D mesh using a vertex shader.

https://i.ytimg.com/vi/BHtKrZSuZMk/mqdefault.jpg
Pseudo-Random Colors with Hashed Strings
· ☕ 2 min read
In this video we’re going to explore a way I approach reproducible pseudo-random number generation that uses calculated hashes to select a random item or property for an object.

https://i.ytimg.com/vi/O4qPd5kdjgc/mqdefault.jpg
Rotation Math Tricks - Using Unity's Quaternion Operators
· ☕ 2 min read
Unity provides a few operators that can make some common tasks with quaternions easier to accomplish. You can multiple a quaternion and vector to rotate the vector by the provided quaternion’s rotation or multiple two quaternions together in order to add the two rotations they represent together.

https://i.ytimg.com/vi/KXj5pAzmka8/mqdefault.jpg
Learning to Deserialize YAML in C# with YamlDotNET
· ☕ 2 min read
YAML (Yet Another Markup Language) provides a way to store structured data in files. It can be used in similar ways to other JSON or XML files and is commonly used with Kubernetes and Docker Compose.

https://i.ytimg.com/vi/vqc9f7HU-Vc/mqdefault.jpg
Detecting Objects with Raycasts in Unity3D
· ☕ 3 min read
Raycasts provide a way for you to project lines through your scenes and detect the objects they hit as well as return important information about what they hit.

https://i.ytimg.com/vi/NxQv5N91bQg/mqdefault.jpg
Building worldofzero.com - Improved Video Descriptions
· ☕ 2 min read
I’ve recently been doing a lot of work on my website worldofzero.com in order to help launch the new version and improve the usability and accessibility of the site.

https://i.ytimg.com/vi/nxyabkSlQW4/mqdefault.jpg
Implementing C# Extension Methods
· ☕ 2 min read
In C# Extension Methods provide a way to add additional functionality onto a type that you have created or imported into your project.

https://i.ytimg.com/vi/nKvvdoAjqG4/mqdefault.jpg
Creating Custom GitHub Issue Templates
· ☕ 2 min read
In order to create more accessible open source projects GitHub has introduced templates for Issues and Pull Requests to help improve the clarity and quality of new issues and open pull requests.

https://i.ytimg.com/vi/uxxROAx6MMU/mqdefault.jpg
Exploring Top-Level Programs in C# 9
· ☕ 2 min read
Top-Level Programs is a new feature being introduced in C# 9.0 that significantly simplifies certain C# programs and allows you to remove almost all of the boilerplate code from them.