# Skill Web Settings

## ⚙️ SkillWebSettings Class

Skill Web's settings.

> Namespace: `Esper.SkillWeb.Settings`\
> Inherits from: `ScriptableObject`\
> Type: `class`

***

### 📦 Fields

| Access   | Field                          | Type                           | Description                                                                                    |
| -------- | ------------------------------ | ------------------------------ | ---------------------------------------------------------------------------------------------- |
| `public` | `debugLogMode`                 | `DebugLogMode`                 | Controls the debug messages logged in the console.                                             |
| `public` | `enablePlayerLevelRequirement` | `bool`                         | If the player level requirement for unlocking skills should be enabled.                        |
| `public` | `enableDowngrading`            | `bool`                         | If skill downgrading should be enabled.                                                        |
| `public` | `deltaTime`                    | `DeltaTime`                    | The delta time mode.                                                                           |
| `public` | `databaseName`                 | `string`                       | The name of the database.                                                                      |
| `public` | `skillDatasetReference`        | `SkillDataset`                 | The skill dataset reference. Used by all skills to allow custom data in the skill bank editor. |
| `public` | `webDatasetReference`          | `WebDataset`                   | The web dataset reference. Used by all webs to allow custom data in the web creator.           |
| `public` | `tags`                         | `List<string>`                 | A list of all skill tags.                                                                      |
| `public` | `zoomStrength`                 | `float`                        | The zooming strength.                                                                          |
| `public` | `zoomSmoothing`                | `float`                        | Smooths zooming. Higher = faster smoothing.                                                    |
| `public` | `minScale`                     | `float`                        | The minimum zoom scale.                                                                        |
| `public` | `maxScale`                     | `float`                        | The maximum zoom scale.                                                                        |
| `public` | `startingScale`                | `StartingScale`                | The scale that the graph starts with when first loaded.                                        |
| `public` | `panSmoothing`                 | `float`                        | Smooths panning. Higher = faster smoothing.                                                    |
| `public` | `afterSnapDelay`               | `float`                        | The amount of time control is disabled after a node has been snapped to.                       |
| `public` | `automaticBoundsEnabled`       | `bool`                         | If panning bounds should be automatically calculated and applied.                              |
| `public` | `resetFocusSpeed`              | `float`                        | The speed used when resetting the view or focusing. Speed at 1 will take 1s to reset.          |
| `public` | `mousePanButton`               | `PointerEventData.InputButton` | The button used to drag/pan the web view.                                                      |
| `public` | `skillNodeSizes`               | `SkillNodeSizes`               | Node size settings.                                                                            |

***

### 🧰 Methods

| Access   | Method           | Returns | Description                                                                                      |
| -------- | ---------------- | ------- | ------------------------------------------------------------------------------------------------ |
| `public` | `GetDeltaTime()` | `float` | Gets the interval in seconds from the last frame to the current one based on the DeltaTime mode. |

***

### 🧩 Nested Structs

`public struct SkillNodeSizes`

Node size values.

| Access   | Field    | Type    | Description                      |
| -------- | -------- | ------- | -------------------------------- |
| `public` | `tiny`   | `float` | The size for tiny skill nodes.   |
| `public` | `small`  | `float` | The size for small skill nodes.  |
| `public` | `medium` | `float` | The size for medium skill nodes. |
| `public` | `large`  | `float` | The size for large skill nodes.  |
| `public` | `giant`  | `float` | The size for giant skill nodes.  |

***

### 🧩 Nested Enums

`public enum DebugLogMode`

Supported log modes.

| Value    | Description  |
| -------- | ------------ |
| `None`   | No logs.     |
| `Normal` | Normal logs. |

***

`public enum StartingScale`

Web view starting scale types.

| Value    | Description                    |
| -------- | ------------------------------ |
| `Min`    | Start at the minimum scale.    |
| `Normal` | Start at the normal scale (1). |
| `Max`    | Start at the maximum scale.    |

***

`public enum DeltaTime`

Supported delta time modes.

| Value               | Description                                                |
| ------------------- | ---------------------------------------------------------- |
| `DeltaTime`         | The delta time mode which is affected by Time.timeScale.   |
| `UnscaledDeltaTime` | The delta time mode which is unaffected by Time.timeScale. |
