In this series extension, we deep dive into performance testing for Unity ECS. With Unity’s multiple approaches to do the same thing, testing has been crucial in optimizing my game. Many developers, like me, held off using Unity.Entities until the 1.0 launch because the API kept changing. Performance testing allows us to compare different techniques quickly. Talking about parallelization, it’s hard to tell if your code is running better on the main thread or otherwise, unless you test it. Through testing, we can decipher minute performance differences. I also use tests to track performance after optimization attempts and minor code updates. I’ve further explained the test setup and provided code examples for clarity.
Incorporating automated testing in game development helps ensure core logic functions correctly despite data modifications from other systems. This post explores unit testing within ECS games, particularly in Unity.Entities. I will share how I write unit tests for key systems and demonstrate how to easily set up testing for games built with Unity ECS, using my game as an example.
More and more Unity projects use Task-based Asynchronous Pattern (TAP) and async/await to work with asynchronous methods. But should you be worried about the extensive code generation when using async/await in Unity? Let’s find out.
In this post we continue to look at how to deform a mesh in Unity using a real-world example. We will learn MeshData API and optimize the algorithm
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