Game Dev Digest — Issue #80 - Tips Galore
Tags: gamedev, unity3d, csharp, news
Published: 2021-02-05 14:35:06

---
title:  Game Dev Digest — Issue #80 - Tips Galore
published: true
date: 2021-02-05 14:35:06 UTC
tags: gamedev,unity,csharp,news
canonical_url: https://gamedevdigest.com/digests/issue-80-tips-galore.html
series: Game Dev Digest - The Newsletter About Unity Game Dev
---

###Issue #80 - Tips Galore

![Issue #80 - Tips Galore](https://gamedevdigest.com/assets/social-posts/issue-80.png)

Its a jam packed issue full of varied tips and tricks for improving your code, your performance, your visuals and game overall. Enjoy!

---

[**Progression and Motivation Through Upgrades in Games**](https://medium.com/super-jump/progression-and-motivation-through-upgrades-in-games-3efd91503878)  - This article analyses how upgrades can be used from a game design perspective to unlock a sense of progress and reward players.
[_Yvens Serpa_](https://medium.com/super-jump/progression-and-motivation-through-upgrades-in-games-3efd91503878)

[**30 Things Every Unity Developer Should Know**](https://cgcookie.com/articles/30-things-every-unity-developer-should-know)  - Over the years of working with Unity I've picked up tips and tricks on how to better improve my workflow. Included in this list are my personal favorites, I'm also including a few I've found recently to be quite useful. I've split these up into groupings based on various aspects of Unity game development.
[_Jonathan Gonzalez_](https://cgcookie.com/articles/30-things-every-unity-developer-should-know)

[**20 Lessons from 5 years of developing Academia: School Simulator**](https://coffeebraingames.wordpress.com/2021/01/31/20-lessons-from-5-years-of-developing-academia-school-simulator/)  - Here’s an enumeration of lessons learned during development in the context of programming a builder/tycoon game that can have hundreds of agents.
[_COFFEE BRAIN GAMES_](https://coffeebraingames.wordpress.com/2021/01/31/20-lessons-from-5-years-of-developing-academia-school-simulator/)

[**Ten Small Features**](https://twitter.com/AlanZucconi/status/1356629337051721728)  - After using Unity3d for almost 10 years, I want to share the TEN small features that are really helping me develop games faster.
[_Alan Zucconi @AlanZucconi_](https://twitter.com/AlanZucconi/status/1356629337051721728)

[**Unity Style Guide**](https://github.com/justinwasilenko/Unity-Style-Guide)  - This article contains ideas for setting up a projects structure and a naming convention for scripts and assets in Unity.
[_justinwasilenko_](https://github.com/justinwasilenko/Unity-Style-Guide)

[**Design document in a personal project**](https://blog.theknightsofunity.com/the-importance-of-a-game-design-document-how-to-create-one-part-1/)  - Never underestimate the power of a design document. Whether you’re working on a personal project, internal project or a commission job for a client, if you won’t have a source of information to reach for, the lack of it will eventually start to haunt you.
[_blog.theknightsofunity.com_](https://blog.theknightsofunity.com/the-importance-of-a-game-design-document-how-to-create-one-part-1/)

[**Pass Parameters with ScriptableObject Events in Unity**](https://www.monkeykidgc.com/2021/02/pass-parameters-with-scriptableobject-events-in-unity.html)  - ScriptableObjects allow you to turn events and event listeners into modular pieces that you can plug and play across your GameObjects. To do this we are going to create our ScriptableObject Event, write a custom UnityEvent, code a GameEventListener, and attach a response with a dynamic string.
[_monkeykidgc.com_](https://www.monkeykidgc.com/2021/02/pass-parameters-with-scriptableobject-events-in-unity.html)

[**Unity Event systems interfaces for Customized GUI behavior**](https://indiewatch.net/2021/02/04/unity-event-systems-interfaces-for-customized-gui-behavior/)  - A Unity Event, or the UnityEvent generic abstract class is very useful for customizing GUI behavior. In this tutorial, I will show you how I’m using it for my game Lemonade.
[_indiewatch.net_](https://indiewatch.net/2021/02/04/unity-event-systems-interfaces-for-customized-gui-behavior/)

[**Using Real-World Elevation Data in Unity**](https://owengoss.medium.com/using-real-world-elevation-data-in-unity-6b2a960401af)  - I recently got curious about using real-world elevation to model terrain inside a game engine. I spent several days trying to figure out how to take GIS (Geographic Information System) elevation data (or DEM data) and process it into a format that I could load into the Unity game engine as a heightmap. It took several days of reading tutorials and forum posts, but I eventually found a process that worked for me. I thought it might be useful to others as well.
[_Owen Goss_](https://owengoss.medium.com/using-real-world-elevation-data-in-unity-6b2a960401af)

[**Learn 3D art optimization for mobile with Arm**](https://blogs.unity3d.com/2021/02/01/learn-3d-art-optimization-for-mobile-with-arm/)  - Our new course, 3D Art Optimization for Mobile Applications, is designed for technical artists and content creators. Upskill your mobile game dev skills with 8 hours of materials on optimizing geometry, shaders, lighting and more.
[_Unity_](https://blogs.unity3d.com/2021/02/01/learn-3d-art-optimization-for-mobile-with-arm/)

[**UI Performance**](https://twitter.com/FantaJIGames/status/1356539103551004675)  - Using SetActive(true) on UI elements marks them as dirty and makes #Unity recalculate their geometry. Increase performance of your UI by using canvas.enabled = true and graphicRaycaster.enabled = true instead.
[_FantaJI Games @FantaJIGames_](https://twitter.com/FantaJIGames/status/1356539103551004675)

[**Remove water from inside concave surface**](https://twitter.com/omeletteandyog1/status/1356633800067977218)  - Remove water from inside concave surface by rendering a "negative volume": A mesh approximating the shape of the interior, which is rendered after opaque but before transparent objects.
[_OMYOG @omeletteandyog1_](https://twitter.com/omeletteandyog1/status/1356633800067977218)

[**PreviewRenderUtility**](https://twitter.com/marcel_wiessler/status/1356643489791016968)  - Want to step up your preview? PreviewRenderUtility makes it so easy rendering static and interactive custom previews.
[_Marcel Wiessler @marcel_wiessler_](https://twitter.com/marcel_wiessler/status/1356643489791016968)

[**RayCastCommand**](https://twitter.com/JoseHojaverde/status/1356645903638155265)  - Dealing with Physics bottle necks? You can use Unity C# Job System's RayCastCommand to boost your performance. [Test example](https://gist.github.com/JoseMiguelPizarro/a5efb028b23f94bec1968d8a79e44e94).
[_José Hojaverde @JoseHojaverde_](https://twitter.com/JoseHojaverde/status/1356645903638155265)

[**Creating an InventoryItem Editor Part 4**](https://blog.gamedev.tv/creating-an-inventoryitem-editor-part-4/)  - It's time to make our first real Action, and finally put that Tooltip Preview in our editor! This is the fourth post in my series on creating an InventoryItem Editor in Unity that will edit any child of InventoryItem.
[_Brian K. Trotter_](https://blog.gamedev.tv/creating-an-inventoryitem-editor-part-4/)

[**Inventory UI**](https://yecats.github.io/2021/02/02/Create-an-in-game-inventory-with-UI-Toolkit.html)  - Create an in-game inventory UI with UI Toolkit.
[_yecats.github.io_](https://yecats.github.io/2021/02/02/Create-an-in-game-inventory-with-UI-Toolkit.html)

[**Crystal Shader Breakdown**](https://www.cyanilux.com/tutorials/crystal-shader-breakdown/)  - This post goes over an unlit crystal shader which includes a colour gradient based on the vertical axis (Y) of the object space position and samples the camera’s opaque texture with an offset to fake refraction. A Fresnel effect is also used for opacity so edges are less transparent and will glow more when bloom post processing is also used.
[_cyanilux.com_](https://www.cyanilux.com/tutorials/crystal-shader-breakdown/)

[**AR Foundation in Unity: Getting Started**](https://www.raywenderlich.com/14808876-ar-foundation-in-unity-getting-started)  - In this AR Foundation tutorial, you’ll learn how to build a cross-platform AR application in Unity.
[_raywenderlich.com_](https://www.raywenderlich.com/14808876-ar-foundation-in-unity-getting-started)

[**Unity 2021.1.0 Beta 5**](https://unity3d.com/unity/beta/2021.1.0b5)  - Unity 2021.1.0 Beta 5 has been released.
[_Unity_](https://unity3d.com/unity/beta/2021.1.0b5)

## Videos

[![Unity - I made an Interactive Grass Shader + Tool](https://gamedevdigest.com/assets/images/a9f12b7387a8a799c6e4597e701b4612.png)](https://www.youtube.com/watch?v=xKJHL8nQiuM&amp;feature=youtu.be)
[**Unity - I made an Interactive Grass Shader + Tool**](https://www.youtube.com/watch?v=xKJHL8nQiuM&amp;feature=youtu.be)  - Post about the Geometry Grass Shader Tool.
[_MinionsArt_](https://www.youtube.com/watch?v=xKJHL8nQiuM&amp;feature=youtu.be)

[**Indie Polish: Making the Most of the Last 10%**](https://www.youtube.com/watch?v=fYBvYWf_dTg&amp;feature=youtu.be)  - In this 2015 talk, Thomas Was Alone creator Mike Bithell runs through a bunch of the polish work on his two most recent games, in the hopes of opening up how he (and, well, you) can finish the perfect play experience.
[_GDC_](https://www.youtube.com/watch?v=fYBvYWf_dTg&amp;feature=youtu.be)

[**5 Tips and Tricks for Unity Developers to Instantly Improve Your Code (2021)**](https://www.youtube.com/watch?v=2tjf_QAVfpM&amp;feature=youtu.be)  - Here are five Unity tips and tricks that I've discovered over the years while developing my own games. I hope they'll make your life easier and your code cleaner. It's not meant to be a thorough tutorial, just a bit of exposure, so there are links further on to research more yourself.
[_Wintermute Digital_](https://www.youtube.com/watch?v=2tjf_QAVfpM&amp;feature=youtu.be)

[**Optimized Toon Outlines! One Texture For Depth and Normals Edge Detect | Game Dev Tutorial**](https://www.youtube.com/watch?v=8Xq7tU5QN1Q&amp;feature=youtu.be)  - I've covered a lot of different types edge detection outlines built in Unity's Universal Render Pipeline Shader Graph. In this video, I take another look at per-object depth and normals outlines to further optimize them, obtaining depth and normals data from a single texture and decreasing texture reads. I also describe some ways to counter-act the loss of depth precision and keep quality as high as possible!
[_Ned Makes Games_](https://www.youtube.com/watch?v=8Xq7tU5QN1Q&amp;feature=youtu.be)

[**Dissolve effect in Shader Graph**](https://www.youtube.com/watch?v=iTlSwQ4b-uM&amp;feature=youtu.be)  - A nice effect you cna make in Unity with Shader Graph to dissolve 3d models in an d out.
[_PabloPoon_](https://www.youtube.com/watch?v=iTlSwQ4b-uM&amp;feature=youtu.be)

[**How to Publish on the Unity Asset Store**](https://www.youtube.com/watch?v=Sp7vUE3Hmtw)  - In this video, we are showing you how to upload and publish your project using the new Publisher Portal Beta version, which can be accessed at publisher.unity.com !
[_Unity_](https://www.youtube.com/watch?v=Sp7vUE3Hmtw)

[**Simple Liquid Simulation in Unity!**](https://www.youtube.com/watch?v=_8v4DRhHu2g)  - Simple Liquid Simulation in Unity!
[_Code Monkey_](https://www.youtube.com/watch?v=_8v4DRhHu2g)

## Assets

[![Lunar New Year Mega Bundles](https://gamedevdigest.com/assets/images/d9682cab-8788-4965-9349-0551421073f3.png)](https://assetstore.unity.com/mega-bundles/lunar-new-year?aid=1011l8NVc)
[**Lunar New Year Mega Bundles**](https://assetstore.unity.com/mega-bundles/lunar-new-year?aid=1011l8NVc)  - The Unity Asset Store is currently running an exciting Lunar = New Year Mega Bundle sale! Users can save up to 96% with these curated bundles of top quality assets= , which will include tools and art through February 26.

$9.99 Bundle - save up to 90%
This bundle contains [PBR Material Bundle Vol1 (445)](https://assetstore.unity.com/packages/2d/textures-materials/pbr-material-bundle-vol1-445-128817?aid=1011l8NVc), [Roslyn C# - Runtime Compiler](https://assetstore.unity.com/packages/tools/integration/roslyn-c-runtime-compiler-142753?aid=1011l8NVc), and [Loading Screen](https://assetstore.unity.com/packages/tools/gui/loading-screen-59069?aid=1011l8NVc).

$19.99 Bundle - Save up to 95%
This bundle contains everything from the $9.99 bundle, plus [Asset Cleaner PRO - Clean | Find References](https://assetstore.unity.com/packages/tools/utilities/asset-cleaner-pro-clean-find-references-167990?aid=1011l8NVc), [POLYGON - Knights Pack](https://assetstore.unity.com/packages/3d/environments/fantasy/polygon-knights-pack-83694?aid=1011l8NVc), [Shader Weaver](https://assetstore.unity.com/packages/tools/visual-scripting/shader-weaver-84761?aid=1011l8NVc), [Bio IK](https://assetstore.unity.com/packages/tools/animation/bio-ik-67819?aid=1011l8NVc), [Top Down - Fantasy Forest](https://assetstore.unity.com/packages/3d/environments/fantasy/top-down-fantasy-forest-182144?aid=1011l8NVc), and [Japanese Alley](https://assetstore.unity.com/packages/3d/environments/urban/japanese-alley-162907?aid=1011l8NVc).

$29.99 Bundle - Save up to 96%
This bundle contains everything from the $9.99 and $19.99 bundles, plus [UI Particle System](https://assetstore.unity.com/packages/tools/gui/ui-particle-system-108285?aid=1011l8NVc), [uRPG - Singleplayer RPG](https://assetstore.unity.com/packages/templates/systems/urpg-singleplayer-rpg-95016?aid=1011l8NVc), [Everyday Motion Pack](https://assetstore.unity.com/packages/3d/animations/everyday-motion-pack-116611?aid=1011l8NVc), [Little Heroes Mega Pack](https://assetstore.unity.com/packages/3d/characters/humanoids/little-heroes-mega-pack-67636?aid=1011l8NVc), [Polyverse Skies • Low poly skybox shaders and textures](https://assetstore.unity.com/packages/vfx/shaders/polyverse-skies-low-poly-skybox-shaders-and-textures-104017?aid=1011l8NVc), [Paint Craft (Drawing & Coloring book engine)](https://assetstore.unity.com/packages/templates/packs/paint-craft-drawing-coloring-book-engine-63046?aid=1011l8NVc), [Low Poly Vegetation Pack](https://assetstore.unity.com/packages/3d/vegetation/low-poly-vegetation-pack-80146?aid=1011l8NVc), [GUI PRO Kit - Casual Game](https://assetstore.unity.com/packages/2d/gui/gui-pro-kit-casual-game-176695?aid=1011l8NVc), [Cartoon FX Remaster](https://assetstore.unity.com/packages/vfx/particles/cartoon-fx-remaster-4010?aid=1011l8NVc), [Puppet2D](https://assetstore.unity.com/packages/tools/animation/puppet2d-14024?aid=1011l8NVc), and [Oak Forest Environment](https://assetstore.unity.com/packages/3d/vegetation/oak-forest-environment-153314?aid=1011l8NVc).
[_Unity_](https://assetstore.unity.com/mega-bundles/lunar-new-year?aid=1011l8NVc) **Affiliate**

[**HUMBLE SOFTWARE BUNDLE: LEARN TO CREATE GAMES IN UNITY**](https://www.humblebundle.com/software/learn-unity-game-development-2021-software?partner=unity3dreport)  - Kickstart your game development career with GameDev.tv! Get courses like Complete C# Unity Game Developer 3D, Unity Multiplayer Coding & Networking, RPG Core Combat Creator and Complete C# Unity Developer 2D. Plus, your purchase will support Girls Who Code!
$1,369 WORTH OF AWESOME STUFF.
PAY $1 OR MORE.
[_Humble Bundle_](https://www.humblebundle.com/software/learn-unity-game-development-2021-software?partner=unity3dreport) **Affiliate**

[**NES.css**](https://nostalgic-css.github.io/NES.css/)  - NES.css is NES-style (8bit-like) CSS Framework. _[looking for a nice retro game look for your website?]_
[_nostalgic-css_](https://nostalgic-css.github.io/NES.css/) *Open Source*

[**Computer Graphics from Scratch**](https://gabrielgambetta.com/computer-graphics-from-scratch/)  - Computer Graphics from Scratch demystifies the algorithms used in modern graphics software with basic programming and high school math. _[An e-book free to read online]_
[_Gabriel Gambetta_](https://gabrielgambetta.com/computer-graphics-from-scratch/)

[**Humble Book Bundle: Programming Fundamentals**](https://www.humblebundle.com/books/programming-fundamentals-mercury-books?partner=unity3dreport)  - We've teamed up with Mercury Learning for our newest bundle! Get ebooks like Game Testing, Third Edition, Python Basics, Intro 3D Game Programming DX 12, Cybersecurity: A Self-Teaching Introduction, and Programming Fundamentals Using MATLAB. Plus, your purchase will support Whales & Dolphin Conservation!
$1,081 WORTH OF AWESOME STUFF.
PAY $1 OR MORE.
DRM-FREE.
[_Humble Bundle_](https://www.humblebundle.com/books/programming-fundamentals-mercury-books?partner=unity3dreport) **Affiliate**

[**HDRP Mask Map Packer**](https://www.reddit.com/r/Unity3D/comments/9kl5fo/hdrp_mask_map_packer/)  - I made a little editor extension to pack Metallic, AO, Detail, and Roughness/Smoothness maps into one image for the HDRP Lit Shader because doing it in GiMP was a tiny bit more tedious and I like to try to do as much as I can within Unity itself.
[_Diabolickal_](https://www.reddit.com/r/Unity3D/comments/9kl5fo/hdrp_mask_map_packer/) *Open Source*

[**Grouping Tool**](https://github.com/nementic-games/grouping-tool)  - The Nementic Grouping Tool is a small Unity tool which groups the selected GameObjects under a new parent GameObject. The parent will be created under the next common parent GameObject of the selected objects and will be centered between them.
[_nementic-games_](https://github.com/nementic-games/grouping-tool) *Open Source*

## Spotlight

[![Postmortem: Dots of War [English]](https://gamedevdigest.com/assets/images/0ca932fd686bccf28df4dca29b1a36bf.png)](https://medium.com/@carrillouriel/postmortem-dots-of-war-english-85490567d58e)
[**Postmortem: Dots of War [English]**](https://medium.com/@carrillouriel/postmortem-dots-of-war-english-85490567d58e)  - Dots of War is a fast online strategy game for mobile devices, it is based on the game Dots and Boxes and the objective is to conquer the majority of the map by connecting four lines to score points. Once you capture a part of the map, your player’s energy rises and with it you can make special abilities that will allow you to affect your opponent’s turn.
[_Uriel Carrillo_](https://medium.com/@carrillouriel/postmortem-dots-of-war-english-85490567d58e)



---

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.