> 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.sfprefabsaver.md).

# Class sfPrefabSaver

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

Provides functions for saving prefabs. Processes imported prefabs to remove [sfMissingPrefab](/scene-fusion/api-reference/ks.scenefusion.client.unity/ks.scenefusion.client.unity.sfmissingprefab.md) components whose path is the same as the prefab's path.

```csharp
public class sfPrefabSaver
```

#### Inheritance

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

## Methods

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

```csharp
public static sfPrefabSaver Get()
```

#### Returns

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

Singleton instance

### MarkPrefabDirty(Object) <a href="#ks_scenefusion_client_unity_editor_sfprefabsaver_markprefabdirty_unityengine_object" id="ks_scenefusion_client_unity_editor_sfprefabsaver_markprefabdirty_unityengine_object"></a>

Marks a prefab dirty and adds it to the list of dirty prefabs to save on the next update. Does nothing if the `uobj` is not part of a prefab asset or if the prefab is already dirty.

```csharp
public void MarkPrefabDirty(Object uobj)
```

#### Parameters

`uobj` Object

Object in prefab to mark dirty.

### SaveDirtyPrefabs() <a href="#ks_scenefusion_client_unity_editor_sfprefabsaver_savedirtyprefabs" id="ks_scenefusion_client_unity_editor_sfprefabsaver_savedirtyprefabs"></a>

Saves dirty prefabs and clears the dirty prefab list.

```csharp
public void SaveDirtyPrefabs()
```

### SavePrefabIfDirty(Object) <a href="#ks_scenefusion_client_unity_editor_sfprefabsaver_saveprefabifdirty_unityengine_object" id="ks_scenefusion_client_unity_editor_sfprefabsaver_saveprefabifdirty_unityengine_object"></a>

Saves a prefab asset if the root of the prefab is dirty. Use [MarkPrefabDirty](#ks_scenefusion_client_unity_editor_sfprefabsaver_markprefabdirty_unityengine_object) to mark the root of the prefab as dirty.

```csharp
public void SavePrefabIfDirty(Object uobj)
```

#### Parameters

`uobj` Object

UObject that is part of the prefab asset to save.

### SavePrefabSourceIfDirty(Object) <a href="#ks_scenefusion_client_unity_editor_sfprefabsaver_saveprefabsourceifdirty_unityengine_object" id="ks_scenefusion_client_unity_editor_sfprefabsaver_saveprefabsourceifdirty_unityengine_object"></a>

```csharp
public void SavePrefabSourceIfDirty(Object uobj)
```

#### Parameters

`uobj` Object
