# シリアル化のベストプラクティス

> Best practices for serialization.

Unity のシリアライゼーションを最適な方法で使用するために、データを整理します。

* Unity に最小限のデータセットをシリアル化させます。これの主な目的は、コンピューターのハードドライブ上の領域を節約するためではなく、以前のバージョンのプロジェクトとの後方互換性を確実に維持するためです。シリアル化されたデータの大きなセットを扱う場合、後方互換性は開発の後になるほど難しくなります。
* Unity に複製されたデータやキャッシュされたデータをシリアル化させないようにします。これは、後方互換性にとって重大な問題が起きる原因になるからです。データの同期が取れなくなる可能性があるため、エラーが発生する可能性が高くなります。
* 他のクラスを参照するネスト状の再帰的な構造を避けるようにします。シリアル化された構造のレイアウトは常に同じである必要があります。つまり、データとは独立し、スクリプト内に公開されているものにのみ依存します。他のクラスを参照する唯一の方法は、`UnityEngine.Object` から派生するクラスを使用することです。これらのクラスは完全に分かれていて、互いを参照するだけで、コンテンツを埋め込むことはありません。

## 追加リソース##thread-safety

* [シリアル化のルール](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/rules.md)
* [Unity がシリアル化を使用する方法](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/how-unity-uses.md)
* [JSONSerialization](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/json-serialization.md)
* [シリアル化エラー](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/errors.md)
