whats better: Animating with sprite Renderer vs images on canvas

Hello, I’m working on an app for tablets, which will consist almost entirely from 2D UI (just pressing buttons and some simple animations).

And i’m wondering what should i use to show my animations.
let’s say i have a 2D character that changes his facial expressions.

Should I use a UI image, and animate by changing it’s source image
or should I use the camera with a sprite renderer that has the animation

Are there any drawbacks to using only the UI?

If you animate an UI image by changing it’s source, you are basically doing the same as regular sprite animation. So the UI components are another layer on top of that, which help with positioning, dynamic layouts etc. The only questions is: Do you need those layout features? The benefits are that you can easily achieve an aspect ratio independent design. Performance won’t be a big issue with simple 2D. I don’t see any drawbacks with using the UI, but of course you should think all of your features through.

I think it’s better to just create a GameObject in Unity Editor that holds the 2D image/sprites you want to animate. That way it will give you more customization options since a gameObject may contain different components in your disposal.