The PBR texture UUIDs are returned in clear by the llGetPrimitiveParams function even when you HAVE NO RIGHT on these textures.
To reproduce the issue:
  • Apply a PBR material on a prim
  • Set the different PBR textures with your own textures
  • Put the following script in it :
default
{
state_entry()
{
}
touch_start(integer total_number)
{
list params;
params = llGetPrimitiveParams([PRIM_RENDER_MATERIAL, 4]);
llOwnerSay("PRIM_RENDER_MATERIAL : " + llList2CSV(params));
llOwnerSay("PRIM_GLTF_BASE_COLOR : " + llList2CSV(params));
params = llGetPrimitiveParams([PRIM_GLTF_NORMAL, 4]);
llOwnerSay("PRIM_GLTF_NORMAL : " + llList2CSV(params));
params = llGetPrimitiveParams([PRIM_GLTF_METALLIC_ROUGHNESS, 4]);
llOwnerSay("PRIM_GLTF_METALLIC_ROUGHNESS : " + llList2CSV(params));
params = llGetPrimitiveParams([PRIM_GLTF_EMISSIVE, 4]);
llOwnerSay("PRIM_GLTF_EMISSIVE : " + llList2CSV(params));
}
}
  • Send the prim to another avatar who does not have any right on the PBR textures.
-> If this other avatar clicks the prim, the UUIDs of the PBR textures are indicated in the chat.