# IProperty

> Base interface for working with properties.

## Definition

* **Type:** Interface
* **Namespace:** [Unity.Properties](/engine/6000.5/script-reference/unity/properties.md)
* **Assembly:** UnityEngine.PropertiesModule

```csharp
public interface IProperty
```

## Remarks

This is used to pass or store properties without knowing the underlying container or value type. " [IProperty\<TContainer>](/engine/6000.5/script-reference/unity/properties/iproperty1.md) " [Property\<TContainer, TValue>](/engine/6000.5/script-reference/unity/properties/property2.md)

## Properties

| Property                                                                               | Description                                                       |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [IsReadOnly](/engine/6000.5/script-reference/unity/properties/iproperty/isreadonly.md) | Gets a value indicating whether the property is read-only or not. |
| [Name](/engine/6000.5/script-reference/unity/properties/iproperty/name.md)             | Gets the name of the property.                                    |

## Methods

| Method                                                                                               | Description                                                        |
| ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [DeclaredValueType](/engine/6000.5/script-reference/unity/properties/iproperty/declaredvaluetype.md) | Returns the declared value type of the property.                   |
| [GetAttribute](/engine/6000.5/script-reference/unity/properties/iproperty/getattribute.md)           | Returns the first attribute of the given type.                     |
| [GetAttributes](/engine/6000.5/script-reference/unity/properties/iproperty/getattributes.md)         | Returns all attribute for this property.                           |
| [HasAttribute](/engine/6000.5/script-reference/unity/properties/iproperty/hasattribute.md)           | Returns true if the property has any attributes of the given type. |
