# Custom properties

We cover in this page **how to use, create and manage custom properties in Rayon.**

### What is a custom property?

Offering **custom properties** is Rayon's way of **allowing users to add data to their drawing**. This information can be added onto **`models`**, **`zones`**, **`walls`**, **`blocks`** (instances and definitions), **`shapes`**, **`layers`**, **`styles`**, and **`pages`**, and later be **retrieved, listed, and formatted in tables.**

In Rayon's editor, **custom properties can be found in the `custom properties` section**, whenever some entities are selected.&#x20;

<figure><img src="https://2112124689-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FngVHKyaUSSJPTFck3wkz%2Fuploads%2FQecfNIndFmC4ov0YiJiQ%2FVincent-F-18%20(9).png?alt=media&#x26;token=5b5c7eab-7fc2-4bd3-aca2-6a14109396d9" alt=""><figcaption></figcaption></figure>

### Creating a custom property

Let's start by c**reating a new custom property.** \
With an entity selected, click on the **`Add property`** button. Then, click on the **`+`** button, in the header of the panel. This will allow you to **create a new property** that will be applied to the current selection.

<figure><img src="https://2112124689-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FngVHKyaUSSJPTFck3wkz%2Fuploads%2FCfTYZg6KuMTOZq4dzYsA%2FVincent-F-18%20(10).png?alt=media&#x26;token=3b2c5cc0-80a2-4786-b2c7-ca98ab98ab38" alt=""><figcaption></figcaption></figure>

You will now have to specify the **`name`**, **`format`**, **`type`** and **`value`** of the new property you are about to create. The property **`format`** expresses the kind of thing the property documents (a price, a name, a length, etc). In Rayon, available formats are:

* Text
* Length (in model units)
* Area (in model units)
* Volume (in model units)
* Number
* Price (in model units)
* URL
* Boolean
* Image

The **`type`**, then, allows you to choose whether the property should be a...

* Single value
* List of values (category single or multi)
* Formula (a value computed dynamically, based on other properties)

Clicking on **`Save`** will confirm the creation of the property and apply it to the current selected entity(ies).

<figure><img src="https://2112124689-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FngVHKyaUSSJPTFck3wkz%2Fuploads%2FWxI3xkppRMttLTea4Sqa%2FFrame%201824.png?alt=media&#x26;token=cd05d220-e491-4c4f-a51e-66197d475663" alt=""><figcaption></figcaption></figure>

### Applying custom properties

Any existing custom property, present in the panel, can be **applied to the selection** by simply ticking its checkbox.&#x20;

<figure><img src="https://2112124689-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FngVHKyaUSSJPTFck3wkz%2Fuploads%2FCfTYZg6KuMTOZq4dzYsA%2FVincent-F-18%20(10).png?alt=media&#x26;token=3b2c5cc0-80a2-4786-b2c7-ca98ab98ab38" alt=""><figcaption></figcaption></figure>

### Managing custom properties

At any point, custom properties present in a model can be managed from the left side of the screen. The **`Custom properties`** panel stores all existing properties added by you or other users at any point. From there, custom properties can be...

* Searched
* Created (from the **`New property`** drop down)
* Edited (name and default value(s))

<figure><img src="https://2112124689-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FngVHKyaUSSJPTFck3wkz%2Fuploads%2Fq7zmLLsGC4MRO5fmkPCq%2FVincent-F-18%20(11).png?alt=media&#x26;token=09b12c71-4459-4d10-90bf-5ba700047166" alt=""><figcaption></figcaption></figure>

### Inheritance

Another useful feature of custom properties is **inheritance**. In other words, the custom properties carried at one level can be transmitted to a lower level. For instance:&#x20;

* **`Definition`** → **`Instance`** : A property carried by a block definition will also be carried by its instances.&#x20;
* **`Style`** → **`Entity`** : A property carried by a style will also be carried by entities carrying that style.&#x20;

At any point, an inherited property can be overridden; for instance, the value of a property inherited by an instance from its definition can be changed to a different, specific value. The value can then we set back to its initial value, by clicking on the reset icon present on the property value field.

### Tutorial

For more step-by-step information, watch our tutorial about how to use tables and metadata in Rayon.

{% embed url="<https://www.youtube.com/watch?v=2r2XTSwCSQc>" %}

***

### We are always available

Book a demo with our team, [right here](https://b1kzip68v9f.typeform.com/to/Hgr0eQ4k#source=docs).\
To get some support, reach out to us through our **in-app support chat**. \
More about [our support policy right here](https://docs.rayon.design/other-resources/others/support).
