How to know my sprites resolution on final screen

I’m pretty of a beginner in Unity. There were two questions about the resolution that confused me for a while.
For example, I’m building a 2D game scene(pixel arts and final resolution 4:3), so:
-I create a canvas (1280x960) and connect it to the camera.
-While designing, I use some simply filled sprites as placeholders.
Here’s a question with two parts:

  1. I put the sprites outside the canvas. For example, Pos: 1, 2, 0; scale: 2, 3, 1. So I need to create a 2:3 detailed custom sprite to replace it later but what exact resolution should I use?

  2. If I put the sprites inside the canvas. I don’t know if it’s recommended to do, but when I try to move the object through the script. The XYZ value doesn’t count as the inspector shows.

  • For example, the object in canvas is pos: 50, 200, 0; scale 480, 480, 0, but when I move in script by:
    “transform.position.x += 20 * Time.delta”
    It moves way faster than I thought. And it seems like its still using the axis value outside the canvas. Which makes me more confuse and don’t know how to calculate specific value.

The Canvas is for UI and isn’t a 2D feature. It’s also not a construct to control SpriteRenderers. The UI has its own UI controls to display stuff.

it will all depend on your pixels per unit

if you make your sprites 1 pixel per unit

then x +=1 moved 1 pixel

but 1 pixel relative to what? only relative to the pixels of your sprite

also if you multiply by time.deltatime it will give you a different value everytime, you shouldnt expect to use this for exact calculations