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

# Class SceneFusion

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

Scene Fusion entry point. Does initialization and runs the update loop.

```csharp
public class SceneFusion : ksSingleton<SceneFusion>
```

#### Inheritance

object ← Object ← ScriptableObject ← ksSingleton\<SceneFusion> ← [SceneFusion](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.scenefusion.md)

#### Extension Methods

[sfUnityUtils.IsDestroyed(Object)](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityutils.md#ks_scenefusion_client_unity_editor_sfunityutils_isdestroyed_unityengine_object)

## Properties

### Reconnected <a href="#ks_scenefusion_client_unity_editor_scenefusion_reconnected" id="ks_scenefusion_client_unity_editor_scenefusion_reconnected"></a>

Did we reconnect to the current session after disconnecting temporarily to recompile or enter play mode?

```csharp
public bool Reconnected { get; }
```

#### Property Value

bool

### Service <a href="#ks_scenefusion_client_unity_editor_scenefusion_service" id="ks_scenefusion_client_unity_editor_scenefusion_service"></a>

Service

```csharp
public sfService Service { get; }
```

#### Property Value

[sfService](/scene-fusion/api-reference/ks.scenefusion.client/ks.scenefusion.client.sfservice.md)

### Version <a href="#ks_scenefusion_client_unity_editor_scenefusion_version" id="ks_scenefusion_client_unity_editor_scenefusion_version"></a>

Scene Fusion version

```csharp
public ksVersion Version { get; }
```

#### Property Value

ksVersion

## Methods

### Initialize() <a href="#ks_scenefusion_client_unity_editor_scenefusion_initialize" id="ks_scenefusion_client_unity_editor_scenefusion_initialize"></a>

Initialization

```csharp
protected override void Initialize()
```

### OnConnect(sfSession, string) <a href="#ks_scenefusion_client_unity_editor_scenefusion_onconnect_ks_scenefusion_client_sfsession_system_stri" id="ks_scenefusion_client_unity_editor_scenefusion_onconnect_ks_scenefusion_client_sfsession_system_stri"></a>

Called after connecting to a session.

```csharp
public void OnConnect(sfSession session, string errorMessage)
```

#### Parameters

`session` [sfSession](/scene-fusion/api-reference/ks.scenefusion.client/ks.scenefusion.client.sfsession.md)

`errorMessage` string

### OnDisconnect(sfSession, string) <a href="#ks_scenefusion_client_unity_editor_scenefusion_ondisconnect_ks_scenefusion_client_sfsession_system_s" id="ks_scenefusion_client_unity_editor_scenefusion_ondisconnect_ks_scenefusion_client_sfsession_system_s"></a>

Called after disconnecting from a session.

```csharp
public void OnDisconnect(sfSession session, string errorMessage)
```

#### Parameters

`session` [sfSession](/scene-fusion/api-reference/ks.scenefusion.client/ks.scenefusion.client.sfsession.md)

`errorMessage` string
