Help Understanding UI elements (sprites and images)

I have playing and learning Unity for a few months now, and while I have gone through a fair amount of tutorials and had help from friends I still feel I am missing common knowledge on some things.

My issue(s) - I am recreated a board game and was done all in C# code but now using Unity and the animation system as much as possible.

all the game items I was able to import into unity from the sprite sheets, however I have come to a point where I need some parts of the game to fade in and out depending on what is going on. The thought(and idea) was given by a good friend that has work intensively with unity and animations to add the objects/elements that need to fade in and out to a canvas group and then control the group by a layer in the animator.

However when I add the objects to the canvas as children - they will not fade in/out. Only when I add the objects as images and not sprites.

so…
Questions
1 - What is the difference between using a sprite render or a canvas image?
2 - The game itself has very minimum interaction and basically it is just a UI with animations depending on a few varibles. So is there any reason not to make it all UI? NO physics are used.

thanks all

Nice and easy questions then :smile:

1: There is no specific difference between the Sprite Render and the Canvas Renderer as the Canvas Renderer is based on the Sprite Render. They both predominately use sprites (as opposed to textures)
Here’s a simple explanation of the difference 2d - What is the difference between Unity's Sprite and Texture2D classes? - Game Development Stack Exchange
The main difference, is that the Sprite Render is for the 2D system which includes physics and a host of other interactions. Where UI components are only for UI and interaction.

2: You can use the UI system to build a full game if you wish, but it does have limitations (that the 2D system doesn’t, such as physics), there are also a few drawing limitations since it is so focused on UI.

It’s all down to personal preference and there isn’t much between the two. My recommendation would be to build the game in the 2D system and just to UI and interactive bits in the UI system, but the choice however is up to you.

Happy travels with your game.