Remember you can do transforms(Move, rotate, and scale) to get variations. In Blender, you can set materials to object level so that the objects can have different materials even though they are using the same mesh data. Object level materials is considered a bad habit for game development. I don’t know why. It seem the same as a texture ID array to me, but I’m very green on the programming side.