Issue #26 - CI, Cloud, Batching, Code Patterns, Shader How-Tos, Tweening, HDRP, Plenty Great Assets And Much More!
Tags: unity3d, gamedev, csharp, news
Published: 2020-01-14 17:32:43

This week saw some interesting posts related to the cloud. I’m looking forward to trying out the Cloud Build project from technicallywizardry.com.

A glut of great looking shader implementations were posted that inspires me to dig into graphics programming more. Aside from shaders, continuing the “making things look good” theme, a bunch of in-depth looks at high definition renderings in Unity that should be good for a few nuggets of knowledge.

On the general programming side there were multiple State Pattern posts, Observer Pattern, as well as a great resource of classic computer science algorithms and data structures implemented in C#.

As usual, that wasn’t all. Enough preamble, on to the links…

---

[Free Unity “Cloud Build” (Buildkite CI)](https://www.technicallywizardry.com/open-source-unity-cloud-build-ci-buildkite/)  - The Unity Cloud Build allows developers to trigger builds in the cloud. Unfortunately, Cloud Build requires a subscription to Unity Teams or Unity Pro. My goal with this open-source project were as follows: 100% Free Continuous Integration. Run on personal hardware (computer at home) or in the cloud. Support versioning (pre-releases, release candidates). Highly customizable, applicable to any project. Dead-simple to deploy, with no changes required to the Unity project.
[technicallywizardry.com](https://www.technicallywizardry.com/open-source-unity-cloud-build-ci-buildkite/)

[Unity Actions](https://github.com/webbertakken/unity-actions)  - GitHub Actions for testing and building Unity projects.
[Webber Takken](https://github.com/webbertakken/unity-actions)

[Unity Simulation is now on AWS, making it multi-cloud compatible](https://blogs.unity3d.com/2020/01/07/unity-simulation-is-now-on-aws/)  - Today at CES, we announced that Unity Simulation, our cloud-based simulation product, is now multi-cloud compatible with its launch on Amazon Web Services (AWS). 
[Unity](https://blogs.unity3d.com/2020/01/07/unity-simulation-is-now-on-aws/)

[Unity Draw Call Batching: The Ultimate Guide [2020]](https://thegamedev.guru/unity-performance/draw-call-optimization/)  - 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?
[Rubén Torres Bonet](https://thegamedev.guru/unity-performance/draw-call-optimization/)

[State Pattern using Unity](https://www.raywenderlich.com/6034380-state-pattern-using-unity)  - Learn all about the Finite State Machine design pattern in Unity. Then implement it to control the movement of your own character!
[raywenderlich.com](https://www.raywenderlich.com/6034380-state-pattern-using-unity)

[Algorithms & Data Structures in C#](https://github.com/PiJei/AlgorithmsAndDataStructures)  - This repository includes a comprehensive collection of well-known fundamental algorithms and data structures of computer science implemented in C#. Full list of implementations found here.
[PiJei (Parisa Jalili Marandi)](https://github.com/PiJei/AlgorithmsAndDataStructures)

[Journey Sand Shader: Glitter Reflection](https://www.alanzucconi.com/2019/10/08/journey-sand-shader-5/)  - This is the fifth part of the online series dedicated to Journey Sand Shader. In this fifth post, we will recreate the shimmering reflections that are typically seen on sand dunes.
[Alan Zucconi](https://www.alanzucconi.com/2019/10/08/journey-sand-shader-5/)

[My take on shaders: Cel shading](https://halisavakis.com/my-take-on-shaders-cel-shading/)  - Ok, it’s finally time for this tutorial. This is a shader that I’ve been teasing for more than a year, but other tutorial ideas got in the way, so I never got around to making this until now.
[Harry Alisavakis](https://halisavakis.com/my-take-on-shaders-cel-shading/)

[Disappear objects that are close to the camera](https://twitter.com/danielsantalla/status/1213985659691655168)  - New #under60sec tutorial! This one shows how to disappear objects that are close to the camera. We all eventually need this, so here you go.
[Daniel Santalla](https://twitter.com/danielsantalla/status/1213985659691655168)

[Outline Shader](https://alexanderameye.github.io/outlineshader)  - Sample depth, normals and color for a neat outline effect.
[Alexander Ameye](https://twitter.com/alexanderameye/status/1214467960649273346)

[Inverse Lerp and Remap](https://www.ronja-tutorials.com/2020/01/08/invlerp_remap.html)  - In a previous tutorial I explained how the builtin lerp function works. Now I want to add the inverse lerp as well as the remap functions to this. While this is a tutorial that focuses on explaining mathematical concepts, they resolve into basic addition and multiplication pretty quickly so I hope it isn’t too hard.
[Ronja Böhringer](https://www.ronja-tutorials.com/2020/01/08/invlerp_remap.html)

[UniversalPipelineTemplateShader.shader](https://gist.github.com/phi-lira/225cd7c5e8545be602dca4eb5ed111ba)  - Template shader to use as guide to create Universal Pipeline ready shaders. This shader works with Universal Render Pipeline 7.1.x and above.
[Felipe Lira](https://gist.github.com/phi-lira/225cd7c5e8545be602dca4eb5ed111ba)

[Exclude UI from the HDRP post-processing stack](https://twitter.com/Mrt3D/status/1214627448131862531)  - Want to exclude UI from the HDRP post-processing stack (given there is no camera stacking or render layers for the stack in HDRP). There is a dropdown property on the Unlit shader that will render a material after post-processing! Works with Shader Graph versions too. 
[Elliott Mitchell](https://twitter.com/Mrt3D/status/1214627448131862531)

[Digital Human Based on Unity HDRP](https://80.lv/articles/digital-human-based-on-unity-hdrp/)  - Hyeong-il Kim and Gyutaek Lee have recently shared a stunning demo based on Unity HDRP. They created a fully functional rig that can duplicate facial movements with the help of a simple iPhone. 
[80 Level](https://80.lv/articles/digital-human-based-on-unity-hdrp/)

[How to set up Unity’s High Definition Render Pipeline for high-end visualizations](https://blogs.unity3d.com/2020/01/09/how-to-set-up-unitys-unitys-high-definition-render-pipeline-for-high-end-visualizations/)  - Prior to Unite Copenhagen in September 2019, Unity collaborated with Lexus and its agency Team One to showcase a real-time car configurator, using the High Definition Render Pipeline (HDRP).
[Unity](https://blogs.unity3d.com/2020/01/09/how-to-set-up-unitys-unitys-high-definition-render-pipeline-for-high-end-visualizations/)

[Tokyo Night Scene in Unity: Tips and Tricks](https://80.lv/articles/tokyo-night-scene-in-unity-tips-and-tricks)  - Gary Tang gave a brief talk on the production of his Tokyo Night environment full of neon lights made with Unity, Maya, and Substance Painter.
[80 Level](https://80.lv/articles/tokyo-night-scene-in-unity-tips-and-tricks)

[Neon Light Refraction in the Realtime Train Scene](https://80.lv/articles/neon-light-refraction-in-the-realtime-train-scene/)  - Olivers Pavicevics shared videos from the production of the realtime train scene created in Unity and Deckard Render. Check out this awesome work!
[80 Level](https://80.lv/articles/neon-light-refraction-in-the-realtime-train-scene/)

[Vector Graphics](https://twitter.com/sgt3v/status/1214712146677915651)  - Wow just noticed there is a preview package for vector art in Unity3d, you can use SVG files in UI. It works just right!
[Sarge](https://twitter.com/sgt3v/status/1214712146677915651)

[7 steps to grow your game with paid user acquisition](https://blogs.unity3d.com/2020/01/08/7-steps-to-grow-your-game-with-paid-user-acquisition/)  - After countless hours of development and iteration, you finally launched your mobile game in various app stores. But this is just the beginning. How will you maintain the health of your app? Here we will break down seven steps to get started with paid user acquisition and explain why you need it to grow your game.
[Unity](https://blogs.unity3d.com/2020/01/08/7-steps-to-grow-your-game-with-paid-user-acquisition/)

[The AnimationCurve Example](https://medium.com/@BlueBubbleBee/unity-tips-the-animationcurve-example-f4c9a2ed30bc)  - Today I bring a new quick tip that you can use for your games, the Curve Animator. This simple tool gives you the ability to programmatically animate game objects.
[BlueBubbleBee](https://medium.com/@BlueBubbleBee/unity-tips-the-animationcurve-example-f4c9a2ed30bc)

[Unity space shooter 2d game tutorial](https://generalistprogrammer.com/unity/unity-space-shooter-2d-game-tutorial/)  - Welcome welcome to this unity space shooter 2d tutorial. Where we will be building this cool new space shooter game with unity game engine.
[generalistprogrammer.com](https://generalistprogrammer.com/unity/unity-space-shooter-2d-game-tutorial/)

[Deallocating Temp Memory: Part 2](https://jacksondunstan.com/articles/5455)  - Last week we dove into the code that executes when we deallocate Allocator.Temp memory to try to find out what happens. We ended up at a dead-end and were only able to draw conclusions about what doesn’t happen when we deallocate. Today we’ll try another approach to see if we gain gain more insight into the Temp allocator.
[JacksonDunstan.com](https://jacksondunstan.com/articles/5455)

[Mixed and Augmented Reality Studio (MARS): Designing a framework for simplified, flexible AR authoring](https://blogs.unity3d.com/2020/01/03/mixed-and-augmented-reality-studio-mars-designing-a-framework-for-simplified-flexible-ar-authoring/)  - We set out to build workflows that give creators the ability to make AR applications that work the way we want them to: context-aware, flexible, customizable, functional anywhere and with any kind of data – without requiring tons of code. 
[Unity](https://blogs.unity3d.com/2020/01/03/mixed-and-augmented-reality-studio-mars-designing-a-framework-for-simplified-flexible-ar-authoring/)

[Changing the style of the Hierarchy Window Group Header](http://diegogiacomelli.com.br/unitytips-changing-the-style-of-the-hierarchy-window-group-header/)  - In my last post I demonstrated how you could create a visual header to any group of components on your hierarchy window using EditorApplication.hierarchyWindowItemOnGUI. Now I’m improving it allowing you to customize its style.
[Diego Giacomelli](http://diegogiacomelli.com.br/unitytips-changing-the-style-of-the-hierarchy-window-group-header/)

[Font Awesome Icon For Unity](https://fontawesome.com/icons/unity?style=brands)  - Unity Icon for Websites was Released by Font Awesome.
[Font Awesome](https://twitter.com/makakaorg/status/1213699033631543296)

[Unity 2020.1.0 Alpha 18](https://unity3d.com/unity/alpha/2020.1.0a18)  - Unity 2020.1.0 Alpha 18 has been released.
[Unity](https://unity3d.com/unity/alpha/2020.1.0a18)

## Videos

[![Easy Movement Queuing](https://gamedevdigest.com/assets/images/4282bb1d7e6d9148889d1c54d42f7773.png)](https://www.youtube.com/watch?v=PLFQp0TvsK0)
[Easy Movement Queuing, Paths, & Tweening in Unity](https://www.youtube.com/watch?v=PLFQp0TvsK0)  - Need to move an object around a path? Or have a UI element fly in, bounce, and look cool? In this video you'll see how to use a tweening library like DoTween to move / tween position, scale, and rotation. Then we'll dive into more advanced movement queues building a simple path finding setup for a racecar on a track.
[Jason Weimann](https://www.youtube.com/watch?v=PLFQp0TvsK0)

[How to Code a Simple State Machine (Unity Tutorial)](https://www.youtube.com/watch?v=G1bd75R10m4)  - In this video, I'm going to teach you how to code a simple State Machine in Unity.
[Infallible Code](https://www.youtube.com/watch?v=G1bd75R10m4)

[FIREWORKS in Unity using VFX Graph!](https://www.youtube.com/watch?v=iCEHarLRCzI)  - Let's get this year started with some awesome fireworks in Unity!
[Brackeys](https://www.youtube.com/watch?v=iCEHarLRCzI)

[Wanna make a Unity RPG? Here are Some Tips to Get You Started!](https://www.youtube.com/watch?v=52g0UaSkKNA)  - A lot goes into making a Unity Role Playing Game. In this video, we give some tips to help you make your own Unity RPG.
[Infallible Code](https://www.youtube.com/watch?v=52g0UaSkKNA)

[Unity HDRP For BEGINNERS - How To Use the Unity HDRP Template?](https://www.youtube.com/watch?v=pcqwM7ZK_5M)  - In this video we look into how to setup a Unity project with Unity HDRP template provided with Unity. We look into how the demo scene works and also a summary of some of the HDRP post-processing options.
Dilmer Valecillos]
[Outrage Games](https://www.youtube.com/watch?v=_p_FLmnVHvk&amp;feature=emb_title)

[How To Properly Walk In Unity (HTP)](https://www.youtube.com/watch?v=_p_FLmnVHvk&amp;feature=emb_title)  - This is the first episode of HTP: "How to properly". In this tutorial-like series I am talking about the things you can do to make a game look more appealing. Today we learn how to walk in a 2D platformer and make it look cool!
[Outrage Games](https://www.youtube.com/watch?v=_p_FLmnVHvk&amp;feature=emb_title)

[Observer Pattern In Unity3D With C# Events & Delegates (Learn Game Design Patterns With Examples)](https://www.youtube.com/watch?v=6gXV6xXQ6Vw)  - I have always used observer pattern in unity3D and it is one of the easiest to understand yet powerful game design patterns out there.
[MrDuru The Game Developer](https://www.youtube.com/watch?v=6gXV6xXQ6Vw)

[Unit Testing in Unity — When Should You Do It?](https://www.youtube.com/watch?v=coYiIGyAbKs)  - Everyone agrees that they should be unit testing but it's hard to know when tests are worth it. In this video, Jason and I discuss what and when you should be unit testing in Unity.
[Infallible Code](https://www.youtube.com/watch?v=coYiIGyAbKs)

[Unity3d VSCode Extensions - Speed Up Your Development With Unity Code Snippets !](https://www.youtube.com/watch?v=c9z30K0TVRQ&amp;feature=youtu.be)  - Unity Code Snippets provides a very fast way to develop with Unity3d by giving you a quick way to create mono behaviors, scriptable objects, custom editor extensions, and also it hooks into the Unity3d lifecycle method such as Awake, Update, Start, OnEnable, and many more.
[Dilmer Valecillos](https://www.youtube.com/watch?v=c9z30K0TVRQ&amp;feature=youtu.be)

[Unity multiplayer using the MLAPI networking library](https://www.youtube.com/watch?v=-nS1gqSk458&amp;feature=emb_title)  - This is a brief introduction to MLAPI, a networking library for Unity, demonstrating how to setup a minimal working example of a networked Character Controller, along with how to run two instances of Unity side-by-side using symlinks.
[Stew Heckenberg](https://www.youtube.com/watch?v=-nS1gqSk458&amp;feature=emb_title)

## Assets

[![Blend Modes](https://gamedevdigest.com/assets/images/45043a66aa86f3655ad989bd51297aca.png)](https://assetstore.unity.com/packages/tools/particles-effects/blend-modes-28238?aid=1011l8NVc)
[Blend Modes](https://assetstore.unity.com/packages/tools/particles-effects/blend-modes-28238?aid=1011l8NVc)  - Introducing Blend Modes, a powerful plug-in which allows you to change the blend mode of objects. You can achieve a wide range of unique effects by applying any of the 25 different blend modes to UI graphics or text, particle systems, 3D meshes, 2D sprites and other objects.  With Blend Modes, you can make your game stand out from the crowd! Features:  
• 25 different blend modes, including overlay, luminosity, linear dodge, screen, vivid light and much more 
• Render modes similar to Photoshop layer blending and layer overlay 
• Can be easily applied to the most native renderers: UI images and text (including TextMesh Pro), sprites, meshes, cameras, particles, trails, etc 
• Comes with an extension system, giving you the power to apply blend mode effects to any other components and shaders 
• Fully compatible with the Unity’s masking system 
• Has mobile-friendly optimization options
[Elringus](https://assetstore.unity.com/packages/tools/particles-effects/blend-modes-28238?aid=1011l8NVc) **Affiliate**

[Asset Dependency Viewer](https://github.com/ggzerosum/Unity-AssetDependency-Viewer)  - Simple Asset Dependency Checker. This is GUI showing each resources's dependencies in Unity. Can be used to safely delete unused resources from your project.
[한승훈(Han Seung-hun)](https://github.com/ggzerosum/Unity-AssetDependency-Viewer) *Open Source*

[DOTween Pro](https://assetstore.unity.com/packages/tools/visual-scripting/dotween-pro-32416?aid=1011l8NVc)  - DOTween is a fast, efficient, fully type-safe object-oriented animation engine, optimized for C#. Animate anything, either with shortcuts or with DOTween's generic way. Tween strings with rich text support and scrambling options. Organize your tweens in complex groups that can be controlled as a single tween. Looping (with Yoyo and Incremental additional options), easing (including custom easing with AnimationCurves), from and relative tweens, and more.
[Demigiant](https://assetstore.unity.com/packages/tools/visual-scripting/dotween-pro-32416?aid=1011l8NVc) **Affiliate**

[MLAPI](https://github.com/MidLevel/MLAPI)  - MLAPI (Mid level API) is a framework that simplifies building networked games in Unity. It offers low level access to core networking while at the same time offering high level abstractions. The MLAPI aims to remove the repetetive tasks and reduces the network code dramatically, no matter how many of the modular features you use.
[MidLevel](https://github.com/MidLevel/MLAPI) *Open Source*

[CreateSymlinkProject.cs](https://gist.github.com/WikkidEdd/b572ce423969c114f6eea3b5a751f7d9)  - Creates a symlinked version of a Unity project so you can easily do network development. Add script to Editor folder. Run from "Utils/Create Symlink Project" then choose directory to put symlink'd project in.
[Edd Smith](https://gist.github.com/WikkidEdd/b572ce423969c114f6eea3b5a751f7d9) *Open Source*

[Persistent Log](https://assetstore.unity.com/packages/tools/input-management/persistent-log-159586?aid=1011l8NVc)  - Improves the regular Unity Log files, super useful for debugging builds and even the editor, as it keeps old log files for a configurable amount! And it's free, check it out!
[Mobilis Technologies](https://twitter.com/Rodrigo_Devora/status/1214262621811232770) **Affiliate**

[Open Sesame Compiler For Unity](https://github.com/mob-sakai/OpenSesameCompilerForUnity)  - A custom Roslyn compiler to access internals/privates for Unity. In other words, you can access to any internals/privates in other assemblies, without reflection.
[Takashi Sakai](https://github.com/mob-sakai/OpenSesameCompilerForUnity) *Open Source*

[AnimationEventListener](https://github.com/JeffHarper926/Tools/tree/master/Tools/Assets/AnimationEvents)  - Animation Events are super helpful, but a pain because they only call back to the animator object. I created a tool that fixes that. Just reference the animator and you are ready to go.
[Jeff Harper](https://twitter.com/jeffdevsitall/status/1214591325011660801) *Open Source*

[Measure Tool](https://www.octomangames.com/downloads/measure-tool/)  - Since Unity does not provide a measure tool for 3D Object’s i created one. 
[OctoMan](https://www.octomangames.com/downloads/measure-tool/)


## Spotlight

[![Astro Kat](https://gamedevdigest.com/assets/images/7802d99f445a0cce728028cf51653098.png)](https://www.patreon.com/posts/astro-kat-update-32245577)
[Astro Kat](https://www.patreon.com/posts/astro-kat-update-32245577)  - Astro Kat is a sci-fi themed action adventure game featuring Kat, a young kitty explorer and scientist. You will visit different planets to look for animals, plants and maybe even find some new friends! Together with your companion bot-friend, you will discover new abilities by researching the alien environments.  
You can find interesting items in the world by jumping, climbing and using your newly discovered abilities. Make friends with the many alien characters you will meet. The game offers a mix of action, puzzle-solving, platforming and exploration in many different environments.  
You can read more behind the scenes development on the devlog.
[Minions Art](https://www.patreon.com/posts/astro-kat-update-32245577)

---

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.