# What is Serialization & De-Serialization

When Application is in active state, all the object-data are stored in memory. But there comes a time when user quits your application and all its data are released from memory. This flushing of data, causes application to loose all its progress, which definitely isn’t ideal for any type of application.&#x20;

And this is where the concept of **Serialization** dives-in for rescue, i.e., we can completely avoid data loss by saving a copy of application data onto disk and use the same saved data for restoring objects back to memory, when application is relaunched.&#x20;

{% hint style="info" %}

### Serialization is a process of converting object-data into binary stream and saving onto disk.

{% endhint %}

{% hint style="info" %}

### Deserialization does exactly the opposite i.e, it restores object from formerly saved binary stream.&#x20;

{% endhint %}

Cross Platform Easy Save can either save to Player Prefs or to a file directly with minimum allocations and maximising the performance.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://assetstore.easysave.voxelbusters.com/tutorials/serialization-and-deserialization.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
