Convert sliced sprites into materials for quads

I want to apply sprites onto quads and I learnt that you have to convert them to materials first before applying them to quads.
However, I get my sprites from a spritemap I sliced up. I intended to make a like a tilemap for a tactics game but with the terrain built by quads instead. I did not expect that quads couldn’t accept sprites as textures.
Do I have to instead make 1 sprite one at a time, and make a material for each one?

  1. Is there a way to apply sprites onto quads (Just drop it into the albedo map - oops)
  2. If no, is there an automated way to convert sprites into materials
  3. Can I convert a sliced sprite into multiple materials?

Thanks

Edit I am unable to have a sprite renderer and a mesh renderer at the same time. I assume I must

  1. Import sprites as textures instead
  2. Apply textures onto materials one at a time, or programatically
  3. Apply these materials onto the mesh renderer.

There is a sprite editor that nicely lets me e.g. split a jpg into 64 smaller sprites and they are cleanly displayed as a single spritemap object. If it were simply sprites on sprite renderers, it would be so simple… Is there any way for textures/materials to be this way too?

  1. I could: Have a ‘master’ material object and foldered within, many materials OR
  2. The same ‘master’ but for textures and then i programmatically assign them to my quads at runtime.

What should I do?

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

You can set the mesh type to Full Rect in the Texture Importer settings. This will generate a quad mesh and “place the Sprite” on top of it. Isn’t this what you want?

For clarification since Kurt’s and Ted’s replies sound contradicting regarding “meshes”:
The asset type Mesh in Unity refers to a 3D polygon net which can directly be used alongside a material in a meshfilter and meshrenderer to render it.
Sprites have a “mesh” in a more generalized sense. It’s also a polygon net but it technically is internal data of the sprite. That mesh cannot be used by a mesh renderer but only by a sprite renderer (which as its core does technically render that mesh very similarly).