Unity Manual

Sprite Masks

Sprite Masks are used to either hide or reveal parts of a Sprite or group of SpritesA 2D graphic objects. If you are used to working in 3D, Sprites are essentially just standard textures but there are special techniques for combining and managing sprite textures for efficiency and convenience during development. More infoSee in Glossary. The Sprite Mask only affects objects using the Sprite RendererA component that lets you display images as Sprites for use in both 2D and 3D scenes. More infoSee in Glossary Component.

Creating a Sprite Mask

Creating a Sprite Mask from the menuA new Sprite Mask GameObject is created in the Scene

Properties

Property

Function

Sprite

The sprite to be used as a mask.

Alpha Cutoff

If the alpha contains a blend between transparent and opaque areas, you can manually determine the cutoff point for which areas will be shown. You change this cutoff by adjusting the Alpha Cutoff slider.

Range Start

The Range Start is the Sorting Layer which the mask starts masking from.

Sorting Layer

The Sorting Layer for the mask.

Order in Layer

The order within the Sorting Layer.

Range End

Mask All

By default the mask will affect all sorting layers behind it (lower sorting order).

Custom

The range end can be set to a custom Sorting Layer and Order in Layer.

Using Sprite Masks

The Sprite to be used as a mask needs to be assigned to the Sprite Mask Component

The Sprite Mask GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More infoSee in Glossary itself will not be visible in scene, only the resulting interactions with Sprites. To view Sprite Masks in the scene, select the Sprite Mask option in the SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More infoSee in Glossary Menu.

Scene view with Sprite Mask view turned on in the scene

Sprite Masks are always in effect. Sprites to be affected by a Sprite Mask need to have their Mask Interaction set in the Sprite Renderer.

The character sprites Mask Interaction is set to Visible Under Mask thus only parts of the sprite that are in the mask area are visible

By default a Sprite Mask will affect any sprite in the scene that has their Mask Interaction set to Visible or Not Visible Under Mask. Quite often we want the mask to only affect a particular sprite or a group of sprites.

The character sprites are interacting with masks on both the cards

One method of ensuring the mask is interacting with particular sprites is to use a Sorting Group Component.

Sorting Group Component added to the Parent GameObject ensures the mask will affect only children of that Sorting Group

An alternative method of controlling the effect of the mask is to use the Custom Range Settings of a Sprite Mask.

A Sprite Mask with a Custom Range setting ensures the mask will affect only Sprites in the specified Sorting Layer or Order in Layer range

The Range Start and Range End provides the ability to selectively mask sprites based on their Sorting Layer or Order in Layer.