Same component with different texture position?

I have a staircase where each step is a component. I have a marble texture applied to the steps, and the problem is it does not look realistic when the marble texture is exactly the same on every step.

Is there a way position the texture differently on each step?

I can achieve this result by making each step a unique component, or creating a different texture for each step, but I wonder if there is a better way to achieve this.

If the steps are instances of the same component, the texture you apply to the faces inside will by definition, be the same. You might get away with applying the texture to the component containers however you won’t have any real control over the position of the texture.

OK. I was hoping that there could be some trick (or extension) to get this done.

Easiest thing is probably to use Make Unique so each component has a different definition.

A slightly simpler variant of that is one I’ve used in similar circumstances. If the steps are symmetrical in any way, try inverting, or mirroring some front to back or side to side, that have the same textures. That way, you don’t have to make so many unique ones, but they can look different by exposing different faces, or mirrored textures.

I suggest that you create a component of the steps and “saveas” them to your project folder, then depending on their solid status, outer-shell, union or explode the component contents, so material is spread across all. If later you wish to alter the geometry, reinstate with a component swap.