# Steam Lobby Input UI

## Fields and Attributes

### Input Always Read Only

```csharp
public bool inputAlwaysReadOnly = true;
```

Determines whether the lobby ID input field should always be read-only when no valid lobby is assigned.

### Only Owner Can Invite

```csharp
public bool onlyOwnerCanInvite = false;
```

If `true`, the invite UI element will only be active if the local user is the owner of the lobby.

### Minimal Id Length

```csharp
public int minimalIdLength = 8;
```

The minimum number of characters required in the input field before attempting to validate a lobby ID.

### Id Input

```csharp
public TMPro.TMP_InputField idInput;
```

The input field used to enter or display a lobby ID.

### Create Element

```csharp
public GameObject createElement;
```

UI element displayed for creating a lobby. Hidden when a valid lobby is set.

### Join Element

```csharp
public GameObject joinElement;
```

UI element displayed for joining a lobby. Visibility depends on input validity and lobby state.

### Leave Element

```csharp
public GameObject leaveElement;
```

UI element displayed for leaving a lobby. Shown only when a valid lobby is set.

### Invite Element

```csharp
public GameObject inviteElement;
```

UI element displayed for inviting users to the lobby. Visibility may depend on ownership.

### Members Element

```csharp
public GameObject membersElement;
```

UI element representing the lobby’s member list. Shown when a valid lobby exists.

### Chat Element

```csharp
public GameObject chatElement;
```

UI element for the lobby chat. Shown when a valid lobby exists.
