# Overview

The schema file has two uses in your project:

1. As a basis for *code generation*, creating various structs and methods that can be used in your project to communicate with the Replication Server.
2. As a description for the Replication Server, telling it how the data in your project looks like – to receive, store, and send this data to its Clients.

When using MonoBehaviours and CoherenceSync you often don't need to interact with the schema directly. Here's an example of a small schema:

```
component Player
  name String64
  score Int
  
component Enemy
  speed Float
  hp Int
  poisonous Bool
```

To learn more about the types and definitions available in a schema, see the [specification](https://docs.coherence.io/1.1/schema-explained/specification).

{% hint style="info" %}
If you're unsure where schema files are located, you can easily search through the project using Unity's project search window, with`t:Coherence.SchemaAsset`
{% endhint %}
