In this post you will learn how to deform a mesh in Unity using a real-world example. We will apply different techniques and measure performance of each approach using performance testing to find the fastest one. As a sample, we will look
I wanted to enhance the look of my boids BatchRendererGroup (BRG) sample with more suitable meshes instead of cubes. For that I decided to use a custom shader with some simple procedural vertex animation. For me, who hasn’t worked with URP or HDRP in production, this turned out to be quite a journey. So I am sharing the solution so you don’t have to spend your time.
The goal of this post is to look at the new BatchRendererGroup API (BRG) and implement the minimal BRG example, so it is easier to understand how to work with it. Then gradually add more complex functionality. In the end we would have boids simulation rendered using BRG
This tutorial is the step-by-step guide on how to add interactivity to the grass shader. You will learn how to write a geometry shader to generate blades of grass and make it interact with objects moving through it.
Compilation of best Unity tips by Unity engineers gathered at Unite conference. I spent a bunch of time rewatching those talks so you don’t need to.
Make the code testable, as well as introduce an important principle that improves your architecture by making it cleaner and more flexible
While passing technical interviews the topic of using ScriptableObjects was raised a lot of times, but not all studios use them or even know about its advantages. In this post I would like to share reasons why I use it myself and would be happy to discuss additional pros and cons in the comments.
TL;DR: Use ScriptableObject when you need to store and customize properties of your scripts.
Performance testing package is great, but when I followed their docs I couldn’t get it running, so here are the steps how to actually setup it
We were taught about data structures that a Dictionary has O(1) lookup and the linear search in an unsorted array is O(n). So based on this we can assume that when we need frequent access by a key we should use a Dictionary, right?
Well, not quite always.