In 1.0.0-preview.8 we have introduced support for sprite assets, which means that you can assign sprites to VisualElement’s background property as well as the source of Image elements. One of the main advantages of using sprites instead of plain textures is to benefit from the Sprite Atlas workflow. This can greatly reduce draw call batch breaking when different textures as used within the UI. We have attached a sample which demonstrates this in more detail. It illustrates that you can keep a low draw call count while continuing to address images normally in C# and USS. How to use Sprites When a texture is imported in “Sprite (2D and UI)” mode, a sprite asset will be generated. This sprite can be used by UI Toolkit in two ways. Option 1: Using USS styles When referring to a texture asset in a USS file, if that texture contains a sprite asset, it will be used instead of the Texture2D imported asset. background-image: url("/Assets/Tools.png"); If the texture is imported in multiple sprite mode, the above syntax will import the first sprite asset. To refer to a specific sprite asset, you can use the “anchor” syntax: background-image: url("/Assets/Tools.png#Sword"); The above syntax will load the “Sword” sprite asset from the “Tools.png” file. Using sprites that are included in a SpriteAtlas can be used and will work transparently in UI Toolkit. Note: using url() to import Sprite assets is only available in 2020.2 due to limitations of our package in 2020.1. As a workaround, you can use the resource() function to target Sprite assets (though there is no equivalent "anchor" syntax). See the "Assets" section of this page for more information about these two approaches. Option 2: Setting the sprite in code The background style now has constructor that takes sprite object: visualElement.style.backgroundImage = new StyleBackground(sprite); Also, the Image class now has a sprite property: image.sprite = sprite; Supported Sprite Features Sprite borders (aka 9-slices) are supported by UI Toolkit. When using borders, resizing a VisualElement size will adjust the borders exactly like the 2D runtime sprite system. Since UI Toolkit also provides a slice style, it is possible to have conflicting values between the sprite borders and the UI Toolkit slices. A warning is issued in that situation and the values of Sprite will take precedence. More features may be supported in the future, such as sprite pivots or better support for sprite sheet based animations. Example project In order to get the actual draw call count lowered as shown the screen shot, ensure that the value of Project Settings > Editor > Sprite Packer is set to Sprite Atlas V1 - Always Enabled. This project uses assets from Ravenmore's Icon Pack 2.0 created by Krzysztof Dycha. --- We're excited to hear about your feedback on this feature and would like to know if it fits your needs. Note that a future version of the UI builder will add support for Sprites in the authoring environment.