# Definitions

### Instructions

An instruction is a set of information defined by one line. It's split by a **;** character, it allows the script to properly read the data. This kind of line will define how you creation will retexture. In the below example, this line will retexture the prim named **button**, with the texture **cc72eb07-b8cb-be03-8635-1ad5d9afa5fd** on the faces **1** and **2**.

```
button;texture;1,2;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
```

### Texture set

A texture set is a block of code in the .config script. It contains at least one name and one or multiples instructions. In the below example, this texture set is called `redSet` and contains 1 instruction.

```
-redSet
button;texture;1,2;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
```

## All instructions

### HUD

```
// This line define the name of your creation between the script.
// Remain this name simple. Be sure it's the same between .config and .config HUD

@myObject


// Since the version 3.1.2 of the HUD, the HUD can't be rezzed by default. If you
// want your customer to be able to rez the HUD, you need to add this line
// to your .config HUD data

allow_rez
```

```aspnet
// Add this line in your .config HUD to enable the DEMO feature for your store.
// Customers will be able to play with your HUD before any purchase.
// By setting 10, the HUD will apply the texture set abyss after 10 seconds
// of inactivity

timeout;abyss;10

// Or you can set multiple texture sets if needed.

timeout;lighton,abyss;10
```

```aspnet
// You can define ALL as prim name to apply to every prims in your object.
//   You can also define ROOT as prim name to target the root prim of the object.
// You can define ALL_SIDES as face to apply to every faces of your prim.

ALL;texture;ALL_SIDES;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d



// You are able to set multiple faces, separate by a ,

ALL;texture;1,4,5;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
```

```aspnet
// You can define more than one instructions per set. 

-redSet
ALL;texture;ALL_SIDES;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
Example Cube;texture;ALL_SIDES;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
button2;texture;2,3,1;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d
```

```
// You can modify the normal map of any prim/faces

button2;texture_normal;2,3,1;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d

// You can modify the Bump map or Shiny Map, see https://wiki.secondlife.com/wiki/LlSetPrimitiveParams#PRIM_BUMP_SHINY

button2;bump_shiny;ALL_SIDES;2;5


// You can modify the specular map of any prim/faces

button2;texture_specular;2,3,1;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d


// To remove a normal map, you can use this line.

ALL;texture_normal


// To remove a specular map, you can use this line.

ALL;texture_specular




// If you need to go deeper in the settings, you can.
// These are the default values the EasyTexture will apply.
// If you need the definition of these values,
// please visit http://wiki.secondlife.com/wiki/LlSetLinkPrimitiveParams
// and search for the PRIM_* you want to apply

list defaultBumpShinyParams       = [PRIM_BUMP_SHINY, ALL_SIDES, PRIM_SHINY_NONE, PRIM_BUMP_NONE];
list defaultTextureParams         = [PRIM_TEXTURE, ALL_SIDES, NULL_KEY, <1, 1, 1>, <0, 0, 0>, 0.0];
list defaultTextureNormalParams   = [PRIM_NORMAL, ALL_SIDES, NULL_KEY, <1, 1, 1>, <0, 0, 0>, 0.0];
list defaultTextureSpecularParams = [PRIM_SPECULAR, ALL_SIDES, NULL_KEY, <1, 1, 1>, <0, 0, 0>, 0.0, <1, 1, 1>, 51, 0];
list defaultPointOfLightParams    = [PRIM_POINT_LIGHT, 0, <1, 1, 1>, 0, 0, 0];
list defaultColorParams           = [PRIM_COLOR, ALL_SIDES, <1, 1, 1>, 1];
list defaultFullBrightParams      = [PRIM_FULLBRIGHT, ALL_SIDES, 0];
list defaultGlowParams            = [PRIM_GLOW, ALL_SIDES, 0];

// PBR Support!
list defaultPBRBaseColor          = [PRIM_GLTF_BASE_COLOR, ALL_SIDES, NULL_KEY, <1, 1, 1>, ZERO_VECTOR, 0.0, <1, 1, 1>, 1, 0, 0.5, 0];
list defaultPBRNormal             = [PRIM_GLTF_NORMAL, ALL_SIDES, NULL_KEY, <1, 1, 1>, ZERO_VECTOR, 0.0];
list defaultPBRMetallic           = [PRIM_GLTF_METALLIC_ROUGHNESS, ALL_SIDES, NULL_KEY, <1, 1, 1>, ZERO_VECTOR, 0.0, 1.0, 1.0];
list defaultPBREmissive           = [PRIM_GLTF_EMISSIVE, ALL_SIDES, NULL_KEY, <1, 1, 1>, ZERO_VECTOR, 0.0, <1, 1, 1>];

// If you want to change the offset of your texture, you can add this instruction
button2;texture_specular;2;4f089cf2-3e75-fa5f-d5f3-2d49fe92553d;NULL;<0.48, 1.56, 0>
```

{% hint style="info" %}
Setting **`NULL`** on any values will use the default value of EasyTextures
{% endhint %}

```aspnet
// You can change the color

ALL;color;1,2,3;<1, 1, 1>;1

// You can change the fullbright

ALL;fullbright;1,2,3;1

// You can change the glow

ALL;glow;1;0.2
```

### Object

```aspnet
// Add this line to your .config to enable the option TouchToApply
// If enabled, customers will have to click their object before
// they are able to retexture it. It has a timeout of 60 seconds.

touchtoapply

// You can also add this line if you are making one HUD for multiple object.
// It will ignore the messages like
//   ERROR: There is no prim named `something` in your object.

ignore_not_existing_prim
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kynno.app/products/easytextures/first-steps/definitions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
