# ランタイムにオブジェクトに機能を追加する

> Use the Unity Properties API to generically discover and manipulate object properties at runtime.

Unity Properties API を使用して、ランタイムに .Net オブジェクトにアクセスできます。Properties API は `Unity.Properties` 名前空間にあり、ランタイムに[ビジターデザインパターン](https://en.wikipedia.org/wiki/Visitor_pattern)を使用して .Net オブジェクトにアクセスします。ビジターパターンは、構造体自体を変更せずに既存のオブジェクト構造体に新しい操作を追加できるようにするデザインパターンです。ビジターパターンの上に、シリアル化、データ移行、詳細なデータ比較、データバインディングなどのさまざまな機能をビルドできます。

Unity プロパティでは、任意のタイプのビジターを使用できます。Properties API を使用して、以下のことを行えます。

* Properties API と互換性のあるデータ型の作成
* ドメイン固有のユースケースのための新しいプロパティのビジターとアダプターの開発

| トピック                                                                                                                                                 | 説明                                                                                 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| [プロパティバッグ](/engine/6000.0/manual/scripting/object-oriented-development/properties/property-bags.md)                                                  | プロパティバッグの概念とパフォーマンスに関する考慮事項を理解します。                                                 |
| [プロパティビジター](/engine/6000.0/manual/scripting/object-oriented-development/properties/property-visitors.md)                                             | プロパティビジターの概念とパフォーマンスに関する考慮事項を理解します。                                                |
| [プロパティパス](/engine/6000.0/manual/scripting/object-oriented-development/properties/property-paths.md)                                                  | プロパティパスの概念とパフォーマンスに関する考慮事項を理解します。                                                  |
| [`PropertyVisitor` を使用してプロパティビジターを作成する](/engine/6000.0/manual/scripting/object-oriented-development/properties/property-visitors-propertyvisitor.md) | `PropertyVisitor` 基本クラスを使用してプロパティビジターを作成する方法を例から学びます。                              |
| [低レベル API を使用してプロパティビジターを作成する](/engine/6000.0/manual/scripting/object-oriented-development/properties/property-visitors-low-level-api.md)            | `IPropertyBagVisitor` と `IPropertyVisitor` のインターフェースを使用してプロパティビジターを作成する方法を例から学びます。 |

## 追加リソース##additional-resources

* [シリアライズ](https://docs.unity3d.com/Packages/com.unity.serialization@latest)
* [ランタイムデータバインディング](/engine/6000.0/manual/working-in-unity/uitoolkits/uielements/uie-data-binding/uie-runtime-binding.md)
