# FAQ

## Compiler throwing Serialization method not found. What's the reason?

Please make sure you import the required namespace as below.

```
using VoxelBusters.Serialization;
```

## How to serialize any data type?

Use the generic method shipped with the plugin.

```
SerializationManager.Serialize<T>(string key, T value);
```

### Example

```
SerializationManager.Serialize<int>("intKey", 123);
SerializationManager.Serialize<string>("stringKey", "my string");
SerializationManager.Serialize<GameObject>("gameobjectKey", gameObjectInstance);
```

## What are data providers shipped with the plugin?

Data providers are the concrete classes which are created to maximise the performance during serialization process. These classes are required if you want the serialization process to avoid reflection.

## What happens if I don't create Data Provider for my own custom class?

By default, if we don't find a data provider, we directly use reflection to fetch the public properties and serialize it.

However, if you want to squeeze out maximise performance, create the data provider with our inbuilt tool which does create the code automagically!

&#x20;&#x20;

![](/files/-LNwzWFMBdh69zevdigs)

![](/files/-LNwy4Vl92UNgdQidurw)


---

# 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/faq.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.
