2021 LTS

Introducing the new Adobe Substance 3D plug-in for Unity

Whether you want to create an immersive world, establish your portfolio, or bring fresh ideas to life, optimized material workflows can help you accomplish your goals quickly. That’s why we’ve teamed up with Adobe to present the new Adobe Substance 3D plug-in on the Unity Asset Store. With the Adobe Substance 3D plug-in, artists can save time typically spent switching between tools. This works by leveraging exposed parameters on a Substance material (.SBSAR file) right in Unity, to achieve a wide variety of looks for stronger overall visuals. Substance parameters enable real-time texture updates in-Editor and at runtime. Such parametric materials can be created either through Substance 3D Designer, which supports both Unity Standard and Standard (specular) shaders, or online via Substance 3D Assets and Community Assets libraries.

Read More

Updated for 2021 LTS: The definitive guide to lighting in the High Definition Render Pipeline

The definitive guide to lighting in the High Definition Render Pipeline (HDRP) is now updated with tips for taking on the latest capabilities in Unity 2021 LTS. Learn how to create high-end lighting with production-ready HDRP features – from Light Anchors to Lens Flares, and beyond. This e-book was initially created and published late last year to demonstrate the power of physically based lighting in HDRP for generating high-end lighting effects across PC and console games. We’ve received positive feedback from our users, and have since updated the guide to include key features in Unity 2021 LTS. This way, it can remain a foundational, advanced-level resource for technical artists, lighting artists, and developers working in Unity.

Read More

Profiling in Unity 2021 LTS: What, when, and how

Profiling is like detective work, unraveling the mysteries of why performance in your application is lagging, or why code is allocating excess memory. Profiling tools ultimately help you understand what’s going on “under the hood” of your Unity project. But don’t wait for significant performance problems to start showing before digging into your detective toolbox. The best gains from profiling are made when you plan early on in your project’s development lifecycle, rather than just before you are about to ship your game. It’s an ongoing, proactive, and iterative process. By profiling early and often, you and your team can understand and establish a “performance signature” for the project. If performance takes a nosedive, for instance, you’ll be able to easily spot when things go wrong, and quickly remedy the issue. You can also make before-and-after performance comparisons in smaller chunks by using a simple three-point procedure: First, establish a baseline by profiling before you make major changes. Next, profile during the development to track performance and budgeting, and finally, profile after the changes have been implemented to verify whether they had the desired effect. You should aim to profile a development build of your game, rather than profiling it from within the Unity Editor. There are two reasons for this: The data on performance and memory usage from standalone development builds is much more accurate compared to results from profiling a game in-Editor. This is due to the Profiler window recording data from the Editor itself, which can skew the results. Some performance problems will only appear when the game is running on its target hardware or operating systems, which you’ll miss if you profile exclusively in-Editor.

Read More

Profilare în Unity 2021 LTS: ce, când și cum

Profilarea este ca munca de detectiv, dezvăluind misterele de ce performanța în aplicația dvs. întârzie sau de ce codul alocă excesul de memorie. Instrumentele de profilare vă ajută în cele din urmă să înțelegeți ce se întâmplă „sub capota” proiectului dumneavoastră Unity. Dar nu așteptați ca problemele semnificative de performanță să înceapă să apară înainte de a explora cutia dvs. de instrumente de detectiv. Cele mai bune câștiguri din profilare sunt obținute atunci când planificați la începutul ciclului de viață al dezvoltării proiectului, mai degrabă decât chiar înainte de a vă livra jocul. Este un proces continuu, proactiv și iterativ. Prin profilarea din timp și des, tu și echipa ta poți înțelege și stabili o „semnătură de performanță” pentru proiect. Dacă performanța scade, de exemplu, veți putea observa cu ușurință când lucrurile merg prost și veți remedia rapid problema. De asemenea, puteți face comparații de performanță înainte și după, în bucăți mai mici, utilizând o procedură simplă în trei puncte: În primul rând, stabiliți o linie de bază prin profilare înainte de a face modificări majore. Apoi, profilați în timpul dezvoltării pentru a urmări performanța și bugetarea și, în sfârșit, profilați după ce modificările au fost implementate pentru a verifica dacă au avut efectul dorit. Ar trebui să urmăriți să profilați o versiune de dezvoltare a jocului dvs., mai degrabă decât să o profilați din Editorul Unity. Există două motive pentru aceasta: Datele privind performanța și utilizarea memoriei din versiunile de dezvoltare de sine stătătoare sunt mult mai precise în comparație cu rezultatele din crearea profilului unui joc în Editor. Acest lucru se datorează faptului că fereastra Profiler înregistrează datele din Editor însuși, care poate modifica rezultatele. Unele probleme de performanță vor apărea numai atunci când jocul rulează pe hardware-ul sau sistemele de operare țintă, pe care le veți rata dacă vă profilați exclusiv în Editor.

Read More

