> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/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/reactor/api-reference/ks.reactor.client.unity.editor/ks.reactor.client.unity.editor.ksloginmenu.md).

# Class ksLoginMenu

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

Kinematicsoup Service Login GUI.

```csharp
public class ksLoginMenu : ksBaseLoginMenu<ksLoginMenu>, ksIMenu
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← Object ← ScriptableObject ← [ksBaseLoginMenu\<ksLoginMenu>](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md) ← [ksLoginMenu](/reactor/api-reference/ks.reactor.client.unity.editor/ks.reactor.client.unity.editor.ksloginmenu.md)

#### Implements

[ksIMenu](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksimenu.md)

#### Inherited Members

[ksBaseLoginMenu\<ksLoginMenu>.Instance](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_Instance), [ksBaseLoginMenu\<ksLoginMenu>.m\_window](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_m_window), [ksBaseLoginMenu\<ksLoginMenu>.m\_consoleUrl](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_m_consoleUrl), [ksBaseLoginMenu\<ksLoginMenu>.m\_email](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_m_email), [ksBaseLoginMenu\<ksLoginMenu>.m\_password](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_m_password), [ksBaseLoginMenu\<ksLoginMenu>.DestroyOnClose](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_DestroyOnClose), [ksBaseLoginMenu\<ksLoginMenu>.OnOpen(ksWindow)](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_OnOpen_KS_Unity_Editor_ksWindow_), [ksBaseLoginMenu\<ksLoginMenu>.OnClose(ksWindow)](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_OnClose_KS_Unity_Editor_ksWindow_), [ksBaseLoginMenu\<ksLoginMenu>.Draw(ksWindow)](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_Draw_KS_Unity_Editor_ksWindow_), [ksBaseLoginMenu\<ksLoginMenu>.DrawPasswordField(Rect)](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_DrawPasswordField_UnityEngine_Rect_), [ksBaseLoginMenu\<ksLoginMenu>.RegisterClicked()](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_RegisterClicked), [ksBaseLoginMenu\<ksLoginMenu>.DrawFooter()](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_DrawFooter), [ksBaseLoginMenu\<ksLoginMenu>.OnLogin(ksJSON, string)](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_OnLogin_KS_Reactor_ksJSON_System_String_), [ksBaseLoginMenu\<ksLoginMenu>.ConsoleURL](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_ConsoleURL), [ksBaseLoginMenu\<ksLoginMenu>.Login()](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_Login), [ksBaseLoginMenu\<ksLoginMenu>.GetNextMenu(ksWindow)](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md#KS_Unity_Editor_ksBaseLoginMenu_1_GetNextMenu_KS_Unity_Editor_ksWindow_), ScriptableObject.SetDirty(), ScriptableObject.CreateInstance(string), ScriptableObject.CreateInstance(Type), ScriptableObject.CreateInstance\<T>(), Object.GetInstanceID(), Object.GetHashCode(), Object.Equals(object), Object.Instantiate(Object, Vector3, Quaternion), Object.Instantiate(Object, Vector3, Quaternion, Transform), Object.Instantiate(Object), Object.Instantiate(Object, Transform), Object.Instantiate(Object, Transform, bool), Object.Instantiate\<T>(T), Object.Instantiate\<T>(T, Vector3, Quaternion), Object.Instantiate\<T>(T, Vector3, Quaternion, Transform), Object.Instantiate\<T>(T, Transform), Object.Instantiate\<T>(T, Transform, bool), Object.Destroy(Object, float), Object.Destroy(Object), Object.DestroyImmediate(Object, bool), Object.DestroyImmediate(Object), Object.FindObjectsOfType(Type), Object.FindObjectsOfType(Type, bool), Object.FindObjectsByType(Type, FindObjectsSortMode), Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode), Object.DontDestroyOnLoad(Object), Object.DestroyObject(Object, float), Object.DestroyObject(Object), Object.FindSceneObjectsOfType(Type), Object.FindObjectsOfTypeIncludingAssets(Type), Object.FindObjectsOfType\<T>(), Object.FindObjectsByType\<T>(FindObjectsSortMode), Object.FindObjectsOfType\<T>(bool), Object.FindObjectsByType\<T>(FindObjectsInactive, FindObjectsSortMode), Object.FindObjectOfType\<T>(), Object.FindObjectOfType\<T>(bool), Object.FindFirstObjectByType\<T>(), Object.FindAnyObjectByType\<T>(), Object.FindFirstObjectByType\<T>(FindObjectsInactive), Object.FindAnyObjectByType\<T>(FindObjectsInactive), Object.FindObjectsOfTypeAll(Type), Object.FindObjectOfType(Type), Object.FindFirstObjectByType(Type), Object.FindAnyObjectByType(Type), Object.FindObjectOfType(Type, bool), Object.FindFirstObjectByType(Type, FindObjectsInactive), Object.FindAnyObjectByType(Type, FindObjectsInactive), Object.ToString(), Object.name, Object.hideFlags, [object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Properties

### ConsoleURL <a href="#ks_reactor_client_unity_editor_ksloginmenu_consoleurl" id="ks_reactor_client_unity_editor_ksloginmenu_consoleurl"></a>

Return the KS console URL.

```csharp
protected override string ConsoleURL { get; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

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

Icon to display.

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

#### Property Value

Texture

## Methods

### GetNextMenu(ksWindow) <a href="#ks_reactor_client_unity_editor_ksloginmenu_getnextmenu_ks_unity_editor_kswindow" id="ks_reactor_client_unity_editor_ksloginmenu_getnextmenu_ks_unity_editor_kswindow"></a>

Get the menu to show when the user is logged in.

```csharp
protected override ksAuthenticatedMenu GetNextMenu(ksWindow window)
```

#### Parameters

`window` [ksWindow](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kswindow.md)

Window to render the next menu in.

#### Returns

[ksAuthenticatedMenu](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksauthenticatedmenu.md)

Menu to show when the user is logged in.

### Login() <a href="#ks_reactor_client_unity_editor_ksloginmenu_login" id="ks_reactor_client_unity_editor_ksloginmenu_login"></a>

Send a login request.

```csharp
protected override void Login()
```

### RegisterClicked() <a href="#ks_reactor_client_unity_editor_ksloginmenu_registerclicked" id="ks_reactor_client_unity_editor_ksloginmenu_registerclicked"></a>

Tracks an analytics event when the register link is clicked.

```csharp
protected override void RegisterClicked()
```
