# DatabaseSkills

Scriptable Object used as a database to store all skills and settings.&#x20;

### Implementation

```csharp
public class DatabaseSkills : IDatabase
```

### Inheritance

[ScriptableObject](https://docs.unity3d.com/ScriptReference/ScriptableObject.html) --> IDatabase --> [DatabaseSkills](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills)

### Classes

| Name                                                                                                                   | Description                                            |
| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| [SkillsList](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/classes/skillslist)       | Contains the definitions for the skills list and types |
| [SkillSettings](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/classes/skillsettings) | Contains the definitions for the settings              |

### Fields

| Name                                                                                                                    | Description                                        |
| ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| [skillList](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/fields/skilllist)           | References the skill list of the SkillsList class  |
| [skillsSettings](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/fields/skillssettings) | References the settings of the SkillSettings class |

### Methods

| Name                                                                                                                                              | Description                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| [GetSkillList()](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/getskilllist)                            | Returns all skills                                                                           |
| [GetSkillListSkillByIndex(int)](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/getskilllistskillbyindex) | Returns skill at index                                                                       |
| [GetSkillTypes()](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/getskilltypes)                          | Returns all skill types                                                                      |
| [GetSkillTypesTypeByIndex(int)](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/getskilltypestypebyindex) | Returns skill type at index                                                                  |
| [GetSkillSettings()](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/getskillsettings)                    | Returns the skill settings                                                                   |
| [GetSkillSuggestions(string)](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/getskillsuggestions)        | Returns all skills that have a description or name similar to the input                      |
| [GetSkillTypesNames()](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/getskilltypesnames)                | Returns all skill type names                                                                 |
| [GetSkillTypesIDs()](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/getskilltypesids)                    | Returns all skill type IDs and name                                                          |
| [Load()](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/load)                                            | Loads the skills database                                                                    |
| [InitializeOnLoad()](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/initializeonload)                    | Allow an editor class method to be initialized when Unity loads without action from the user |
| [GetProjectPath()](https://docs.mitschmr-studios.io/skills/skills/api-documentation/databaseskills/methods/getprojectpath)                        | Returns the project path                                                                     |
