First, there was Immediate Mode GUI (IMGUI), where code was required for all UI development. For IMGUI, the UI was redrawn every frame. Then came uGUI, the current Unity UI system, which is a retained-mode system, where UI elements are created and stay in view until they're changed. While uGUI is fine for most runtime game requirements, an IMGUI approach is still needed for most design-time editor extensions. This is a retained-mode UI system, which can be used for both runtime and design-time UIs. The UI Toolkit has an XML file to describe the elements in the UI, and style-sheet files to specify how they will look and be laid out. If you are used to HTML and CSS, then you'll find UXML and USS very familiar. There is even a C# query system based on hierarchy matching that's similar to jQuery and LINQ (https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/).
In this recipe, you&apos...