Game Dev Digest — Issue #114 - Lessons Learned
Tags: gamedev, unity3d, csharp, news
Published: 2021-10-15 14:19:44

---
title:  Game Dev Digest — Issue #114 - Lessons Learned
published: true
date: 2021-10-15 14:19:44 UTC
tags: gamedev,unity,csharp,news
canonical_url: https://gamedevdigest.com/digests/issue-114-lessons-learned.html
series: Game Dev Digest - The Newsletter About Unity Game Dev
---

### Issue #114 - Lessons Learned

*This article was originally published on [GameDevDigest.com](https://gamedevdigest.com/digests/issue-114-lessons-learned.html)*

![Issue #114 - Lessons Learned](https://gamedevdigest.com/assets/social-posts/issue-114.png)

Hope you enjoy a wide range of lessons learned from developers over the years.

---

[**Just one more turn - Game Development tips and tricks from the creator of Civilization, Sid Meier.**](https://www.gamedeveloper.com/blogs/just-one-more-turn---game-development-tips-and-tricks-from-the-creator-of-civilization-sid-meier-)  - In Sid Meier's Memoir, Sid shares funny and interesting anecdotes that make it a real pleasure to read. There are also a lot of Game Development tips and lessons throughout the book. I'm gonna make sure you can get them all in this article.
[_gamedeveloper.com_](https://www.gamedeveloper.com/blogs/just-one-more-turn---game-development-tips-and-tricks-from-the-creator-of-civilization-sid-meier-)

[**20 Things I’ve Learned in my 20 Years as a Software Engineer**](https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/?)  - My experiences over the last 20 years have shaped how I view software, and have led me to some beliefs which I’ve tried to whittle down to a manageable list that I hope you find valuable.
[_simplethread.com_](https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/?)

[**Unity Shader Graph Procedural Planet Water Tutorial**](https://timcoster.com/2021/09/24/unity-shader-graph-procedural-planet-water-tutorial/)  - In this tutorial we will create a nice stylised procedural water shader that will be ideal to use together with the procedural planets shader created in the Unity Shader Graph Procedural Planet Tutorial. We will create this water shader using Unity’s easy to use node-based shader creation tool Shader Graph.
[_timcoster.com_](https://timcoster.com/2021/09/24/unity-shader-graph-procedural-planet-water-tutorial/)

[**Custom Lighting in Shader Graph Part 2**](https://bronsonzgeb.com/index.php/2021/10/11/custom-lighting-in-shader-graph-part-2/)  - In this article, we’ll continue to improve the workflow of the previous article, in which we created a process for converting Shader Graphs to a custom lighting function. The last article ended with a manual workflow, so we’ll fully automate the process in this post. Along the way, we’ll learn about Asset Postprocessors, Reflection and Scriptable Singletons.
[_Bronson Zgeb_](https://bronsonzgeb.com/index.php/2021/10/11/custom-lighting-in-shader-graph-part-2/)

[**Accelerate Success Series: Unity UI Makeover Follow Up Q&A**](https://blog.unity.com/games/unitys-ui-webinar-follow-up-questions)  - Andrea, Sebastian, and some members of the Accelerate Solutions games team are returning to answer the ten of the best-unanswered questions from the Accelerate Success: The Unity UI makeover webinar.
[_Unity_](https://blog.unity.com/games/unitys-ui-webinar-follow-up-questions)

[**How to optimize game performance with Camera usage: Part 2**](https://blog.unity.com/games/part-2-optimize-game-performance-with-camera-usage)  - Welcome back to Part 2 of: How to optimize your game performance with Camera usage.
[_Unity_](https://blog.unity.com/games/part-2-optimize-game-performance-with-camera-usage)

[**Unity Draw Call Batching: The Ultimate Guide [2021]**](https://thegamedev.guru/unity-performance/draw-call-optimization/?utm_source=pocket_mylist)  - Draw calls are never a problem. That is, until you add one more element and suddenly your render thread becomes your new bottleneck. Can you guess why keeping Unity draw calls at bay is today more relevant than ever?
[_The Gamedev Guru_](https://thegamedev.guru/unity-performance/draw-call-optimization/?utm_source=pocket_mylist)

[**Using the Terrain Tools in Unity**](https://www.raywenderlich.com/21911888-using-the-terrain-tools-in-unity)  - Learn to create and manage a wide range of terrains in your apps by using Unity’s powerful Terrain Tools and the all new Terrain Toolbox API.
[_raywenderlich.com_](https://www.raywenderlich.com/21911888-using-the-terrain-tools-in-unity)

[**How To Use 2D Sprites With a Particle Emitter – Unity**](https://stuartspixelgames.com/2021/10/15/how-to-use-2d-sprites-with-particle-emitter-unity/)  - This article teaches you how to use Sprites or other custom 2D images with the particle emitter in Unity.
[_stuartspixelgames.com_](https://stuartspixelgames.com/2021/10/15/how-to-use-2d-sprites-with-particle-emitter-unity/)

[**Burning Sphere VFX Breakdown**](https://twitter.com/matt_ostertag/status/1446572293136781320)  - Wow 2k likes for my burning sphere, thanks a lot ! As requested by a lot of you here's a little breakdown.
[_Matt Ostertag @matt_ostertag_](https://twitter.com/matt_ostertag/status/1446572293136781320)

[**Differences between Hashtable vs Dictonary vs ConcurrentDictionary vs ImmutableDictionary**](https://www.hanselman.com/blog/differences-between-hashtable-vs-dictonary-vs-concurrentdictionary-vs-immutabledictionary?)  - .NET has 4 built-in dictionary/map types [and] there’s no guidance on when to use what, mostly individual documentation on each implementation.
[_hanselman.com_](https://www.hanselman.com/blog/differences-between-hashtable-vs-dictonary-vs-concurrentdictionary-vs-immutabledictionary?)

[**Everything That Every .NET Developer Needs To Know About Disposable Types - Properly Disposing Objects**](https://www.c-sharpcorner.com/article/everything-that-every-net-developer-needs-to-know-about-disposable-types-prop/?)  - In this article, you will learn about .NET Developer Needs to Know About Disposable Types.
[_c-sharpcorner.com_](https://www.c-sharpcorner.com/article/everything-that-every-net-developer-needs-to-know-about-disposable-types-prop/?)

[**How streamers pick games: the SplatterCat interview**](https://newsletter.gamediscover.co/p/how-streamers-pick-games-the-splattercat?)  - A recent newsletter dealt with a ‘high Y1 multiplier’ Steam game that had done well in part because a couple of videos from the notable ‘variety’ YouTuber SplatterCat
[_newsletter.gamediscover.co_](https://newsletter.gamediscover.co/p/how-streamers-pick-games-the-splattercat?)

[**Developers explain why 4 is the magic multiplayer number**](https://www.polygon.com/22722365/four-multiplayer-developer-explanation-grounded-sea-of-thieves-minecraft-dungeons?)  - Why don’t developers simply add more players? If some games can do it, why not all of them? It’s a seemingly simple question with surprisingly complex answers. Luckily, the developers behind some some very big multiplayer titles were able to share their thoughts.
[_polygon.com_](https://www.polygon.com/22722365/four-multiplayer-developer-explanation-grounded-sea-of-thieves-minecraft-dungeons?)

## Videos

[![How To Create Water Effects in Unity - Water Bending Tutorial](https://gamedevdigest.com/assets/images/2aa8357a5aeb144b45e188e861770b7c.png)](https://www.youtube.com/watch?v=3CcWus6d_B8)
[**How To Create Water Effects in Unity - Water Bending Tutorial**](https://www.youtube.com/watch?v=3CcWus6d_B8)  - Water Attack VFX in Unity Engine. Tutorial was made using Shader Graph and C# scripts. It covers 3 water effects, Water Ball, Water Bend, and Water Tube.
[_A Bit Of Game Dev_](https://www.youtube.com/watch?v=3CcWus6d_B8)

[**The Coding Secrets hidden in "Sonic the Hedgehog"**](https://www.youtube.com/watch?v=Xv88_vTkQFo)  - I tear apart the original Sonic the Hedgehog game to expose the secrets of how it was coded.
[_Coding Secrets_](https://www.youtube.com/watch?v=Xv88_vTkQFo)

[**Unity AI | How to use DrawDebugTools to visualize NavmeshAgent path**](https://www.youtube.com/watch?v=-klbJJYvjGA)  - In this unity3d tutorial you will learn how to visualize NavmeshAgent path in the unity AI navigation system using Draw Debug Tools, in the scene view , game view, and the build.
[_GAMEDEVWORKS (Mourad Bakhali)_](https://www.youtube.com/watch?v=-klbJJYvjGA)

[**Wet Shader Graph tutorial for Unity**](https://www.youtube.com/watch?v=jZbG9zFvSJE)  - This tutorial shows how to make a wet shader in Shader Graph. It is based on a Siggraph talk by Naughty Dog about Uncharted 4 technical art.
[_PabloMakes_](https://www.youtube.com/watch?v=jZbG9zFvSJE)

## Assets

[![Unity Mega Bundle - Fill Your Toolbox](https://gamedevdigest.com/assets/images/eddcc813-abbe-8352-07d6-31e0317abdf2.jpeg)](https://assetstore.unity.com/mega-bundles/fill-your-toolbox?aid=1011l8NVc)
[**Unity Mega Bundle - Fill Your Toolbox**](https://assetstore.unity.com/mega-bundles/fill-your-toolbox?aid=1011l8NVc)  - Up to 95% Off Tools!

Powerful tools make users more productive, saving valuable time and effort, so it's not a surprise that the tool category is one of the most popular categories on the Unity Asset Store. From October 13 through October 31, users can save up to 95% off three curated Mega Bundle sets of must-have tools.

$25 Bundle - save up to 80%
This bundle contains: [EnhancedScroller](https://assetstore.unity.com/packages/tools/gui/enhancedscroller-36378?aid=1011l8NVc), [Better UI](https://assetstore.unity.com/packages/tools/gui/better-ui-79031?aid=1011l8NVc), and [Vault Inventory](https://assetstore.unity.com/packages/tools/game-toolkits/vault-inventory-93933?aid=1011l8NVc).

$35 Bundle - save up to 88%
This bundle contains everything from the $25 bundle, plus [Forever - Endless Runner Engine for Unity](https://assetstore.unity.com/packages/tools/game-toolkits/forever-endless-runner-engine-140926?aid=1011l8NVc), [Easy Decal](https://assetstore.unity.com/packages/tools/utilities/easy-decal-22867?aid=1011l8NVc), [Terrain Grid System](https://assetstore.unity.com/packages/tools/terrain/terrain-grid-system-47215?aid=1011l8NVc), and [MonKey - Productivity Commands](https://assetstore.unity.com/packages/tools/utilities/monkey-productivity-commands-119938?aid=1011l8NVc).

$45 Bundle - save up to 95%
This bundle contains everything from the $25 and $35 bundles, plus [Dungeon Architect](https://assetstore.unity.com/packages/tools/utilities/dungeon-architect-53895?aid=1011l8NVc), [Space Graphics Toolkit](https://assetstore.unity.com/packages/tools/level-design/space-graphics-toolkit-4160?aid=1011l8NVc), [Digger PRO](https://assetstore.unity.com/packages/tools/terrain/digger-pro-149753?aid=1011l8NVc), [MudBun: Volumetric VFX and Modeling](https://assetstore.unity.com/packages/tools/particles-effects/mudbun-volumetric-vfx-modeling-177891?aid=1011l8NVc), [Mesh Slicer](https://assetstore.unity.com/packages/tools/modeling/mesh-slicer-59618?aid=1011l8NVc), [DinoFracture - A Dynamic Fracture Library](https://assetstore.unity.com/packages/tools/physics/dinofracture-a-dynamic-fracture-library-26599?aid=1011l8NVc), [Motion Matching for Unity](https://assetstore.unity.com/packages/tools/animation/motion-matching-for-unity-145624?aid=1011l8NVc), [Asset Hunter PRO](https://assetstore.unity.com/packages/tools/utilities/asset-hunter-pro-135296?aid=1011l8NVc), [Performance Tools](https://assetstore.unity.com/packages/tools/utilities/performance-tools-80534?aid=1011l8NVc), [SALSA LipSync Suite](https://assetstore.unity.com/packages/tools/animation/salsa-lipsync-suite-148442?aid=1011l8NVc), and [Realistic Eye Movements](https://assetstore.unity.com/packages/tools/animation/realistic-eye-movements-29168?aid=1011l8NVc).
[_Unity_](https://assetstore.unity.com/mega-bundles/fill-your-toolbox?aid=1011l8NVc) **Affiliate**

[**SuperPosition - NonDestructive Object Editing**](https://assetstore.unity.com/packages/tools/level-design/superposition-nondestructive-object-editing-202164?&amp;aid=1011l8NVc)  - Save unlimited states of your game objects in a easy nondestructive workflow! From the highly acclaimed developer of Task Atlas, Editor Portals and Perfect F comes another amazing Editor tool!
Launch Discount! Get 50% off right now! Get Perfect F, Editor Portals For $5, or even Task Atlas for only $12.50 after purchasing SuperPosition.
[_ShrinkRay Entertainment_](https://assetstore.unity.com/packages/tools/level-design/superposition-nondestructive-object-editing-202164?&amp;aid=1011l8NVc) **Affiliate**

[**Darkest Dungeon Port**](https://github.com/Reinisch/Darkest-Dungeon-Unity?utm_source=pocket_mylist)  - Darkest Dungeon port in Unity engine with multiplayer. Almost completely identical to the original game.
[_Reinisch_](https://github.com/Reinisch/Darkest-Dungeon-Unity?utm_source=pocket_mylist) *Open Source*

[**Ezy-Slice**](https://github.com/DavidArayan/ezy-slice?utm_source=pocket_mylist)  - An open source mesh slicer framework for Unity3D Game Engine.
[_David Arayan_](https://github.com/DavidArayan/ezy-slice?utm_source=pocket_mylist) *Open Source*

[**Destructible sprites with polygon colliders**](https://github.com/thgil/Unity-Destructible-Sprite?)  - Simple destructible unity sprites.
[_thgil_](https://github.com/thgil/Unity-Destructible-Sprite?) *Open Source*

[**IsoMesh**](https://github.com/EmmetOT/IsoMesh?)  - IsoMesh is a group of related tools for Unity for converting meshes into signed distance field data, raymarching signed distance fields, and extracting signed distance field data back to meshes via surface nets or dual contouring. All the work is parallelized on the GPU using compute shaders.
[_EmmetOT_](https://github.com/EmmetOT/IsoMesh?) *Open Source*

[**ColafeScript**](https://github.com/Lucinotion/ColafeScript?)  - ColafeScript (COnsole LAnguage For Events) is a simple runtime scripting language for the Unity game engine.
[_Lucinotion_](https://github.com/Lucinotion/ColafeScript?) *Open Source*

[**LineBurst**](https://github.com/bassmit/lineburst?)  - Draw large amounts of debug lines, shapes and text to the Unity Game and Scene View, from BURST compiled jobs or MonoBehaviours.
[_bassmit_](https://github.com/bassmit/lineburst?) *Open Source*

[**LDtkToUnity**](https://github.com/Cammin/LDtkToUnity?utm_source=pocket_mylist)  - A fully-featured Unity importer for LDtk (Level Designer Toolkit)
[_Cameron Krebbers_](https://github.com/Cammin/LDtkToUnity?utm_source=pocket_mylist) *Open Source*

[**Map Toolbox for Autoware.**](https://github.com/autocore-ai/MapToolbox?)  - This a unity plugin helps user create lanelet2 maps for Autoware efficiently.
[_autocore-ai_](https://github.com/autocore-ai/MapToolbox?) *Open Source*

[**Unity selected objects History Window**](https://github.com/acoppes/unity-history-window?utm_source=pocket_mylist)  - A simple selection history window for Unity.
[_acoppes_](https://github.com/acoppes/unity-history-window?utm_source=pocket_mylist) *Open Source*

[**RiptideNetworking - C# Networking Library**](https://github.com/tom-weiland/RiptideNetworking?)  - RUDP (Reliable UDP) networking solution built in C#, primarily intended for use in multiplayer games. Features an unreliable channel (regular UDP) as well as a reliable channel (UDP with loss detection). Works in Unity & console apps alike.
[_tom-weiland_](https://github.com/tom-weiland/RiptideNetworking?) *Open Source*

[**RestClient for Unity**](https://github.com/proyecto26/RestClient?)  - This HTTP/REST Client is based on Promises to avoid the Callback Hell and the Pyramid of doom working with Coroutines in Unity.
[_proyecto26_](https://github.com/proyecto26/RestClient?) *Open Source*

[**SimpleGraphQL For Unity**](https://github.com/LastAbyss/SimpleGraphQL-For-Unity?)  - SimpleGraphQL is just that -- a simple GraphQL client that is mostly code based and works with Unity.
[_LastAbyss_](https://github.com/LastAbyss/SimpleGraphQL-For-Unity?) *Open Source*

[**UnityEditorIcons**](https://github.com/nukadelic/UnityEditorIcons?)  - Build in unity editor icons browser - explore all them icons within the editor itself!
[_nukadelic_](https://github.com/nukadelic/UnityEditorIcons?) *Open Source*

[**uFrame**](https://github.com/cemuka/uFrame?)  - An experimental and programmatic approach to make floating and dragging windows in unity based on Unity UI.
[_cemuka_](https://github.com/cemuka/uFrame?) *Open Source*

[**Scriptable Events**](https://github.com/chark/scriptable-events?)  - Simple and extensible event system implemented via ScriptableObject.
[_chark_](https://github.com/chark/scriptable-events?) *Open Source*

[**Unity DataBinding**](https://github.com/JochenHeckl/DataBinding?)  - Data Binding is a unity library that supports binding user interface elements to custom data type (=ViewModel) properties.
[_JochenHeckl_](https://github.com/JochenHeckl/DataBinding?) *Open Source*

[**SuperUnityBuild**](https://github.com/superunitybuild/buildtool?)  - A powerful automation tool for quickly and easily generating builds with Unity.
[_superunitybuild_](https://github.com/superunitybuild/buildtool?) *Open Source*

[**Unity - Mulligan Renamer**](https://github.com/redbluegames/unity-mulligan-renamer?)  - The Mulligan Renamer tool for Unity allows for quick and safe renaming of many assets or GameObjects all at once.
[_redbluegames_](https://github.com/redbluegames/unity-mulligan-renamer?) *Open Source*

[**Unity Timer**](https://github.com/Mr-sB/UnityTimer?)  - Run actions after a delay in Unity3D.
[_Mr-sB_](https://github.com/Mr-sB/UnityTimer?) *Open Source*

[**ProceduralMotionTrack**](https://github.com/keijiro/ProceduralMotionTrack?)  - This is an implementation of a custom timeline track that controls an object transform with simple procedural motions.
[_keijiro_](https://github.com/keijiro/ProceduralMotionTrack?) *Open Source*

[**RTUtils**](https://github.com/nothke/unity-utils/blob/master/Runtime/RTUtils.cs)  - RenderTexture utilities for direct drawing meshes, texts and sprites and converting to Texture2D.
[_nothke_](https://github.com/nothke/unity-utils/blob/master/Runtime/RTUtils.cs) *Open Source*

[**Light Beam / Laser Performance Package for Unity**](https://github.com/kodai100/Unity_LightBeamPerformance?)  - This package can create light beam performance with Unity's timeline functionality.
[_kodai100_](https://github.com/kodai100/Unity_LightBeamPerformance?) *Open Source*

[**URP Sun Shafts**](https://github.com/ryanslikesocool/URP-Sun-Shafts?)  - A URP port of Unity's classic Standard Assets Effects package's Sun Shaft effect.
[_ryanslikesocool_](https://github.com/ryanslikesocool/URP-Sun-Shafts?) *Open Source*

[**Selfdriving Car AI and Simulator**](https://github.com/Aggrathon/CarAiSimulator?)  - This project contains a neural network for driving a car in a simulator. The simulator is also part of the project.
[_Aggrathon_](https://github.com/Aggrathon/CarAiSimulator?) *Open Source*

## Spotlight

[![The Lightbringer](https://gamedevdigest.com/assets/images/8cc673150b60ab47c220b55e34901cdf.png)](https://store.steampowered.com/app/1561660/The_Lightbringer/?utm_source=pocket_mylist)
[**The Lightbringer**](https://store.steampowered.com/app/1561660/The_Lightbringer/?utm_source=pocket_mylist)  - The Lightbringer is a poetic adventure/puzzle platformer with light combat elements, set in a beautiful world claimed by a vile corruption. Guided by your sister’s spirit, you must prevail where she could not. Cleanse the corruption, become The Lightbringer.
[_Rock Square Thunder_](https://store.steampowered.com/app/1561660/The_Lightbringer/?utm_source=pocket_mylist)



---

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.