how can i seed random material values by object?

i considered passing in random values manually but wouldn’t that mean i’d have to create a new material instance for each object? that seems inefficient.