Below is an LSL script you can drop into a prim.
When you touch the prim, it will loop through all faces and report the texture UUID applied to each face, effectively telling you which material (texture) is on which face.
// Material Faces Detector Script
// Reports the texture UUID on each face of the prim when touched
default
{
touch_start(integer total_number)
{
integer num_faces = llGetNumberOfSides();
integer i;
for (i = 0; i < num_faces; ++i)
{
string texture = llGetTexture(i);
vector scale = llGetTextureScale(i);
vector offset = llGetTextureOffset(i);
float rotation = llGetTextureRot(i);
llOwnerSay(
"Face #" + (string)i + ":\n"
+ " Texture UUID: " + texture + "\n"
+ " Scale: " + (string)scale + "\n"
+ " Offset: " + (string)offset + "\n"
+ " Rotation: " + (string)rotation
);
}
}
}
Create a prim inworld.
Edit it and drop this script into the contents.
Touch the prim.
The script will say to you (owner) a list of faces with:
Texture UUID
Scale
Offset
Rotation
This helps you:
Identify which textures are applied on each face.
Confirm if different faces have different materials.
Note
LSL doesn’t give PBR materials (metalness, roughness maps) via script yet—only the diffuse texture.
If you’re working in OpenSim with PBR materials, you’d need to use viewers or database inspection to get more detail.
like(1)