> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/scene-fusion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfmissingscriptserializer.md).

# Class sfMissingScriptSerializer

Namespace: [KS.SceneFusion.Client.Unity.Editor](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor.md)\
Assembly: KSUnity-Source.dll

Handles serialization and deserialization of missing scripts.

```csharp
public class sfMissingScriptSerializer
```

#### Inheritance

object ← [sfMissingScriptSerializer](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfmissingscriptserializer.md)

## Methods

### DeserializeProperties(sfIMissingScript, sfDictionaryProperty) <a href="#ks_scenefusion_client_unity_editor_sfmissingscriptserializer_deserializeproperties_ks_scenefusion_cl" id="ks_scenefusion_client_unity_editor_sfmissingscriptserializer_deserializeproperties_ks_scenefusion_cl"></a>

Deserializes missing script properties into an sfDictionaryProperty.

```csharp
public void DeserializeProperties(sfIMissingScript missingScript, sfDictionaryProperty properties)
```

#### Parameters

`missingScript` [sfIMissingScript](/scene-fusion/api-reference/ks.scenefusion.client.unity/ks.scenefusion.client.unity.sfimissingscript.md)

missingScript to deserialize properties from.

`properties` [sfDictionaryProperty](/scene-fusion/api-reference/ks.scenefusion/ks.scenefusion.sfdictionaryproperty.md)

properties to add deserialized properties to.

### Get() <a href="#ks_scenefusion_client_unity_editor_sfmissingscriptserializer_get" id="ks_scenefusion_client_unity_editor_sfmissingscriptserializer_get"></a>

Singleton instance

```csharp
public static sfMissingScriptSerializer Get()
```

#### Returns

[sfMissingScriptSerializer](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfmissingscriptserializer.md)

### SerializeProperties(sfIMissingScript, sfDictionaryProperty) <a href="#ks_scenefusion_client_unity_editor_sfmissingscriptserializer_serializeproperties_ks_scenefusion_clie" id="ks_scenefusion_client_unity_editor_sfmissingscriptserializer_serializeproperties_ks_scenefusion_clie"></a>

Serializes a dictionary property to a missing script's serialized property data.

```csharp
public void SerializeProperties(sfIMissingScript missingScript, sfDictionaryProperty properties)
```

#### Parameters

`missingScript` [sfIMissingScript](/scene-fusion/api-reference/ks.scenefusion.client.unity/ks.scenefusion.client.unity.sfimissingscript.md)

missingScript to serialize properties to.

`properties` [sfDictionaryProperty](/scene-fusion/api-reference/ks.scenefusion/ks.scenefusion.sfdictionaryproperty.md)

properties to serialize.

### SerializeProperty(sfIMissingScript, sfBaseProperty) <a href="#ks_scenefusion_client_unity_editor_sfmissingscriptserializer_serializeproperty_ks_scenefusion_client" id="ks_scenefusion_client_unity_editor_sfmissingscriptserializer_serializeproperty_ks_scenefusion_client"></a>

Serializes a property to a missing script's serialized property data. Does nothing if the root property is not an sfDictionaryProperty or if the property has no parent. If the property is a nested subproperty, the entire ancestor property at depth 1 will be serialized.

```csharp
public void SerializeProperty(sfIMissingScript missingScript, sfBaseProperty property)
```

#### Parameters

`missingScript` [sfIMissingScript](/scene-fusion/api-reference/ks.scenefusion.client.unity/ks.scenefusion.client.unity.sfimissingscript.md)

missingScript to serialize to.

`property` [sfBaseProperty](/scene-fusion/api-reference/ks.scenefusion/ks.scenefusion.sfbaseproperty.md)

property to serialize.

### Start() <a href="#ks_scenefusion_client_unity_editor_sfmissingscriptserializer_start" id="ks_scenefusion_client_unity_editor_sfmissingscriptserializer_start"></a>

Starts listening for scene save events so reference data can be serialized before scenes are saved.

```csharp
public void Start()
```

### Stop() <a href="#ks_scenefusion_client_unity_editor_sfmissingscriptserializer_stop" id="ks_scenefusion_client_unity_editor_sfmissingscriptserializer_stop"></a>

Stops listening for scene save events and serializes reference data in missing scripts.

```csharp
public void Stop()
```
