# Canvas Transitions

*UICanvasController* can have component that implements ***ICanvasTransition*** interface and will handle transitions on canvas enable or disable.

{% hint style="success" %}
Already <mark style="color:green;">**implemented**</mark> the following transition components:

* Canvas Alpha Transition (CanvasGroupAplhaTransition.cs)
* Canvas Move Transition (CanvasMovableTransition.cs)
  {% endhint %}

## How to use?

Simply add implemented component near UICanvasController (or it's inheritance) in the inspector.\
It should looks like this:

<figure><img src="https://1613353771-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fygjewtla1W7kzTTIpGWq%2Fuploads%2Fs6Hp2kvrGCgWp3poMxwG%2Fimage.png?alt=media&#x26;token=d2d73c46-b61e-438c-b79f-72b72d90370c" alt=""><figcaption><p>Added UICanvasController Transition example</p></figcaption></figure>

That's all. Transition is called automaticaly on EnableCanvas() function of UICanvasController.

## Custom Transitions

If you need custom transitions -> feel free to implement *<mark style="color:green;">**ICanvasTransition**</mark>* interface and add final implementation as described above.

{% hint style="info" %}
You can reference to CanvasGroupAplhaTransition.cs and CanvasMovableTransition.cs implementations before writing your own.
{% endhint %}
