CanvasGroup
A Canvas placable element that can be used to modify children Alpha, Raycasting, Enabled state.
Read time 7 minutesLast updated 2 days ago
Definition
- Type: Class
- Namespace: UnityEngine
- Assembly: UnityEngine.UIModule
- Inherits from: Behaviour
- Implements: ICanvasRaycastFilter
public sealed class CanvasGroup : Behaviour, ICanvasRaycastFilter
Remarks
A canvas group can be used to modify the state of children elements.
An example of this would be a window which fades in over time, by modifying the alpha value of the group the children elements will be affected. The result alpha will be the multiplied result of any nested groups, multiplied with the canvas elements alpha.
You can configure Canvas Groups to not block raycasts. When you configure a Canvas Group to not block raycasts, graphic raycasting ignores anything in the group.
Let's say you have a Canvas GameObject with a CanvasGroup component on it, and you set the CanvasGroup component's alpha to 0. In that case, the Canvas does not render any of its child GameObjects. Now suppose that the Canvas also has a child CanvasGroup GameObject that you do want to render. If you enable IgnoreParentGroups for the CanvasGroup GameObject, the parent Canvas does not render any of its child GameObjects, including the CanvasGroup you want to render. To get the child CanvasGroup GameObject, do one of two things: In the parent Canvas, set the CanvasGroup component's alpha to a small, non-zero value. Add a Canvas component to the child CanvasGroup GameObject that you want to render.
Properties
Property | Description |
|---|---|
| alpha | Set the alpha of the group. |
| blocksRaycasts | Does this group block raycasting (allow collision). |
| ignoreParentGroups | Should the group ignore parent groups? |
| interactable | Is the group interactable (are the elements beneath the group enabled). |
Methods
Method | Description |
|---|---|
| IsRaycastLocationValid | Returns true if the Group allows raycasts. |
Inheritance
Operators
Operator | Description |
|---|---|
| operator == | Compares two object references to see if they refer to the same object. |
| bool | Determines whether the object exists. |
| operator != | Compares if two objects refer to a different object. |