Our biggest e-book yet: 2D game art, animation, and lighting for artists

Unity’s suite of 2D tools provides creators with endless possibilities. This guide unpacks key decisions to tackle at the start of your project, as well as best practices for leveraging Unity’s 2D toolset. It’s specifically tailored to developers and artists with intermediate Unity experience who want to make high-end 2D games, independently or collaboratively with a team. The e-book was written by Jarek Majewski, a professional 2D artist, Unity developer, and creative director of our 2D demo, Dragon Crashers, together with input from several Unity 2D experts, such as Rus Scammell and Andy Touch.

Read More

UI Toolkit at runtime: Get the breakdown

Let’s clarify how UI Toolkit can ensure smoother workflows while creating UI.  Creating UI in collaboration with artists can be a complex task. While the artist is editing the Canvas to add colors and material, the developer adds scripts, behaviors, and OnClick listeners. Afterward, when merging occurs, merge conflicts can arise and lead to issues that require swift resolution. UI Toolkit prevents such merge conflicts by having the artist work on the UXML and USS files while C# handles all of the logic. For example, button handling is done with C# only, which queries the button using its name, and adds logic without editing any UXML or USS files. Not only does this process ease merging, it simplifies future style changes. For instance, if all project fonts suddenly had to be changed, you wouldn’t need to go through each asset, one by one, to edit the text settings. This avoids tedious work that can lead to oversight issues – and the bigger the game, the more complicated this becomes. With UI Toolkit, Panel Settings hold all of the text settings. So to change the fonts under a UI Document, you only need to edit those Panel Settings. Although Editor scripts can similarly assist with UGUI, UI Toolkit’s framework automatically handles this process. A Visual Element is the base class of every UI Toolkit element: buttons, images, text, etc. You can think of it as the GameObject of UI Toolkit. Meanwhile, UI Builder (Window > UI Toolkit > UI Builder) is a visual tool that helps create and edit interfaces without writing code. This is useful for artists and designers alike, as it allows them to visualize the UI as it’s being built. As the premiere tool for people already familiar with web technologies, UI Toolkit also improves collaboration between artists and developers by separating logic and style to refine organization and avoid file conflicts. While UI Builder takes care of the elements’ positions, style, and design, code can be handled in a distinct section of the project to query the parts of UXML that it needs, and connect logic to it.

Read More

Customize your memory use with Unity 2021 LTS

In summer 2020, Unity provided support for Moon Studios when they were working to port Ori and the Will of the Wisp to Nintendo Switch. You can learn more about how we worked together to scale the project for this target platform in this case study. Moon Studios and Unity Accelerate Solutions (formerly Unity Professional Services) analyzed sections of code together, finding ways to tweak the particle systems and reduce memory usage. “When you’re targeting 60 fps on Nintendo Switch, you have to make sure every single aspect is optimized, including simulation, streaming, rendering, and graphics,” says studio founder Gennadiy Korol. Ori and the Will of the Wisps pushes the Nintendo Switch very hard in terms of memory use. The Accelerate Solutions team helped Moon make sure they were getting the best from these layers, focusing on native memory allocation.  Working with the team from Moon Studios, the Unity team measured the number of allocations from the different allocators. They also looked at the amount of memory allocated from each, which showed that the game was filling up some of the bucket allocators before even reaching the start of gameplay.   Increasing the size of the bucket allocator allowed extra room for small allocations that happen when playing the game. Allocating these small blocks from the bucket allocator gives the game a performance boost, helping it to hit the 60 fps target. The small allocations no longer come from the dynamic heap allocator, so this allocator contains just large blocks of memory. The allocator is less fragmented, which keeps the game running smoothly for longer.   Following the collaboration with Moon, the Accelerate Solutions team worked with the Optimization team, who developed the memory allocator customization feature that is now available in 2021 LTS.

Read More

Introducing Unity 2021 LTS

Next, we wanted to give you the ability to iterate faster and produce higher-quality experiences for your players. We’ve upgraded workflows across the board, provided better Editor usability, and enhanced our testing tools.  Minimize time from design to hands-on creation by leveraging Feature Sets, which gather all the packages you need to start a project in a one-click bundle. Find what you’re looking for faster with improved search capability, and experience an added zippiness in common operations you use regularly. Make sure your code is clean, performant, and high-quality with a new Mono upgrade, improved C# 8 support, and incremental builds that compile your project as you create it. A comprehensive Memory Profiler allows you to profile with multiple Players simultaneously.  Follow up that quality coding experience with tools that facilitate an equally high-quality output. In Unity 2021 LTS, you’ll find a mobile Device Simulator to check for compatibility on multiple devices. Use the production-ready Code Coverage package with the Test Runner to export code coverage data and reports from your automated tests. Additionally, the Code Coverage package offers a Coverage Recording feature that allows you to capture coverage data on demand for manual testing or when there are no automated tests in the project.

Read More