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

# Class sfSessionsMenu

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

GUI that displays the list of available sessions.

```csharp
public class sfSessionsMenu : ksAuthenticatedMenu
```

#### Inheritance

object ← Object ← ScriptableObject ← ksAuthenticatedMenu ← [sfSessionsMenu](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionsmenu.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)

## Fields

### CanSync <a href="#ks_scenefusion_client_unity_editor_sfsessionsmenu_cansync" id="ks_scenefusion_client_unity_editor_sfsessionsmenu_cansync"></a>

Callback for checking if a game object can be synced. Used for counting the number of syncable game objects in open scenes.

```csharp
public static sfSessionsMenu.SyncChecker CanSync
```

#### Field Value

[sfSessionsMenu](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionsmenu.md).[SyncChecker](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionsmenu/ks.scenefusion.client.unity.editor.sfsessionsmenu.syncchecker.md)

### PreSessionCheck <a href="#ks_scenefusion_client_unity_editor_sfsessionsmenu_presessioncheck" id="ks_scenefusion_client_unity_editor_sfsessionsmenu_presessioncheck"></a>

Callback before a session is joined or started. Return false to prevent session from starting or being joined.

```csharp
public static sfSessionsMenu.PreSessionChecker PreSessionCheck
```

#### Field Value

[sfSessionsMenu](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionsmenu.md).[PreSessionChecker](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionsmenu/ks.scenefusion.client.unity.editor.sfsessionsmenu.presessionchecker.md)

## Properties

### Icon <a href="#ks_scenefusion_client_unity_editor_sfsessionsmenu_icon" id="ks_scenefusion_client_unity_editor_sfsessionsmenu_icon"></a>

Icon

```csharp
public override Texture Icon { get; }
```

#### Property Value

Texture

## Methods

### OnClose(ksWindow) <a href="#ks_scenefusion_client_unity_editor_sfsessionsmenu_onclose_ks_unity_editor_kswindow" id="ks_scenefusion_client_unity_editor_sfsessionsmenu_onclose_ks_unity_editor_kswindow"></a>

Destroy this object when the menu is closed.

```csharp
public override void OnClose(ksWindow window)
```

#### Parameters

`window` ksWindow

window that closed the menu.

### OnDraw(ksWindow) <a href="#ks_scenefusion_client_unity_editor_sfsessionsmenu_ondraw_ks_unity_editor_kswindow" id="ks_scenefusion_client_unity_editor_sfsessionsmenu_ondraw_ks_unity_editor_kswindow"></a>

Creates the GUI.

```csharp
public override void OnDraw(ksWindow window)
```

#### Parameters

`window` ksWindow

window the GUI is for.

### OnOpen(ksWindow) <a href="#ks_scenefusion_client_unity_editor_sfsessionsmenu_onopen_ks_unity_editor_kswindow" id="ks_scenefusion_client_unity_editor_sfsessionsmenu_onopen_ks_unity_editor_kswindow"></a>

Called when the menu is opened.

```csharp
public override void OnOpen(ksWindow window)
```

#### Parameters

`window` ksWindow

window the opened the menu.
