# Properties

Revealed properties are like **shortcuts** that show up in the BlackBox Inspector that link to properties on child objects. Even though it might look like it belongs to the BlackBox component, modifying one of these properties means modifying the original property.

As an example, let's imagine a Prefab that has a MeshRenderer component on one of its children, and we decide to reveal the **Materials** property of this component. Once we swap Material by assigning a new one, the familiar override blue line shows that we have created an override on the **Materials** property.

<figure><img src="https://3055962393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzOOVmLdEeVhfPmrcckJe%2Fuploads%2FXnnjDF3W8UAGHbkIiJ3j%2FRevealedProp.png?alt=media&#x26;token=e7e20d86-bd9d-4ffe-ad39-f3229300e8ec" alt="" width="563"><figcaption><p>The Material property has an override</p></figcaption></figure>

Opening the Overrides dropdown clearly shows that the override is sitting on the correct object (the MeshRenderer component, in the image below), and not on the BlackBox component.

This means that if we were to Apply these changes, they would be applied to the correct sub-object.

<figure><img src="https://3055962393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzOOVmLdEeVhfPmrcckJe%2Fuploads%2FuTr6HeV1LTx9g9gHLody%2FOverrideDropdown.png?alt=media&#x26;token=dd2096ec-1395-4acc-8dc2-2236b38b6401" alt=""><figcaption><p>The override is displayed on the object it belongs to, and not on the BlackBox component</p></figcaption></figure>

## Revealing properties

There are two ways to reveal a property:

### On the BlackBox component

To get started, press the **Show Available Properties and Methods** button in the BlackBox component:

<figure><img src="https://3055962393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzOOVmLdEeVhfPmrcckJe%2Fuploads%2FZrVEKhkHksZJrwdsHxPF%2FRevealButton.png?alt=media&#x26;token=32978a60-79ac-45b3-96fb-9c2852d38645" alt="" width="546"><figcaption></figcaption></figure>

Under the button, a list of the GameObjects contained in the Prefab will show as foldouts. By opening them, you will see the components belonging to those GameObjects. Opening them again displays the properties, which will show a preview of the current value.

Properties are preceded by a small **\[P]** letter, like the **Mesh** property on the MeshFilter here:

<figure><img src="https://3055962393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzOOVmLdEeVhfPmrcckJe%2Fuploads%2FiMwWDndy9y2RmcVy4ifJ%2FRevealedItems_Available.png?alt=media&#x26;token=8f0688ae-13d1-42d8-b49b-ade47bbd4f4d" alt="" width="563"><figcaption><p>Inspecting the properties and methods that are available<br>to reveal from the Platform_4x4_Empty child object</p></figcaption></figure>

{% hint style="success" %}
**More than just properties**

You probably noticed in the screenshot above how – in addition to individual properties - [public methods](https://tools.continis.io/black-box/main-features/reveal/methods) **\[M]** and [entire components](https://tools.continis.io/black-box/main-features/reveal/entire-components) **\[C]** can also be revealed.
{% endhint %}

Press the **\[+]** button on each property you want to reveal. The property will be added to a list at the top, and once added, you will be able to provide a name for it. This name will show up instead of the actual property name.

<figure><img src="https://3055962393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzOOVmLdEeVhfPmrcckJe%2Fuploads%2FFKDayc0L2rXWHa6uThIz%2FRevealedItemsInternal.png?alt=media&#x26;token=a7c15188-246f-49e6-8276-658b0a2f043b" alt="" width="563"><figcaption><p>A position property has been added to the reveal list,<br>and renamed to appear as Door position</p></figcaption></figure>

Revealed properties can be removed again by clicking on the **\[-]** button.

Once we inspect the Prefab in the scene, any revealed property will show up in the Inspector of the BlackBox component using the custom name we have specified during their configuration, and will be editable now:

<figure><img src="https://3055962393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzOOVmLdEeVhfPmrcckJe%2Fuploads%2FgUgORTaAXxZEHuvRQB5n%2FExternalInspector.png?alt=media&#x26;token=77f6b2a8-956c-4b61-a6c8-6b191ce485b0" alt="" width="563"><figcaption><p>The Door position property as it appears on the locked Prefab</p></figcaption></figure>

{% hint style="success" %}
**Do your scripts have tons of properties?**

When you expand a dropdown, immediately under the Entire Component line, you'll see a line called **All properties individually**. By clicking this button, all of the component's properties will be revealed individually. This means that later on you can refine the list and just remove a few, if you need to.

Revealing properties in bulk like this can really speed up Prefab setup in case of complex scripts.
{% endhint %}

### Via the context menu

In addition to the above, there is a quick and handy way to reveal a property. Just navigate to the Component that contains that property, right-click on it. Under the menu **BlackBox**, you can choose [which list](https://tools.continis.io/black-box/main-features/reveal/reveal-lists) to reveal the property in:

<figure><img src="https://3055962393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzOOVmLdEeVhfPmrcckJe%2Fuploads%2F9nf3RApDFPbroIc1vP7R%2FRevealOnBlackBox.png?alt=media&#x26;token=adbbb258-9636-4524-81e2-53cb1b6ba3d1" alt="" width="563"><figcaption></figcaption></figure>

Done!

{% hint style="info" %}
Not all properties can be revealed this way. If you right-click on one and you don't see the option, you have to reveal it using the method described in the previous section.
{% endhint %}

### All properties individually via the context menu

Just like individual properties, it's possible to reveal all properties of a component at once by right-clicking on the component's header, and choosing **BlackBox > All Properties > Reveal in...**, choosing then which [Reveal list](https://tools.continis.io/black-box/main-features/reveal/reveal-lists) you want to add the properties to.

<figure><img src="https://3055962393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzOOVmLdEeVhfPmrcckJe%2Fuploads%2FAJJf3Tc2CQiF3nuWCkko%2FRevealAllProperties_Dropdown.png?alt=media&#x26;token=4a8a02f2-273f-4e28-81da-457e6573ff1c" alt="" width="563"><figcaption><p>Right-click on a component header to reveal all properties</p></figcaption></figure>

{% hint style="info" %}
**First List, Second List... what are they?**

Unfortunately, a Unity limitation means we can't display the custom names that you might have assigned to [Reveal lists](https://tools.continis.io/black-box/main-features/reveal/reveal-lists), and that's why they are displayed as First List, Second List, etc. up to 5 lists.

To add properties to a higher number list, you can move the list in one of the first 5 positions, add the properties, and move it back (using the reorder buttons in [Edit mode](https://tools.continis.io/black-box/main-features/reveal-lists#edit-lists)).
{% endhint %}
