Game Dev Digest — Issue #44 - The Heretic, Profiling, ML, Monetization, And Much More!
Tags: gamedev, unity3d, csharp, news
Published: 2020-05-15 13:52:23

###Issue #44 - The Heretic, Profiling, ML, Monetization, And Much More!

![Issue #44 - The Heretic, Profiling, ML, Monetization, And Much More!](https://gamedevdigest.com/assets/social-posts/issue-44.jpg)

It's Friday, and that means another Digest! I know you are excited, but keep your pants on. This week sees Unity's ML-Agents reach a 1.0 milestone, so no better time to start tinkering with your game AI. Below you will find tutorials on ML as well as assets for behaviour trees and more. 

If you are looking to tune your game for performance, there is some great content this week. As well as optimizing for user acquisition, monetization and more.

For the graphically inclined, there is plenty to check out including the release of Unity's Heretic Digital Human project. Enjoy!

---

[**How 3D Game Rendering Works: Texturing**](https://www.techspot.com/article/1916-how-to-3d-rendering-texturing/?utm_source=programmingdigest&amp;utm_medium=email&amp;utm_campaign=366)  - Bilinear, Trilinear, Anisotropic Filtering & More: What Does It Mean? _[not Unity specific, but still a good read.]_
[_techspot.com_](https://www.techspot.com/article/1916-how-to-3d-rendering-texturing/?utm_source=programmingdigest&amp;utm_medium=email&amp;utm_campaign=366)

[**Making of The Heretic: Environment Art**](https://blogs.unity3d.com/2020/05/08/making-of-the-heretic-environment-art/)  - In this post, I will explain the creative process behind some of the environment art in The Heretic project.
[_Unity_](https://blogs.unity3d.com/2020/05/08/making-of-the-heretic-environment-art/)

[**Faking Baking – Shader Position Arrays**](https://inresin.wordpress.com/2020/05/13/faking-baking-shader-position-arrays/)  - In this mini-tutorial I’m going to cover a technique for faking baked lighting in interior or underground stylized scenes. It acts as an alternative to realtime GI or fully baked lights. The main topic covered in this tutorial will be using position arrays in shaders.
[_Inresin Tutorials_](https://inresin.wordpress.com/2020/05/13/faking-baking-shader-position-arrays/)

[**Epic Online Services Launched**](https://dev.epicgames.com/en-US/services)  - Epic Online Services enable you to launch, operate, and scale great games with the same services Epic uses for its own games, plus many additional services developed for the worldwide gaming community. Epic Online Services are available in a single SDK, for free. Any engine. Any store. Any platform.
[_Epic Games_](https://dev.epicgames.com/en-US/services)

[**Unity CPU Optimization: Is Your Game… Draw Call Bound?**](https://thegamedev.guru/unity-cpu-performance/draw-call-bound/)  - In this post, I'll show you how to know if your game performance is suffering from too many Unity Draw Calls and what to do about it. You'll be able to answer: What is a draw call and what will they do to your players? How do you know if you have too many draw calls? How can you reduce these dreadful Unity draw calls?
[_The Gamedev Guru_](https://thegamedev.guru/unity-cpu-performance/draw-call-bound/)

[**Performance best practices in C#**](https://medium.com/@kevingosse/performance-best-practices-in-c-b85a47bdd93a)  - The goal of this article is to provide a non-exhaustive list of code patterns to avoid, either because they’re risky or because they perform poorly.
[_Kevin Gosse_](https://medium.com/@kevingosse/performance-best-practices-in-c-b85a47bdd93a)

[**Elegant parallax scrolling in Unity**](https://antomicgames.com/index.php/2020/05/12/parallax-scrolling-in-unity/)  - Between how did the world start and how to stop global warming, there is another question I’m sure every one of use had asked ourselves at least once in our lives. And that is how to do parallax scrolling in Unity in an elegant way. In this post I’m going to show you exatcly this.
[_Antomic Games_](https://antomicgames.com/index.php/2020/05/12/parallax-scrolling-in-unity/)

[**LINQ-Style Generic Algorithms for Burst**](https://jacksondunstan.com/articles/5527)  - We’ve seen how to create powerful, Burst-compatible generic algorithms already, but today we’ll take another approach to generic algorithms and implement them in the style of C#’s LINQ. Along the way, we’ll tackle a new challenge by implementing a generic algorithm that allocates a new collection.
[_JacksonDunstan.com_](https://jacksondunstan.com/articles/5527)

[**Snow Shader**](https://twitter.com/danielsantalla/status/1260695131755286528)  - New #under60sec tutorial! Make Snow that actually adds some volume to the objects with Shader Graph.
[_Daniel Santalla_](https://twitter.com/danielsantalla/status/1260695131755286528)

[**Recompile's effects ported to HDRP**](https://twitter.com/phi6/status/1259889935689093121)  - Recompile's "Fog of War" world-revealing effects is now ported to HDRP Shader Graph! Here's how we did it, in 60 seconds... Much more performant than the old version, this is all now completely shader based with no Physics.Overlap calls necessary.
[_Phi Compile_](https://twitter.com/phi6/status/1259889935689093121)

[**Exploring new ways to simulate the coronavirus spread**](https://blogs.unity3d.com/2020/05/08/exploring-new-ways-to-simulate-the-coronavirus-spread/)  - We built a simplified demonstration project to simulate coronavirus spread in a fictitious grocery store and explored the impact that store policy has on exposure rates. We’ve made the full source code for this project available on GitHub for anyone to extend.
[_Unity_](https://blogs.unity3d.com/2020/05/08/exploring-new-ways-to-simulate-the-coronavirus-spread/)

[**How AR Foundation and MARS work together to enable interactive, multiplatform AR experiences**](https://blogs.unity3d.com/2020/05/11/how-ar-foundation-and-mars-work-together-to-enable-interactive-multiplatform-ar-experiences/)  - Unity makes tools that give creators the power to build deeply interactive augmented reality (AR) experiences that intelligently adapt to any environment and work across devices. Learn how AR Foundation and MARS work together to give creators the ability to make AR experiences that blur the line between the digital and physical worlds.
[_Unity_](https://blogs.unity3d.com/2020/05/11/how-ar-foundation-and-mars-work-together-to-enable-interactive-multiplatform-ar-experiences/)

## Videos

[![Final Fantasy 7 Remake - Fur shader in Unity](https://gamedevdigest.com/assets/images/d666ac84a89e75842b07ffb56da6e4d9.png)](https://www.youtube.com/watch?v=_TLYzV90oFs&amp;feature=youtu.be)
[**Final Fantasy 7 Remake - Fur shader in Unity**](https://www.youtube.com/watch?v=_TLYzV90oFs&amp;feature=youtu.be)  - The Chocobos in the game are hairy, like many other animals with fur. Today we'll recreate this effect on Unity.
[_TNTC_](https://www.youtube.com/watch?v=_TLYzV90oFs&amp;feature=youtu.be)

[**Pikmin’s Gameplay**](https://www.youtube.com/watch?v=nXKiKGZ20Wg&amp;feature=youtu.be)  - Pikmin is a game where you command an army of these tiny creatures that help you on your journey by carrying objects back to your ship and fighting a variety of dangerous enemies. In this video, I show how I tried to do a simple recreation of the basic gameplay of managing the Pikmin and carrying objects - using the Unity engine!
[_Mix and Jam_](https://www.youtube.com/watch?v=nXKiKGZ20Wg&amp;feature=youtu.be)

[**Ask The Experts: Best Practices for Monetizing Your Game - Unite Now**](https://www.youtube.com/watch?v=oHCPI9CY31A)  - In this Unite Now session, you will learn from our monetization experts how you can maximize your game revenue without compromising the player experience. _[want more? read [Fundamental Metrics in Mobile Games Development](https://blog.theknightsofunity.com/fundamental-metrics-in-mobile-games-development/) on blog.theknightsofunity.com]_
[_Unity_](https://www.youtube.com/watch?v=oHCPI9CY31A)

[**Fine Margins: Learn the Real Costs of Hosting Your Game - Unite Now**](https://www.youtube.com/watch?v=OtOSGYwCTS4)  - Discover the real costs of hosting your game, with strategic insight from Multiplay.com. They'll run through five of the key factors you need to consider to control your costs and stay on top.
[_Unity_](https://www.youtube.com/watch?v=OtOSGYwCTS4)

[**Machine Learning Summit: Successfully Use Deep Reinforcement Learning in Testing and NPC Development**](https://www.youtube.com/watch?v=Q5RAE73zCKQ&amp;feature=emb_title)  - In this 2020 GDC Virtual Talk, Unity's Jeffrey Shih explains how deep reinforcement and imitation learning can be used for scaling playtesting and NPC creation in games.
[_GDC_](https://www.youtube.com/watch?v=Q5RAE73zCKQ&amp;feature=emb_title)

[**Unity ML-Agents 1.0 - Training your first A.I**](https://www.youtube.com/watch?v=_9aPZH6pyA8)  - Unity3D's Machine Learning Framework has released Version 1.0. Great news! Now is the best time to get started with Artificial Intelligence in Unity. _[also check out [Train your first A.I. in Unity](https://www.youtube.com/watch?v=1bn9Lx2DDa0) from Bot Academy.]_
[_Sebastian Schuchmann_](https://www.youtube.com/watch?v=_9aPZH6pyA8)

[**Basics of Lightmapping in Unity 2020.1**](https://www.youtube.com/watch?v=okYhs6kQ0xw)  - Let's learn some basics of light mapping in Unity 2020.1 using Universal Render pipeline (URP). You will also learn some Unity tips and techniques to improve and speed up light baking workflow.
[_Unity Guruz_](https://www.youtube.com/watch?v=okYhs6kQ0xw)

[**Realistic Shadows in Unity with HDRP! (Tutorial)**](https://www.youtube.com/watch?v=N_TeKoMC3hg)  - Let’s take a look at how we can control shadows in the High Definition Render Pipeline, to customize the shadows as we see fit for our game in Unity!
[_Unity_](https://www.youtube.com/watch?v=N_TeKoMC3hg)

[**How To Make Translucent Materials In Unity With C# Tutorial**](https://www.youtube.com/watch?v=mgvAqNiT7t0)  - In this mini Unity tutorial we learn how to create see-thru materials.
[_Jimmy Vegas_](https://www.youtube.com/watch?v=mgvAqNiT7t0)

[**Create a Dissolving Glow Effect & Controlling With Code in Unity!**](https://www.youtube.com/watch?v=uc6E9JY-qTM)  - Learn how to create a dissolving shader with glowing edges using Unity Shader Graph! You will also learn how to control your material through code to activate and deactivate the dissolving effect!
[_gamesplusjames_](https://www.youtube.com/watch?v=uc6E9JY-qTM)

[**Pseudo-LipSyncing in Unity!**](https://www.youtube.com/watch?v=za1CVL8fTG0)  - I was watching a CodeParade video, and I decided I liked his avatar thing he had made, and wanted to make something akin to that, as in the mouth kinda moves when someone is talking.
[_Chadderbox_](https://www.youtube.com/watch?v=za1CVL8fTG0)

[**How to Set Up Dynamic Water Physics and Boat Movement in Unity | Ship Buoyancy - Tutorial**](https://www.youtube.com/watch?v=eL_zHQEju8s)  - In this tutorial you'll learn how to set up boat movement and dynamic water physics in Unity.
[_Tom Weiland_](https://www.youtube.com/watch?v=eL_zHQEju8s)

[**Arcade Car Driving in Unity**](https://www.youtube.com/watch?v=cqATTzJmFDY)  - Learn how to create Arcade-style Car Driving in Unity with a brand new tutorial!
[_gamesplusjames_](https://www.youtube.com/watch?v=cqATTzJmFDY)

[**Intro to DOTS Physics and Havok Physics in Unity**](https://www.youtube.com/watch?v=QCKXoXW6XFA)  - Unity ECS Samples.
[_Turbo Makes Games_](https://www.youtube.com/watch?v=QCKXoXW6XFA)

[**Fracture/Shatter Objects in 1 minute**](https://www.youtube.com/watch?v=c_r5dI31weI)  - Any 3D engine with collisions, parenting and physics should be almost exactly the same to do what I have done here.
[_Chadderbox_](https://www.youtube.com/watch?v=c_r5dI31weI)

[**Introduction to Profiling - Unite Now**](https://www.youtube.com/watch?v=uXRURWwabF4&amp;feature=emb_title)  - Profiling is one of the best ways to optimize your game. In this session, learn how to use Unity’s highly effective profiling tools and how to interpret the data they produce.
[_Unity_](https://www.youtube.com/watch?v=uXRURWwabF4&amp;feature=emb_title)

[**Take Your First Steps in XR - Unite Now**](https://www.youtube.com/watch?v=AAZsolP5xac)  - Ready to get started in the world of XR? Sit in with members of the Unity Education team as they walk you through the wide-ranging capabilities of the new XR Interaction Toolkit and the new VR Creator Kit.
[_Unity_](https://www.youtube.com/watch?v=AAZsolP5xac)

## Assets

[![The Heretic: Digital Human (FREE)](https://gamedevdigest.com/assets/images/fac17955-6d26-4fb8-b757-4d7fafe09e0b.jpg)](https://assetstore.unity.com/packages/essentials/tutorial-projects/the-heretic-digital-human-168620?aid=%201011l8NVc)
[**The Heretic: Digital Human (FREE)**](https://assetstore.unity.com/packages/essentials/tutorial-projects/the-heretic-digital-human-168620?aid=%201011l8NVc)  - While working on the realistic digital human in The Heretic, the Demo Team needed to set up a complete data pipeline, from the acquisition of 3D and 4D data through processing and into setup in Unity. We developed some technologies to enable this. You’re free to use these tools in your productions and build on top of them as you see fit.

Here’s what’s in the box: Facial animation systems
• Tools for 4D clip import and processing. When we say 4D, we mean a sequence of meshes captured over time.
• 4D clip rendering with timeline integration.
• 4D frame fitting, allowing detail injection from facial rig.
• Integration of facial rig from Snappers.
• Pose facial rig directly in Unity Skin attachment system
• Drive meshes and transforms in relation to dynamically deforming skin.
• Used to drive eyebrows, eyelashes, stubble and logical markers.
• Accelerated by C# Job System and Burst Compiler. Shaders and rendering
• Full shader graphs for skin/eyes/teeth/hair as seen in The Heretic.
• Custom pass for cross-material normal buffer blur (tearline).
• Custom marker-driven occlusion for eyes and teeth.
[_Unity_](https://assetstore.unity.com/packages/essentials/tutorial-projects/the-heretic-digital-human-168620?aid=%201011l8NVc) **Affiliate**

[**HUMBLE LEARNING GAME CODING AND DEVELOPMENT BUNDLE**](https://www.humblebundle.com/software/learning-game-coding-and-development?partner=unity3dreport)  - Master in-demand skills that can help you to land your dream job, start your own business, or just have fun with an awesome new hobby! Get on-demand, project-based courses featuring video lessons, PDF notes, full source code, and offline access. Learn anywhere, anytime, and on any device!

$1,250 WORTH OF AWESOME STUFF
PAY $1 OR MORE
[_Humble Bundle_](https://www.humblebundle.com/software/learning-game-coding-and-development?partner=unity3dreport) **Affiliate**

[**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)

[**Humble BIG MUSIC Bundle For Games, Films, And Content Creators**](https://www.humblebundle.com/software/big-music-bundle-for-games-films-and-content-creators-software?partner=unity3dreport)  - Add the perfect ambiance to video games, movies, and more with over 8GB of music in different styles and genres! Put the finishing touches on your creations with over 300 different music works in the Big Action Music Bundle 1 & 2, Fantasy Adventure Game Music Pack, Epic Battle Trailers Music Pack, Big Casual & Arcade Game Music Bundle, and more.
[_Humble Bundle_](https://www.humblebundle.com/software/big-music-bundle-for-games-films-and-content-creators-software?partner=unity3dreport) **Affiliate**

[**Bones³**](https://github.com/Wraithaven-UnityTools/Bones3)  - Bones³ (pronounced "Bones Cubed") is an advanced voxel block editor designed for the Unity engine. The framework is designed to allow users to create voxel structures and worlds both in-editor and in-game, as well as exposing a flexible API for writing custom world manipulation scripts.
[_Wraithaven Unity Tools_](https://github.com/Wraithaven-UnityTools/Bones3) *Open Source*

[**Bonsai Behaviour Tree & Autonomous Agents**](https://github.com/luis-l/UnityAssets)  - Bonsai Behaviour Tree is an advanced behavior tree solution with a graphical editor. Autonomous Agents is a collection of steering behaviors including "Evade", "Obstacle Avoidance", "Flocking" and many more.
[_Luis Lpz_](https://github.com/luis-l/UnityAssets) *Open Source*

[**Dynamic Walls - demo implementation**](https://github.com/keypax/dynamic-walls-demo/)  - This demo project showcases dynamic walls whose sides adapt to the environment used in our upcoming game: Pelagos: Rise of Greece. It contains a working example scene and commented source code. The idea behind it is very simple. Wall has 4 separate sides (front, right, back, left). If another wall is in front, disable the front side. The same for the second wall. If something is on the back of the wall: disable the back wall. Randomize a little for the prettier look and that's all ;)
[_keypax_](https://github.com/keypax/dynamic-walls-demo/) *Open Source*

[**The Vegetation Engine**](https://assetstore.unity.com/packages/tools/utilities/the-vegetation-engine-159647?aid=%201011l8NVc)  - The Vegetation Engine is a set of highly optimized vegetation shaders and tools designed to unify any vegetation asset from the Unity Asset Store, SpeedTree, Quixel Megascans, etc. or custom vegetation authored by your team.

With one-click setup and conversion for prefabs, and with a comprehensive set of decal-like Elements, you will be able to easily add high-quality wind motion, dynamic-wind power, vegetation interaction with unlimited objects or characters, dynamic seasons, global overlay(snow, sand, dust), global wetness, tinting, HDR tinting for fake Lights or GI, size, distance-based size fade or leaves amount, with minimal performance impact!
[_BOXOPHOBIC_](https://assetstore.unity.com/packages/tools/utilities/the-vegetation-engine-159647?aid=%201011l8NVc) **Affiliate**

[**ZLogger**](https://github.com/Cysharp/ZLogger/)  - Zero Allocation Text/Strcutured Logger for .NET Core and Unity, built on top of a Microsoft.Extensions.Logging. _[read the release [article](https://medium.com/@neuecc/zlogger-zero-allocation-logger-for-net-core-and-unity-d51e675fca76).]_
[_Cysharp, Inc._](https://github.com/Cysharp/ZLogger/) *Open Source*

[**Zero Allocation Strings**](https://github.com/friuns2/ZeroAllocationStrings)  - By adding NonAllocString.instance prefix, string will be cached, so it will be allocated only 1 time.
[_Igor Levochkin_](https://github.com/friuns2/ZeroAllocationStrings) *Open Source*

[**Announcing ML-Agents Unity Package v1.0!**](https://blogs.unity3d.com/2020/05/12/announcing-ml-agents-unity-package-v1-0/)  - oday, after more than two and a half years of development and 15+ release updates, we are excited to announce that the ML-Agents Unity package has reached v1.0 and is available as a Preview package. We’re also launching a new product and resources page for ML-Agents.
[_Unity_](https://blogs.unity3d.com/2020/05/12/announcing-ml-agents-unity-package-v1-0/) *Open Source*

[**Sprite Auditor**](https://github.com/badawe/SpriteAuditor)  - Sprite Auditor is the tool you need when optimizing your binary size or draw calls, giving you visibility of what is happening in your game. You can see what atlases are reused between multiple scenes, and what sprites are in use from that atlas.
[_Bruno Andre Mikoski_](https://github.com/badawe/SpriteAuditor) *Open Source*

[**MeshCombineWizard**](https://github.com/sirgru/MeshCombineWizard)  - Running the wizard will combine all the meshes on the chosen gameObject and its children that share the same material.
[_Gru_](https://github.com/sirgru/MeshCombineWizard) *Open Source*

[**UnityGiphy**](https://github.com/coryleach/UnityGiphy)  - Library for using the GiphyAPI in Unity to get and play random Gifs as MP4s.
[_Cory Leach_](https://github.com/coryleach/UnityGiphy) *Open Source*

[**Unity-Speedometer**](https://github.com/TheDeveloper10/Unity-Speedometer)  - A simple speedometer made with Unity.
[_The Developer_](https://github.com/TheDeveloper10/Unity-Speedometer) *Open Source*

## Spotlight

[![Yuppy](https://gamedevdigest.com/assets/images/28fc8105ee0e5828d65fb6f0b1e83d39.png)](https://medium.com/@mbellinaso/game-development-from-zero-to-app-store-to-paying-users-as-a-side-project-4b534fc81359)
[**Yuppy**](https://medium.com/@mbellinaso/game-development-from-zero-to-app-store-to-paying-users-as-a-side-project-4b534fc81359)  - Game dev: From zero to App Store, as a side project. How and why.

Developing a game is a challenge on its own, and more so if you do it as a side project while working a full-time job. And maybe have a family. This is my story for Yuppy, a collection of mini educational games for iOS and Android. Why I made it, the struggles I faced, and how I eventually managed to finish and actually sell it.
[_Marco Bellinaso_](https://medium.com/@mbellinaso/game-development-from-zero-to-app-store-to-paying-users-as-a-side-project-4b534fc81359)



---

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.