From Second Life Wiki
Revision as of 05:47, 17 February 2024 by Jenna Huntsman (talk | contribs) (Add caveat regarding the use of NULL_KEY to "unset" a glTF material.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Function: llSetRenderMaterial( string material, integer face );

Sets the material of this prim's face. This function will clear most PRIM_GLTF_* properties on the face, with the exceptions of repeats, offsets, and rotation_in_radians.

• string material a material in the inventory of the prim this script is in or a UUID of a material
• integer face face number or ALL_SIDES

If face is ALL_SIDES then the function works on all sides.


  • This function causes the script to sleep for 0.2 seconds.
  • The function silently fails if its face value indicates a face that does not exist.
  • If material is missing from the prim's inventory and it is not a UUID or it is not a material then an error is shouted on DEBUG_CHANNEL.
  • If material is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
  • If material is provided as NULL_KEY, the glTF Material is removed from face, reverting back to any underlying Blinn-Phong materials.
All Issues ~ Search JIRA for related Bugs


        // the first material alphabetically inside the same prim's inventory
        string material = llGetInventoryName(INVENTORY_MATERIAL, 0);

        // set it on all sides of the prim containing the script
        llSetRenderMaterial(material, ALL_SIDES);

Deep Notes

Search JIRA for related Issues


function void llSetRenderMaterial( string material, integer face );