Game Dev Digest — Issue #93 - Software craftsmanship
Tags: gamedev, unity3d, csharp, news
Published: 2021-05-07 12:19:57

---
title:  Game Dev Digest — Issue #93 - Software craftsmanship
published: true
date: 2021-05-07 12:19:57 UTC
tags: gamedev,unity,csharp,news
canonical_url: https://gamedevdigest.com/digests/issue-93-software-craftsmanship.html
series: Game Dev Digest - The Newsletter About Unity Game Dev
---

### Issue #93 - Software craftsmanship

*This article was originally published on [GameDevDigest.com](https://gamedevdigest.com/digests/issue-93-software-craftsmanship.html)*

![Issue #93 - Software craftsmanship](https://gamedevdigest.com/assets/social-posts/issue-93.png)

Let's talk about structuring our code and project this week. Enjoy!

---

[**Unity Architecture Pattern: Structured Prefabs**](https://bronsonzgeb.com/index.php/2021/05/01/unity-architecture-pattern-structured-prefabs/)  - This article shows a powerful Unity pattern that I’m calling Structured prefabs. Structured prefabs are a pattern I use to simplify prefab initialization and reduce bugs. They help to indicate the intention of the creator to other developers and lead to overall better maintainability.
[_Bronson Zgeb_](https://bronsonzgeb.com/index.php/2021/05/01/unity-architecture-pattern-structured-prefabs/)

[**Unity names and Software Craftsmanship**](https://pauliom.medium.com/unity-names-and-software-craftsmanship-ca1c6e9f2378)  - Ignoring some of the more ‘ivory tower’ practices of ‘Software Craftsmanship’ is perfectly fine — providing you understand the trade off you are making.
[_Paul Marsh_](https://pauliom.medium.com/unity-names-and-software-craftsmanship-ca1c6e9f2378)

[**Deep C# - Casting the Escape from Strong Typing**](https://www.i-programmer.info/ebooks/47-deep-c/493-deep-c-c4.html)  - Casting is one of the most confusing aspects of any modern language and it often makes beginners think hard. But if you know why you are doing it then the how makes a lot more sense.
[_Mike James_](https://www.i-programmer.info/ebooks/47-deep-c/493-deep-c-c4.html)

[**Hashing Space**](https://catlikecoding.com/unity/tutorials/pseudorandom-noise/hashing-space/)  - Hashing in an Arbitrary Grid.
[_catlikecoding.com_](https://catlikecoding.com/unity/tutorials/pseudorandom-noise/hashing-space/)

[**ML-Agents v2.0 release: Now supports training complex cooperative behaviors**](https://blogs.unity3d.com/2021/05/05/ml-agents-v2-0-release-now-supports-training-complex-cooperative-behaviors/)  - About one year ago, we announced the release of the ML-Agents v1.0 Unity package, which was verified for the 2020.2 Editor release. Today, we’re delighted to announce the v2.0 release of the ML-Agents Unity package, currently on track to be verified for the 2021.2 Editor release. Over this past year, we’ve made more than fifteen key updates to the ML-Agents GitHub project, including improvements to the user workflow, new training algorithms and features, and a significant performance boost.
[_Unity_](https://blogs.unity3d.com/2021/05/05/ml-agents-v2-0-release-now-supports-training-complex-cooperative-behaviors/)

[**Climbing ladders mechanic in Unity 2D platformer games**](https://pavcreations.com/climbing-ladders-mechanic-in-unity-2d-platformer-games/)  - Climbing ladders is quite popular in 2D platformers. This mechanic allows players to easily move their characters above and below different parts of the levels without the need to jump or fall. It introduces another layer of complexity to game environments. In this tutorial we are going to look into how we can create ladders and give our characters the ability to climb them.
[_pavcreations.com_](https://pavcreations.com/climbing-ladders-mechanic-in-unity-2d-platformer-games/)

[**Making a Glass Material in Unity**](https://valdarixgames.medium.com/making-a-glass-material-in-unity-eda50c616463)  - Creating a basic glass material in Unity could not be easier. Today we will look at how quickly we can actually create one.
[_James West_](https://valdarixgames.medium.com/making-a-glass-material-in-unity-eda50c616463)

[**The good, the gory, and the glory of publishing your game to multiple platforms – including Nintendo Switch**](https://blogs.unity3d.com/2021/05/04/the-good-the-gory-and-the-glory-of-publishing-your-game-to-multiple-platforms-including-nintendo-switch/)  - Whether you’re building an FPS multiplayer experience, an open-world RPG, or an adventure puzzle game, one thing is certain: You want to create dynamic and engaging experiences for your players. While specific platforms have traditionally been associated with different types of gaming, such as more casual games for mobile or FPS games on PC, developers no longer need to limit themselves. Today’s gaming experiences successfully extend across multiple platforms, which greatly expands audience reach.
[_Unity_](https://blogs.unity3d.com/2021/05/04/the-good-the-gory-and-the-glory-of-publishing-your-game-to-multiple-platforms-including-nintendo-switch/)

[**Unity2D DevLog 04 — UI Ammo Counter**](https://claudiograssi.medium.com/unity2d-devlog-04-ui-ammo-counter-51ca91b37c0)  - Last time, I shared an article on how I improved my shield powerup. It’s now time to work on an ammo counter. Infinite firepower is a feature of some games, but I want to include some limitations.
[_Claudio Grassi_](https://claudiograssi.medium.com/unity2d-devlog-04-ui-ammo-counter-51ca91b37c0)

[**Editor Scripting**](https://twitter.com/LotteMakesStuff/status/1390083564960690177)  - Sup Friends! Lets do some Editor Scripting! theres a whole bunch of cool tech unity have added over the last year or so thats SO worth knowing about. Lets buildsomething with...
[_Lotte 'just an idiot' May Sparkling heartStrawberryRainbowHamster faceVideo game☕Chocolate barDoughnut @LotteMakesStuff_](https://twitter.com/LotteMakesStuff/status/1390083564960690177)

[**Unity 2021.2.0 Alpha 16**](https://unity3d.com/unity/alpha/2021.2.0a16)  - Unity 2021.2.0 Alpha 16 has been released.
[_Unity_](https://unity3d.com/unity/alpha/2021.2.0a16)

## Videos

[![Making A Physics Based Character Controller In Unity (for Very Very Valet)](https://gamedevdigest.com/assets/images/9a888adff25cc0a414497c382eb55b5a.png)](https://www.youtube.com/watch?v=qdskE8PJy6Q)
[**Making A Physics Based Character Controller In Unity (for Very Very Valet)**](https://www.youtube.com/watch?v=qdskE8PJy6Q)  - A detailed look at how we built our physics-based character controller in Unity for our game Very Very Valet - available May 25th for Nintendo Switch!
[_Toyful Games_](https://www.youtube.com/watch?v=qdskE8PJy6Q)

[**Unity VFX Graph - Ice Attack Tutorial**](https://www.youtube.com/watch?v=gfOaGvNQ28U)  - Let's see how to create an Ice Attack effect with Visual Effect Graph. We will create spikes with Blender and see how customizable VFX Graph can be. Pretty cool exercise.
[_Gabriel Aguiar Prod._](https://www.youtube.com/watch?v=gfOaGvNQ28U)

[**Zelda Breath of the Wild Explosion VFX with Unity Shader Graph & Amplify**](https://www.youtube.com/watch?v=tb2qggJjOLE)  - In this tutorial we're re-creating an explosion effect from Zelda: Breath of the Wild. It's available for download with both Amplify and Shader Graph, so just grab whichever you prefer. The tutorial itself will deal with Shader Graph.
[_PolyToots_](https://www.youtube.com/watch?v=tb2qggJjOLE)

[**Basics of White Noise! Random Numbers for Shaders and ProcGen in Unity | Game Dev Tutorial**](https://www.youtube.com/watch?v=nohGiVNWhJE)  - Noise, in graphics programming, is a function that produces pseudorandom numbers based purely on its input. Usually, it follows some pattern, but white noise has no pattern! This makes it perfect to generate random offsets, normals, or colors for a variety of shader effects. It's also useful in procedural generation, to make sure the world persists over playthroughs. In this video, I explain how white noise works and show some of its practical uses.
[_Ned Makes Games_](https://www.youtube.com/watch?v=nohGiVNWhJE)

[**What's the Point of Critical Hits? ~ Design Doc**](https://www.youtube.com/watch?v=fMFkd7edBR0)  - Critical hits have been around for 50 years, but you'd be selling them short if you just think of critical hits as big damage numbers. Dragon Quest holds one of the first attempts to add basic crits to video games, but you can get a lot more creative with it. Games like Pokemon and Final Fantasy incorporated elements like status effects. Gears of War and Halo made the critical hit concept work in shooters, and Monster Hunter used the Negative Affinity system to really bend expectations. In between, there are countless indie games remixing and adapting the concept to create something new.
[_Design Doc_](https://www.youtube.com/watch?v=fMFkd7edBR0)

[**Unity 2D Platformer Tutorial 33 - Grab (Pick up) and Drop Objects**](https://www.youtube.com/watch?v=9_hrfwlc1k4)  - Learn how to create a script that allows you to grab and drop objects.
[_Antarsoft_](https://www.youtube.com/watch?v=9_hrfwlc1k4)

## Assets

[![HUMBLE SOFTWARE BUNDLE: ROYALTY-FREE RPG GAME DEVELOPMENT ASSETS](https://gamedevdigest.com/assets/images/f6615cf2-21c9-58e3-d368-3102a2b5ee40.jpg)](https://www.humblebundle.com/software/royalty-free-rpg-game-dev-assets-software?partner=unity3dreport)
[**HUMBLE SOFTWARE BUNDLE: ROYALTY-FREE RPG GAME DEVELOPMENT ASSETS**](https://www.humblebundle.com/software/royalty-free-rpg-game-dev-assets-software?partner=unity3dreport)  - Creating an RPG but don’t have a deft hand at art assets? Not everyone can be an artist or visual designer. Not to worry, thanks to GameDev Market and the RPG Game Dev bundle you’ll gain access to thousands of assets like Omega Modern Graphics Pack, RPG Game 1700+ Icons, Medieval Fantasy Characters, and Customisable Pixel Art Character Kit to help add some spark to your creations! Plus, your purchase helps support Child’s Play, AbleGamers, and our May Charity of the Month, Active Minds!

$436 WORTH OF AWESOME STUFF
PAY $1 OR MORE
[_Humble Bundle_](https://www.humblebundle.com/software/royalty-free-rpg-game-dev-assets-software?partner=unity3dreport) **Affiliate**

[**Unity simple CSV/object serialiser**](https://github.com/sinbad/UnityCsvUtil)  - I find it useful to be able to expose game parameters and other tweakables via CSV when prototyping so that non-coders can easily open them in a spreadsheet tool to experiment with game design without having to use Unity.
I also like to serialize values in a type safe manner, directly from/to my objects; much like JsonUtility works but with friendlier CSV (and no nested objects).
[_sinbad_](https://github.com/sinbad/UnityCsvUtil) *Open Source*

[**Character Action Framework**](https://github.com/christides11/Character-Action-Framework)  - Character Action Framework (or CAF) is a Unity-focused framework designed for making character action games.
[_christides11_](https://github.com/christides11/Character-Action-Framework) *Open Source*

[**Unity Scripting Utilities**](https://github.com/williamrjackson/UnityScriptingUtilities)  - Stuff I use a lot, and a simple AnimationCurve-based tweening interface.
[_williamrjackson_](https://github.com/williamrjackson/UnityScriptingUtilities) *Open Source*

[**Interactive 3D Neural Network Visualizer**](https://github.com/stefsietz/nn-visualizer)  - This project serves as a tool to make the structure of neural networks more visually clear than with usual schematic representations and provides interactive ways to edit architectural parameters. It can be used for teaching beginners how the layers of a deep neural network or CNN are connected between each other and visualizes the number of weights / calculations involved in the model.
[_stefsietz_](https://github.com/stefsietz/nn-visualizer) *Open Source*

[**Vertx.Decorators**](https://github.com/vertxxyz/Vertx.Decorators)  - Attributes and Property Decorators for Unity that have access to the SerializedProperty used to draw the field.
[_vertxxyz_](https://github.com/vertxxyz/Vertx.Decorators) *Open Source*

[**Layout Panel**](https://github.com/zambari/LayoutPanel.UI.Unity)  - Simple panel layout system, supporting drag and drop panel placement, panel folding and interactive resize.
[_Filip Tomaszewski_](https://github.com/zambari/LayoutPanel.UI.Unity) *Open Source*

[**UniMeshTransformer**](https://github.com/sanukin39/UniMeshTransformer)  - Simple mesh transform tool for Unity.
[_sanukin39_](https://github.com/sanukin39/UniMeshTransformer) *Open Source*

[**HUMBLE BOOK BUNDLE: HEAD FIRST PROGRAMMING BY O'REILLY**](https://www.humblebundle.com/books/head-first-programming-oreilly-books?partner=unity3dreport)  - Get a head-start on learning to program with O'Reilly in our newest bundle, Head First Programming by O'Reilly! Dive into ebooks like Head First Java, 2nd Edition, Head First Python, 2nd Edition, and Head First C#, 3rd Edition. Plus, your purchase helps support Code For America!
$772 WORTH OF AWESOME STUFF
PAY $1 OR MORE
[_Humble Bundle_](https://www.humblebundle.com/books/head-first-programming-oreilly-books?partner=unity3dreport) **Affiliate**

[**HUMBLE SOFTWARE BUNDLE: VEGAS PRO - DISCOVER YOUR ENDLESS FREEDOM**](https://www.humblebundle.com/software/vegas-pro-discover-your-endless-freedom-software?partner=unity3dreport)  - Everything you need to produce stunning videos with epic soundtracks: Enter the big screen with VEGAS Pro 16 Edit plus Hollywood effects like proDAD ReSpeedr and FXhome Enhance Ultra. Create your own songs with the Music Maker Score Edition, produce videos with VEGAS Movie Studio 16 and record & edit audio with SOUND FORGE Audio Studio 13. Discover your endless freedom with one of our best selling bundles ever! Plus, your purchase will support Stop AAPI Hate.
$756 WORTH OF AWESOME STUFF
PAY $1 OR MORE
[_Humble Bundle_](https://www.humblebundle.com/software/vegas-pro-discover-your-endless-freedom-software?partner=unity3dreport) **Affiliate**

## Spotlight

[![Invasive Recall: Developing a Point-n-Click Game in Unity](https://gamedevdigest.com/assets/images/c3926be04524b29dbc135a5e4b4705f5.png)](https://80.lv/articles/invasive-recall-developing-a-point-n-click-game-in-unity/)
[**Invasive Recall: Developing a Point-n-Click Game in Unity**](https://80.lv/articles/invasive-recall-developing-a-point-n-click-game-in-unity/)  - Carl Ljungberg, the Head Developer at Springbeam Studio, talks about his latest project, a nostalgic 80s-themed game Invasive Recall, and explains what inspired the project and its aesthetic.
[_80.lv_](https://80.lv/articles/invasive-recall-developing-a-point-n-click-game-in-unity/)



---

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.