Generally nothing above can be “converted” between each other. They are all distinct things.
To put an area of a Texture2D on a quad, generally you need to manipulate the UVs of the quad.
Otherwise, just use a Sprite and render it with a SpriteRenderer
Just to help you keep your terminology straight:
- a Texture2D is an image (think JPG or PNG)
- a Sprite is a set of coordinates (box or otherwise) outlining something interesting on a Texture2D
- SpriteRenderers render Sprites
- UI Image components render Sprites
- a “quad” (what Unity makes) is a Mesh that needs a MeshRenderer to be seen
- MeshRenderers render Meshes
- Meshes are vertices, triangles, normals, UVs.
- Meshes are not Textures
- Sprites are NOT Meshes
Beyond that:
- a Material is an instance of a Shader
- Materials have properties, such as:
—> parameters (colors, numbers, vectors)
—> objects such as Texture2Ds (Albedo, Normal, Emission, etc.)
And finally to complete the picture:
Unity’s component architecture