Game Dev Digest — Issue #42 - ML & AI, Effects, Workflows, Performance, VR, And Much More!
Tags: gamedev, unity3d, csharp, news
Published: 2020-05-01 11:59:48

###Issue #42 - ML & AI, Effects, Workflows, Performance, VR, And Much More!

![Issue #42 - ML & AI, Effects, Workflows, Performance, VR, And Much More!](https://gamedevdigest.com/assets/social-posts/issue-42.jpg)

Still stuck at home, but game dev finds a way to keep on keepin' on.

AI and machine learning was a topic this week. If you are building the computer enemies for your game they are worth a read. Debugging, performance, and improving workflows was another common thread, with your usual Shader Graph and effects posts sprinkled in. 

All that and more, so get reading!

---

[**Using Machine Learning to Create AI Opponents**](http://misdirectiongames.com/2020/04/30/207/)  - I’m writing this third case-study on how I utilized machine learning (ML) to create AI opponents for my game. The biggest reason why I went with ML instead of hand-crafting AI players was that I tried the latter and I could not make them fun.
[_Misdirection Games_](http://misdirectiongames.com/2020/04/30/207/)

[**Moving the Ground**](https://catlikecoding.com/unity/tutorials/movement/moving-the-ground/)  - This is the seventh installment of a tutorial series about controlling the movement of a character. It deals with the challenges of standing on and navigating over terrain that is in motion.
[_Catlike Coding_](https://catlikecoding.com/unity/tutorials/movement/moving-the-ground/)

[**Complex Maps**](https://catlikecoding.com/unity/tutorials/custom-srp/complex-maps/)  - This is the eighth part of a tutorial series about creating a custom scriptable render pipeline. It makes it possible to create complex surfaces by adding support for mask, detail, and normal maps.
[_Catlike Coding_](https://catlikecoding.com/unity/tutorials/custom-srp/complex-maps/)

[**Type-Agnostic Generic Algorithms**](https://jacksondunstan.com/articles/5520)  - We looked at some generic algorithm examples in the previous article, but they weren’t very generic in one respect: they all required a NativeArray. What if we wanted to make them more generic so they could work on any type of collection? Today’s article shows two ways to do just that!
[_JacksonDunstan.com_](https://jacksondunstan.com/articles/5520)

[**Manually Evoke GUI Events**](https://gist.github.com/thsbrown/2ea08bb054d701c45c1c645c0a067b29)  - Ever wondered how to manually invoke a press or unpress event on a GUI element? I sure as hell did 🤣. After hours of stumbling around and several forum visits I stumbled upon the answer. ExecuteEvents.Execute
[_Thomas Brown_](https://twitter.com/meatloaf1024/status/1255530337050005504)

[**How to debug Unity with a native debugger using mixed c++ and c# stack**](https://www.sebaslab.com/how-to-debug-unity-natively-using-mixed-c-and-c-stack/)  - You found a 100% reproducible bug that would make Unity crash all the time. However you are a c# developer and you don’t have the tools to debug native crashes, so what to do? Luckily there are several ways to tackle the problem, as it’s useful to check if something you have done may have caused the problem.
[_Seba's Lab_](https://www.sebaslab.com/how-to-debug-unity-natively-using-mixed-c-and-c-stack/)

[**What’s Hiding In Your Unity Asset Bundles?**](https://thegamedev.guru/unity-addressables/asset-bundle-browser/)  - Addressables does it all for you, which makes it easy to trust the system. But, did you know that Unity can silently duplicate your assets into different bundles? This means for you: more RAM, more bugs and more money wasted in CDN. So the question is, do you know what is really hiding in your asset bundles?
[_The Gamedev Guru_](https://thegamedev.guru/unity-addressables/asset-bundle-browser/)

[**Depth-Based Post Effects**](https://www.patreon.com/posts/36438990)  - Today we're gonna shift back to post processing effects to learn how to use the depth texture to make a localized toon shading effect!
[_Team Dogpit_](https://www.patreon.com/posts/36438990)

[**World Bending Effect**](https://notslot.com/blog/2020/04/world-bending-effect/)  - In this article, we will recreate the Animal Crossing’s World Bending effect in Unity. Trust me, you will be surprised how simple it is! But we’re not stopping there, we will also explore how we can take it to the next level...
[_notslot.com_](https://notslot.com/blog/2020/04/world-bending-effect/)

[**A Shocking Effect**](https://kabuk.games/2020/04/21/a-shocking-effect/)  - Finally, with a little delay, I will talk about the Matrix-like shockwave effect in the Particle in a Box remake!
[_Kabuk Games_](https://kabuk.games/2020/04/21/a-shocking-effect/)

[**How To Make A Clock**](https://twitter.com/danielsantalla/status/1254784538212876288)  - vWaste no time and learn how to make a clock with this #under60sec tutorial for Unity (is this a dad joke?). We all need them at some point so, here you go :)
[_Daniel Santalla_](https://twitter.com/danielsantalla/status/1254784538212876288)

[**2D Outlines in Shader Graph and URP**](https://danielilett.com/2020-04-27-tut5-6-urp-2d-outlines/)  - Outlines are an extremely popular method for making objects stand out in games. Plenty of developers choose to add outlines to advance an aesthetic like a comic book style. In this tutorial, we’ll take a SpriteRenderer and add outlines to it using Shader Graph. As always, the source code for this shader is available on [GitHub](https://github.com/daniel-ilett/2d-outlines-urp).
[_Daniel Ilett_](https://danielilett.com/2020-04-27-tut5-6-urp-2d-outlines/)

[**Grass Shader**](https://roystan.net/articles/grass-shader.html)  - This tutorial will describe step-by-step how to write a grass shader for Unity. The shader will take an input mesh, and from each vertex on the mesh generate a blade of grass using a geometry shader.
[_roystan.net_](https://roystan.net/articles/grass-shader.html)

[**An Animation System Workflow**](https://twitter.com/SFBTom/status/1254870214287769602)  - As part of our Tangle Tower stream for #LudoNarraCon, I did a short look at our animation system, since it’s one of the things I’m most proud of as the game's programmer.
[_Tom Vian_](https://twitter.com/SFBTom/status/1254870214287769602)

[**Photogrammetry Tutorial**](https://www.artstation.com/artwork/rRan1E)  - Hey everyone! I made a little tutorial to give you an insight into my photogrammetry pipeline for Unity3D.
[_Jamie Nooten_](https://twitter.com/JamieNooten/status/1255090769515483139)

[**How to use Quest Link in Unity**](https://gamedevbill.com/how-to-use-quest-link-in-unity/)  - A while ago I got an Oculus Quest and began developing in Unity for the headset. Only recently, however, did I get a computer that supported Link. Using Quest Link in Unity’s Play Mode has been a complete game changer.
[_Game Dev Bill_](https://gamedevbill.com/how-to-use-quest-link-in-unity/)

[**Unity Releases**](https://unity3d.com/unity/alpha/2020.2.0a9)  - Editor versions [2020.1.0 Beta 7](https://unity3d.com/unity/beta/2020.1.0b7) and [2020.2.0 Alpha 9](https://unity3d.com/unity/alpha/2020.2.0a9) have been released.
[_Unity_](https://unity3d.com/unity/alpha/2020.2.0a9)

## Videos

[![New Editor UI in Unity 2019.3! (Overview)](https://gamedevdigest.com/assets/images/da011539e82e8cbbcab03c8e0cf8a935.png)](https://www.youtube.com/watch?v=nduyBAUq7vQ)
[**New Editor UI in Unity 2019.3! (Overview)**](https://www.youtube.com/watch?v=nduyBAUq7vQ)  - Unity 2019.3 introduces a new set of updates to the editor UI, so let's take a look at them! Of course, along with the UI updates, Unity 2019.3 introduces many other improvements and updates made to features and the workflow.
[_Unity_](https://www.youtube.com/watch?v=nduyBAUq7vQ)

[**Unity Shadergraph: Rain Drop Ripples!**](https://www.youtube.com/watch?v=R6EX6dN1BOs&amp;feature=youtu.be)  - Surprise surprise, more wet stuff. I just can't help myself. In this tutorial I convert my previous rain ripple video into Unity's ShaderGraph as a lot of people had problems with this, and I sort've promised it could be done. So here it is!
[_PolyToots_](https://www.youtube.com/watch?v=R6EX6dN1BOs&amp;feature=youtu.be)

[**Using cameras in HDRP (Tutorial)**](https://www.youtube.com/watch?v=x0KIGa-6Vx4)  - When using HDRP, there is a set of new features to modify the look and feel of the Camera view. In this tutorial, we are going to indicate those specific changes and show how to use them!
[_Unity_](https://www.youtube.com/watch?v=x0KIGa-6Vx4)

[**Making of PARTY KILLER - Ludum Dare 46**](https://www.youtube.com/watch?v=AlCJc05nkwc)  - We participated in Ludum Dare 46, and it was a blast!
[_Brackeys_](https://www.youtube.com/watch?v=AlCJc05nkwc)

[**Speeding Up Workflow for Mobile Apps - Unite Now**](https://www.youtube.com/watch?v=7wVhQfdO-pc)  - In this webinar, you'll learn how to dramatically reduce iteration time and boost productivity when developing for mobile.
[_Unity_](https://www.youtube.com/watch?v=7wVhQfdO-pc)

[**Deliver Better Games Faster by Leveraging Next-Gen Crash and Error Data - Unite Now**](https://www.youtube.com/watch?v=4sDK_JfXOY4)  - Join Backtrace and Respawn at Unite Now to learn how to provide a better gaming experience by attacking debug time and reducing gameplay-impacting crashes. They’ll cover errors, triage, and more.
[_Unity_](https://www.youtube.com/watch?v=4sDK_JfXOY4)

[**Better Artist Workflows in Unity - Unite Now**](https://www.youtube.com/watch?v=bqlHBqwROOY)  - In this Unite Now session you will learn how to enhance artist workflows for a faster and more efficient production pipeline. We’ll demonstrate powerful artist and designer-friendly features in Unity.
[_Unity_](https://www.youtube.com/watch?v=bqlHBqwROOY)

[**Blender 2.82 - Rigify to Unity Tutorial - How to Export a Rigify Character and Import it into Unity**](https://www.youtube.com/watch?v=vrN9duEoA6g)  - In this tutorial I will go through how I install an addon to Blender 2.82 to export a Rigify character and import it in Unity.
[_Imphenzia_](https://www.youtube.com/watch?v=vrN9duEoA6g)

[**Unity Logo Million Particles! (VFX Graph Deep Dive)**](https://www.youtube.com/watch?v=q1sm20g8yqE)  - Let's learn how the Unity Logo effect is made in Visual Effect Graph! Millions of particles!
[_Code Monkey_](https://www.youtube.com/watch?v=q1sm20g8yqE)

[**Building Game Bots in Unity with State Machines (ALL THE DETAILS)**](https://www.youtube.com/watch?v=V75hgcsCGOM)  - Build bots for your Unity game with a powerful but simple to manage state machine built completely in c#.
[_Jason Weimann_](https://www.youtube.com/watch?v=V75hgcsCGOM)

[**Mini-tutorial: Using NavMesh to create a character controller in Unity**](https://www.youtube.com/watch?v=bH33Qvhvl40)  - This is a small tip on how to use Unity's NavMesh to power a very simple character controller that doesn't rely on physics or on the NavMesh Agent, allowing for very stable movements even in complex layouts.
[_Ciro Continisio_](https://www.youtube.com/watch?v=bH33Qvhvl40)

[**Creating A Flexible Dialogue System With Unity 2D**](https://www.youtube.com/watch?v=jhwfA-QF54M)  - Today, I show you how I created the dialogue system for Vibrant Venture from scratch with sprites.
[_Semag Games_](https://www.youtube.com/watch?v=jhwfA-QF54M)

[**2D Laser Beam Shader Graph & Particles & Controls Unity Tutorial**](https://www.youtube.com/watch?v=OAfpDaAKVSE)  - In this video you will learn how to create 2D Laser Shader Graph and all the related particle systems in addition to coding the laser hits and length by codes.
[_Binary Lunar_](https://www.youtube.com/watch?v=OAfpDaAKVSE)

[**Unity3d WebXR - How To Use WebXR To Build VR Experiences?**](https://www.youtube.com/watch?v=NLAuoBR6l5o)  - Today I reviewed WebXR exporter provided by Mozilla where I show you some of the latest features available in this amazing asset. This video also shows you how components are required to interact with objects in VR.
[_Dilmer Valecillos_](https://www.youtube.com/watch?v=NLAuoBR6l5o)

[**Introduction to VR in Unity - PART 3 : TELEPORTATION**](https://www.youtube.com/watch?v=fZXKGJYri1Y)  - Welcome back to the part 3 of this tutorial serie that will teach you the basics of VR development in Unity. In this episode we will learn how to setup teleportation !
[_Valem_](https://www.youtube.com/watch?v=fZXKGJYri1Y)

[**Unity Audio Tutorials - Compression Formats | Audio Import Settings**](https://www.youtube.com/watch?v=4dr_1Yie4Os&amp;list=PLaTdxrbUcR8IcWkBEvOc9yJ-vD54AxmEb&amp;index=2)  - What are the differences between audio compression formats and why is this information important for your game? We take a look at the audio compression formats on offer in Unity, what effect they have on file size and performance, and provide lots of listening examples and helpful tips you can use right away.
[_Double Shot Audio_](https://www.youtube.com/watch?v=4dr_1Yie4Os&amp;list=PLaTdxrbUcR8IcWkBEvOc9yJ-vD54AxmEb&amp;index=2)

## Assets

[![Unity Performance Checklist for 2020+](https://gamedevdigest.com/assets/images/44e243cf-5ba0-4d38-a222-423c3cc7e17d.png)](https://thegamedev.guru/unity-performance-checklist/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=perf_checklist&amp;utm_content=gamedevdigest)
[**Unity Performance Checklist for 2020+**](https://thegamedev.guru/unity-performance-checklist/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=perf_checklist&amp;utm_content=gamedevdigest)  - For Game Developers, Who're Sick of Working Hard to Release Games That Get Negative Reviews 
 Make your gameplay mechanics truly playable by learning the secrets behind CPU Optimization, to stop frustrating your players with frequent freezes  Deliver top-notch, high-performing graphics using the GPU Performance Checklist, so you immerse your users in your unique art style  Get your game to load under 5 seconds with the Memory & Loading Times checklist, so your audience doesn't give up on your game
[_The Gamedev Guru_](https://thegamedev.guru/unity-performance-checklist/?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=perf_checklist&amp;utm_content=gamedevdigest)

[**uREPL**](https://github.com/hecomi/uREPL)  - uREPL is an in-game powerful REPL environment for Unity3D that supports following functions: Any Unity-supported C# code evaluation at run time. Emacs-like keyboard shortcuts. Multi-Line input. Customizable completions. Command definition just by adding an attribute. GameObject and Component inspector. Output logs. History.
[_hecomi_](https://github.com/hecomi/uREPL) *Open Source*

[**HUMBLE BOOK BUNDLE: C# & .NET CORE BY PACKT**](https://www.humblebundle.com/books/c-net-core-packt-books?partner=unity3dreport)  - Get hands-on with ebooks like ASP.NET Core 3 and Angular 9, Hands-On Domain-Driven Design with .NET Core, and Modern App Development with C# 8 and .NET Core 3.0! $1,403 WORTH OF AWESOME STUFF. PAY $1 OR MORE
[_Humble Bundle_](https://www.humblebundle.com/books/c-net-core-packt-books?partner=unity3dreport) **Affiliate**

[**Freedom Engine**](https://github.com/marmitoTH/FreedomEngine)  - Classic Sonic Physics for Unity. _[View the [demo video](https://www.youtube.com/watch?v=wJznXmyHSYw)!]_
[_Lucas Rodrigues_](https://github.com/marmitoTH/FreedomEngine) *Open Source*

[**HUMBLE BOOK BUNDLE: APPLIED MATH PRODUCTIVITY BY MERCURY LEARNING**](https://www.humblebundle.com/books/applied-math-productivity-mercury-learning-books?partner=unity3dreport)  - Get ebooks like Mathematics for Computer Graphics and Game Programming, Flight Science, The Special Theory of Relativity, Foundations of Physics, and more! $1,104 WORTH OF AWESOME STUFF. PAY $1 OR MORE.
[_Humble Bundle_](https://www.humblebundle.com/books/applied-math-productivity-mercury-learning-books?partner=unity3dreport) **Affiliate**

[**ScreenshotToUnityProfiler**](https://github.com/wotakuro/ScreenshotToUnityProfiler)  - Screenshots in the Unity Profiler!!! _[view each frame's screenshot as you select the frame in the profiler.]_
[_Yusuke Kurokawa_](https://twitter.com/wotakuro/status/1255794240107327488) *Open Source*

[**URP Unlit Texture example**](https://gist.github.com/phi-lira/10159a824e4e522060c47e21762941bb)  - I've made a quick example of an UnlitTexture shader for URP.
[_Felipe Lira_](https://twitter.com/phi_lira/status/1253991821212094464) *Open Source*

[**DragAndDropFromField**](https://github.com/forestrf/DragAndDropFromField)  - Drag and drop objects directly from a field! _[ever wanted to drag an element from one editor field to another? now you can.]_
[_Andrés Leone Gámez_](https://github.com/forestrf/DragAndDropFromField) *Open Source*

[**Visualize an AudioFile**](https://pastebin.com/ruWj0Fyp)  - Here is a simple way to visualize an AudioFile on an emissive texture. Just use the AudioSource.GetData and calculate an average over your samples. Use that for brightness.
[_Binary Impact_](https://twitter.com/BinaryImpactG/status/1255093270662852608) *Open Source*

[**Guid Based Reference**](https://github.com/Unity-Technologies/guid-based-reference)  - A component to give a Globally Unique IDentifier (GUID) to a Game Object. This GUID can then be used to reference an object even if it is another Scene, not loaded yet, or otherwise not easy to directly reference.
[_Unity_](https://github.com/Unity-Technologies/guid-based-reference) *Open Source*

## Spotlight

[![Riposte!](https://gamedevdigest.com/assets/images/ee8ea138ebe3240d434f695b09da81e3.png)](http://misdirectiongames.com/riposte/)
[**Riposte!**](http://misdirectiongames.com/riposte/)  - It’s stab or be stabbed in Riposte!, a 4-8 player party fighting game where players control the weapons (not the characters) in dynamic 2v2 duels and crazy minigames. 

The core of Riposte! is a novel 2v2 dueling system where players directly control the weapons, with one player on a team controlling the sword and the other in charge of the shield. There are multiple primary and secondary weapons to choose from, each with their own advantages and unique ability. 

Riposte! can be played in individual duels, a tournament bracket, or in the party tavern mode where combat is broken up with fun minigames. 

_[Follow the [devlog](http://misdirectiongames.com/) for more in-depth details on implementation in Unity that you might find useful!]_
[_Misdirection Games_](http://misdirectiongames.com/riposte/)



---

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.