Game Dev Digest — Issue #211 - Testing, Shader Theory & Implementation, and more
Tags: gamedev, unity3d, csharp, news
Published: 2023-11-03 13:13:19

---
title:  Game Dev Digest — Issue #211 - Testing, Shader Theory & Implementation, and more
published: true
date: 2023-11-03 13:13:19 UTC
tags: gamedev,unity,csharp,news
canonical_url: https://gamedevdigest.com/digests/issue-211-testing-shader-theory--implementation-and-more.html
series: Game Dev Digest - The Newsletter About Unity Game Dev
---

### Issue #211 - Testing, Shader Theory & Implementation, and more

*This article was originally published on [GameDevDigest.com](https://gamedevdigest.com/digests/issue-211-testing-shader-theory--implementation-and-more.html)*

![Issue #211 - Testing, Shader Theory & Implementation, and more](https://gamedevdigest.com/assets/social-posts/issue-211.png)

Unit testing, TDD, Raymarching, Raytracing, Shader deep dives and interactions, plus lots more. Enjoy!

---

[**Physically Based Rendering (4th edition) now available online for free**](https://pbr-book.org/4ed/contents)  - Physically Based Rendering: From Theory To Implementation
[_pbr-book.org_](https://pbr-book.org/4ed/contents)

[**Optimizing Code by Replacing Classes with Structs, Unity C# Tutorial**](https://medium.com/@swiftroll3d/optimizing-code-by-replacing-classes-with-structs-unity-c-tutorial-f1dd3a0baf50)  - This tutorial is intentionally short, focusing on practical implementation rather than theory.
[_SwiftRoll_](https://medium.com/@swiftroll3d/optimizing-code-by-replacing-classes-with-structs-unity-c-tutorial-f1dd3a0baf50)

[**Real-time dreamy Cloudscapes with Volumetric Raymarching**](https://blog.maximeheckel.com/posts/real-time-cloudscapes-with-volumetric-raymarching/?)  - One fascinating aspect of Raymarching I quickly encountered in my study was its capacity to be tweaked to render volumes. Instead of stopping the raymarched loop once the ray hits a surface, we push through and continue the process to sample the inside of an object.
[_blog.maximeheckel.com_](https://blog.maximeheckel.com/posts/real-time-cloudscapes-with-volumetric-raymarching/?)

[**The art of Hit Registration**](https://danieljimenezmorales.github.io/2023-10-29-the-art-of-hit-registration/?)  - One of the core systems of a competitive networked FPS game, using a snapshot interpolation technique to synchronize the different clients with the server, is its Hit Registration algorithm. In this post, I will explain all the details about this process, discuss the different challenges that developers will need to face and explore various approaches used by well-known FPS games that employ this technique.
[_danieljimenezmorales.github.io_](https://danieljimenezmorales.github.io/2023-10-29-the-art-of-hit-registration/?)

[**A Journey Into Shaders**](https://www.mayerowitz.io/blog/a-journey-into-shaders)  - This article is interactive: you can play with the code and sliders to interact with the shaders. Enjoy!
[_mayerowitz.io_](https://www.mayerowitz.io/blog/a-journey-into-shaders)

[**How Do Mirrors in Video Games Work?**](https://80.lv/articles/how-do-mirrors-in-video-games-work/)  - Today, let's take a dive into the history of mirrors in video games and learn how modern-day developers handle reflective surfaces in their games.
[_80.lv_](https://80.lv/articles/how-do-mirrors-in-video-games-work/)

[**10 design lessons learned from 30 years of horror games**](https://www.gamedeveloper.com/design/10-horror-game-design-tips)  - Developers have shared their techniques and philosphies with us, condensed here for your convenience.
[_gamedeveloper.com_](https://www.gamedeveloper.com/design/10-horror-game-design-tips)

[**Porting Unity to CoreCLR**](https://blog.unity.com/engine-platform/porting-unity-to-coreclr)  - This blog post covers recent changes we’ve made to allow the CoreCLR GC to work hand in hand with Unity engine native code. We’ll start at a high level, then get into more technical details.
[_Unity_](https://blog.unity.com/engine-platform/porting-unity-to-coreclr)

[**How I use Test Driven Development to make games**](https://arielcoppes.dev/2023/10/29/tdd-to-make-games.html)  - This blog post is about using TDD (Test Driven Development) (and testing in general) for game development. It explains my personal process and tools I use for my games that are pretty similar to what I used at Ironhide Game Studio to make Iron Marines and Iron Marines Invasion.
[_arielcoppes.dev_](https://arielcoppes.dev/2023/10/29/tdd-to-make-games.html)

[**Unit Testing Made Easy: Unity ECS Best Practices**](https://gamedev.center/unit-testing-made-easy-unity-ecs-best-practices/)  - The complexity of managing dependencies between thousands of systems is a significant topic, but today let’s start from the bottom and learn how to make sure that each small block of our game is working correctly and doesn’t break when other systems change and modify the data that comes into our particular system under test.
[_gamedev.center_](https://gamedev.center/unit-testing-made-easy-unity-ecs-best-practices/)

## Videos

[![How Are Games Rendering Fur?](https://gamedevdigest.com/assets/images/yt-9dr-tRQzij4.jpg)](https://www.youtube.com/watch?v=9dr-tRQzij4)
[**How Are Games Rendering Fur?**](https://www.youtube.com/watch?v=9dr-tRQzij4)  - It's easy to understand why fur is extremely problematic with its high density of objects and physical complexities, but somehow games have been rendering it for years! How could something so complex be so easily simplified?
[_Acerola_](https://www.youtube.com/watch?v=9dr-tRQzij4)

[**Weighted Chance for ANY Event | Unity Tutorial**](https://www.youtube.com/watch?v=UeTlJyBz7h8)  - This is a really quick Unity tutorial where I'll show you how to fire random events based on weights you set in the inspector! You can use it for loot drops, but honestly it could be used for just about anything since it's based on firing a random event.
[_Sasquatch B Studios_](https://www.youtube.com/watch?v=UeTlJyBz7h8)

[**Don't Use Deep Profiler! - Profiler Marker Unity**](https://www.youtube.com/watch?app=desktop&amp;v=DsrFkPP0Qe8)  - Why should you try to avoid using Deep Profiler? In this video we talk about deep profiler and profiler markers and what is the best way to find the Performance of your functions.
[_Game Dev Box_](https://www.youtube.com/watch?app=desktop&amp;v=DsrFkPP0Qe8)

[**Can Unity Do Pool?**](https://www.youtube.com/watch?app=desktop&amp;v=I77iIIu-dsA)  - This video details my somewhat painful attempt to create a functional pool game using ONLY Unity's built-in physics engine.
[_b3agz_](https://www.youtube.com/watch?app=desktop&amp;v=I77iIIu-dsA)

[**How To Make Your Game Stand Out Like Hollow Knight**](https://www.youtube.com/watch?app=desktop&amp;v=skNwPbU_aEI)  - We're breaking down some of the things Hollow Knight did to stand out and be successful. We all can do this with our game, if we take the time to look deeper.
[_Soul Engine Studio_](https://www.youtube.com/watch?app=desktop&amp;v=skNwPbU_aEI)

[**Flax Engine 1.7 -- With MASSIVELY Improved Licensing!**](https://www.youtube.com/watch?app=desktop&amp;v=bdf6h9s6mBM)  - The Flax game engine just released the Flax 1.7 release. This version adds several new features such as Cloth tools, better MacOS support, a new Plugin creation tool and much more. But at the end of the day, the single best improvement is a massive positive upgrade to the licensing terms that prevents Flax from ... pulling a Unity.
[_Gamefromscratch_](https://www.youtube.com/watch?app=desktop&amp;v=bdf6h9s6mBM)

[**This is how you look at and watch your target in Unity 2D!**](https://www.youtube.com/watch?v=49pzlziTTmM)  - Add target tracking to make your characters' eyes come to life and look at what's happening! We'll cover everything from setting up the scene in Unity (2D) to writing the code for tracking and adding a cool blinking effect. The amount of eyes does not matter, they will all move individually ;)! Download a mini beholder to work alongside this!
[_Christina Creates Games_](https://www.youtube.com/watch?v=49pzlziTTmM)

[**Why can't you multiply vectors?**](https://www.youtube.com/watch?v=htYh-Tq7ZBI)  - ..or can you? A deceptively simple question with a complex answer – come join a mathematical journey into madness and wonder, in search of answers that might just give you a new perspective on the mathematical constructs we use in our games
[_Freya Holmér_](https://www.youtube.com/watch?v=htYh-Tq7ZBI)

[**Blender 4.0: What's New and Why You Should Be Excited!**](https://www.youtube.com/watch?v=IBMBR6Wu9PE)  - Blender 4.0 is almost here. I made a little run-down of some of the best features.
[_DECODED_](https://www.youtube.com/watch?v=IBMBR6Wu9PE)

[**Watch this if you're a solo gamedev**](https://www.youtube.com/watch?v=Io7kock1ORA)  - Until recently, I wasn't aware how many of you were solo developers. It turns out it's a lot of people, so in this video, I give my most common pieces of advice for solo indie devs.
[_BiteMe Games_](https://www.youtube.com/watch?v=Io7kock1ORA)

[**Visitor: How I Mastered the Toughest Programming Pattern**](https://www.youtube.com/watch?v=Q2gQs6gIzCM)  - Unity C# Architecture: This is how I finally understood the Visitor Programming Pattern - Building a Power Up System in Unity.
[_git-amend_](https://www.youtube.com/watch?v=Q2gQs6gIzCM)

[**How Inworld's 'Origins' Demo Actually Works**](https://www.youtube.com/watch?v=xuSV8W9jlDI)  - In a recent video, I looked at 'Origins': a detective game that uses AI technology built by Inworld (@inworldai) that allows players to interact with non-player characters directly using speech or text, and holding fully immersive conversations with them.
[_AI and Games_](https://www.youtube.com/watch?v=xuSV8W9jlDI)

[**Remaking the Black Hole Shader from Outer Wilds! | Unity Shader**](https://www.youtube.com/watch?v=hNkPHPhzXVA)  - This is how I re-created the black hole effect from Outer Wilds in Unity's Shadergraph!
[_Quontyn Tech Art_](https://www.youtube.com/watch?v=hNkPHPhzXVA)

## Assets

[![Harmonic Hauntings - A Horrific Sound And Music Bundle](https://gamedevdigest.com/assets/images/1698405954.jpg)](https://www.humblebundle.com/software/harmonic-hauntings-horrific-sound-and-music-bundle-software?partner=unity3dreport)
[**Harmonic Hauntings - A Horrific Sound And Music Bundle**](https://www.humblebundle.com/software/harmonic-hauntings-horrific-sound-and-music-bundle-software?partner=unity3dreport)  - Craft an unsettling horror score. Create a sinister soundscape for your game, film, or audio project with this bundle of spooky samples, macabre melodies, and more royalty-free horror music and sound effects. Craft a chilling auditory experience with the unnerving chords and experimental sounds of Ovani’s Apprehension Engine sample packs. Unnerve your audience with royalty-free horror and sci-fi music.
[__](https://www.humblebundle.com/software/harmonic-hauntings-horrific-sound-and-music-bundle-software?partner=unity3dreport)

[**50% off Kevin Iglesias - Publisher Sale**](https://assetstore.unity.com/publisher-sale?aid=1011l8NVc)  - Kevin Iglesias is a 3D animator with a focus on video games, who provides a variety of ready-to-use animations and tools that help give life to your own character models. PLUS, get [Basic Motions](https://assetstore.unity.com/packages/package/id/157744?aid=1011l8NVc) for FREE with code KEVINIGLESIAS
[_MangoButtermilch_](https://assetstore.unity.com/publisher-sale?aid=1011l8NVc) *Open Source*

[**Unity-volumetric-black-hole**](https://github.com/MangoButtermilch/Unity-volumetric-black-hole)  - Compute shader approach for rendering a volumetric black hole
[_MangoButtermilch_](https://github.com/MangoButtermilch/Unity-volumetric-black-hole) *Open Source*

[**unity-raytracing**](https://github.com/airliang/unity-raytracing?)  - GPU Raytracing renderer which runs in hlsl compute shader in unity. This project is implemented by pure hlsl vertex shader, fragment shader and compute shader in Unity, not using any raytracing shaders.
[_airliang_](https://github.com/airliang/unity-raytracing?) *Open Source*

[**QuickEye-Utility**](https://github.com/ErnSur/QuickEye-Utility?)  - New type and property drawer to serialize and edit dictionaries in inspector.
[_ErnSur_](https://github.com/ErnSur/QuickEye-Utility?) *Open Source*

[**OldMovieFx**](https://github.com/NullTale/OldMovieFx?)  - OldMoview post effect for Unity Urp, Controlled via volume profile, works as render feature
[_NullTale_](https://github.com/NullTale/OldMovieFx?) *Open Source*

[**Animated-Progress-Bar-Shader-Graph**](https://github.com/MirzaBeig/animated-progress-bar-shader-graph)  - Coloured animated progress bar made in Unity, with Shader Graph. Inspired by celestialmaze.
[_MirzaBeig_](https://github.com/MirzaBeig/animated-progress-bar-shader-graph) *Open Source*

[**UIEffect**](https://github.com/mob-sakai/UIEffect?)  - UIEffect provides visual effect components for Unity UI.
[_mob-sakai_](https://github.com/mob-sakai/UIEffect?) *Open Source*

[**InputSystemActionPrompts**](https://github.com/simonoliver/InputSystemActionPrompts?)  - Automatically set controller prompts in text and icons in your Unity game UI. This package is an add-on for Unity's Input System, working with TextMeshPro and Unity's UI system.
[_simonoliver_](https://github.com/simonoliver/InputSystemActionPrompts?) *Open Source*

[**UniRate**](https://github.com/renanwolf/UniRate?)  - A Unity plugin to easily manage the application frame rate and rendering interval.
[_renanwolf_](https://github.com/renanwolf/UniRate?) *Open Source*

[**ShapeEditor**](https://github.com/Henry00IS/ShapeEditor?)  - The 2D Shape Editor is a versatile tool to create complex 3D meshes out of 2D shapes.
[_Henry00IS_](https://github.com/Henry00IS/ShapeEditor?) *Open Source*

[**hair-physics**](https://github.com/rhemsuda/hair-physics?)  - Realistic simulation of hair physics optimized for virtual reality (120FPS). Leverages spring physics and geometry/compute shaders to create hair strands that respond to movement.
[_rhemsuda_](https://github.com/rhemsuda/hair-physics?) *Open Source*

[**StatefulUI**](https://github.com/dmitry-ivashenko/StatefulUI?)  - A library for structured state-based UI development in Unity.
[_dmitry-ivashenko_](https://github.com/dmitry-ivashenko/StatefulUI?) *Open Source*

[**Simple-Blackboard**](https://github.com/ZorPastaman/Simple-Blackboard?)  - Simple Blackboard for Unity is a flexible runtime data container that can contain any count of properties of any type. The properties can be accessed with property names.
The main advantage of Simple Blackboard is that it allocates as little as possible. Also, it has good enough performance and supports derivation.
[_ZorPastaman_](https://github.com/ZorPastaman/Simple-Blackboard?) *Open Source*

[**TextureMerge**](https://github.com/Fidifis/TextureMerge?)  - this program is ideal if you want to pack individual grayscale textures in one image.
[_Fidifis_](https://github.com/Fidifis/TextureMerge?) *Open Source*

[**FastScriptReload**](https://github.com/handzlikchris/FastScriptReload?)  - Are you tired of waiting for full domain-reload and script compilation every time you make a small code change?
[_handzlikchris_](https://github.com/handzlikchris/FastScriptReload?) *Open Source*

[**Level Up Remix - Software Bundle**](https://www.humblebundle.com/software/level-up-remix-software?partner=unity3dreport)  - Get Fear, Caverns, Soul Trip and more! Get an instant, complete music production suite with this value-packed bundle—featuring a pro-level DAW (digital audio workstation), virtual synths & instruments, SFX, and an epic library of thousands of loops and samples! Record and mix tracks with the powerful, easy-to-use Mixcraft 9 Recording Studio. Recreate sounds of legendary instruments with Mercury-4, Eight Voice Synthesizer, and more. Tap into loops, vocals, one-shots, and MIDI for a huge variety of styles and genres. Whether you’re a beginner or a professional already deep into production, this bundle’s got everything you need. Plus, your purchase helps support Music Will!
[_Humble Bundle_](https://www.humblebundle.com/software/level-up-remix-software?partner=unity3dreport) **Affiliate**

[**Create & Elevate - Amazing Art Tools From Corel**](https://www.humblebundle.com/software/create-and-elevate-amazing-art-tools-from-corel-software?partner=unity3dreport)  - Bring your vision to life Get inspired and get creative with this bundle of amazing visual art software from Corel! Sketch, paint, and illustrate with the renowned Corel Painter 2023, plus a kit full of brush packs to help you create your signature style. Make every shot your best shot with the advanced photo editing of PaintShop Pro, and harness the time-saving power of AfterShot Pro. Become a master of the digital canvas with the help of Corel, and support Children’s Hospital of Eastern Ontario (CHEO) with your purchase!
[_Humble Bundle_](https://www.humblebundle.com/software/create-and-elevate-amazing-art-tools-from-corel-software?partner=unity3dreport) **Affiliate**

## Spotlight

[![Scoot](https://gamedevdigest.com/assets/images/yt-e7BBF9_zyio.jpg)](https://store.steampowered.com/app/1494840/Scoot/)
[**Scoot**](https://store.steampowered.com/app/1494840/Scoot/)  - Scoot is the long awaited scooter riding game that riders have been waiting years for. Enter this physics based game and perform over 40 different tricks, customise your scooter and rider, build your dream park, film clips, or play online with friends!

_[You can get the game in early access on [Steam](https://store.steampowered.com/app/1494840/Scoot/) and follow them on [Twitter](https://twitter.com/MattCole02)]_
[_Matt Cole_](https://store.steampowered.com/app/1494840/Scoot/)



---

You can subscribe to the free weekly newsletter on [GameDevDigest.com](https://gamedevdigest.com)

This post includes affiliate links; I may receive compensation if you purchase products or services from the different links provided in this article.