Timesteps and Achieving Smooth Motion in Unity

One of the most intensely debated topics in the Unity community is how to go about removing jerky movement from games, and rightfully so. The issue is universal to all engines, and is directly derived from what timesteps your engine uses. There is no single solution that works for every situation, but there are certainly sub-optimal practices. Many developers have encountered the issue of motion stutter at one point or another, but getting help can prove difficult. There is a surprising amount of misinformation out there regarding timesteps in Unity. Many answers on the Unity forums, while correct, aren’t comprehensive and leave gaps in understanding needed to fully resolve the issue. This article aims to tackle the issue in more depth by explaining timesteps in Unity, where and why they can lead to stutter, and presenting a solution that helps resolve the issue. An asset package is provided, along with a demonstration of the solution.

Gamma and Linear Space - What They Are and How They Differ

Gamma and Linear Space - What They Are and How They Differ

Linear space lighting is a term that game developers are becoming ever more used to hearing as games reach for the next level of realism with physically based rendering models (PBR). Though linear space and its counterpart, gamma space, are fairly simple and important concepts to understand, many developers don't learn what these terms really mean. This document will define gamma and linear space, how they differ, and how it applies to the Unity engine.

Using the Command Line Toolset to Run Unity Tests

Having a programmatic way of integrating testing tools with Unity can benefit teams greatly by offloading repetitive tasks like build releases or running unit tests on an automated system. Luckily Unity has an often overlooked feature: its command line toolset. This is available on all supported Unity editor platforms, including the Unity Linux beta. By using the command line toolset, teams can automate events like builds and unit testing.