How did you create the sprites? What texture did you pass it? Did you create new textures for each sprite?
You can easily test if each Tile is referencing the same Sprite by just checking if the sprite of one Tile is the same sprite as another. I’m willing to bet that yes it is because a Tile doesn’t rely on the Sprite’s transform to render itself… it renders its referenced Sprite at the location of the Tile.
Thing is… there’s ways to save space with Sprites as well by sharing its assets.
You should be using TileMaps and its Tiles for what it’s designed for. And Sprites for what its designed for.
Tiles/TileMaps are useful for… well… tiling repeated images on the screen to build a much more complex scene.
Sprites for active images that move around the tile’d scene.
These concepts have been around since early game dev like the NES and the sort. See back then to save on memory and processing power so they can build lower powered machines. They didn’t render games as a large frame buffer… instead they had special processors called “PPU” (pixel processing units). Usually how it worked is that you got a tile region a bit larger than the window of the screen, this region was some WxL tiles in dimension, and a tile was a given size (like 8x8 pixels). Then in a special part of VRAM you would define a palette of tiles (like a TileMap) available. Then instead of defining each pixel on screen individually… you defined which tile from the TileMap went in each position of the tile grid on screen, as well as the position of the window (and you could move that window around to get a scrolling effect).
Then you also had sprites which were rendered separate from the tiles. They could be moved individually regardless of the background tiles (and some consoles had multiple background layers for multiple independently scrolling background tiles). Since they’re positioned independent of the background tiles, they’re used for dynamic things like the player, enemies and bullets and the sort. There was usually a maximum number of sprites allowed on screen, as well as often a maximum per scan line (games often got around this by flickering the sprites, this is why NES games often had flickering sprites in their game to put more enemies on screen).
Here is a video from ‘Modern Vintage Gamer’ explaining how the graphics of the Gameboy worked that can visually show you the difference between background tiles and sprites:
…
In Unity, it’s not exactly the same… especially since we no longer have the hardware limitations of back then.
BUT, the concepts are similar, and the names are chosen since they convey similar concepts.
We don’t have TileMaps as background tiles because that’s what the hardware has limited us to. Instead we use TileMaps because the concept of tile based art which grew around background tile maps is a common technique used by graphic artists in the industry… and it’s common because we used to use them due to hardware limitations. (analogy - it’s the same reason we use 24fps for film, despite the fact that we could use any… it’s just that way of doing it is historically common)
And Tiles are intended to be pulled from TileMaps to better facilitate you in the art department since many scenes are really just repeating elements of the same tile set. They’re not really there to save you memory (though that is a tangential benefit of them… though you can save that same memory in other ways), but also to save you time arting up a level by allowing you to paint a scene as a series of tiles rather than pixel by pixel.
TLDR;
Use TileMaps for tiled images.
Use Sprites for independent moving images.