Lack of better wording so im creating like a red clay roof that i made by creating a root object to apply to a particle system. Now i applied a texture image to the root object which in turn applied to the rest of the shingles. The issue i dont know how to get passed is how can i work it so i can create randomness within the texture so that every shingle doesnt look exactly the same?
In general for image texture randomness you need to offset texture in X, Y axis for each object. For that you will need also seamless texture to prevent edge texture appearance.
One way to randomise location can be done with Object Info node > Random plugged into Mapping node > Location
similar way you can be randomise a color of tiles
... you can randomise rotation as well, but directly connected Random to Rot cause "shearing", because texture would be rotated in all axis. To prevent this result use Separate XYZ node and Combine XYZ and connect only Z axis. To rotate more or less you can add between Math node and increase or decrease value.)