> For the complete documentation index, see [llms.txt](https://tobar-io.gitbook.io/thock/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tobar-io.gitbook.io/thock/documentation/scriptable-objects/soundpackso.md).

# SoundPackSO

Scriptable Object that holds all the Data for Sound Packs

#### Fields

* `title` (string): The title of the sound pack.
* `soundFile` (AudioClip): The audio clip associated with the sound pack.
* `useRandomPitch` (bool): Indicates whether random pitch is used for the sound pack.
* `minPitch` (float): The minimum pitch value when random pitch is used.
* `maxPitch` (float): The maximum pitch value when random pitch is used.
* `namedKeys` (GenericDictionary\<KeyCode, SoundMap>): A dictionary mapping KeyCode values to SoundMap objects.
* `fallbackKeys` (GenericDictionary\<int, int>): A dictionary containing fallback key mappings.
* `includesNumpad` (bool): Indicates whether the sound pack includes numpad keys.

#### Methods

* `InitializeNamedKeys()`: Initializes namedKeys with default KeyCode mappings.
* `SetRandomFallbacks()`: Sets random fallbacks based on the namedKeys.
* `SaveToCsv()`: Saves the sound pack data to a CSV file.
* `LoadFromCSV()`: Loads sound pack data from a CSV file.

### Remarks

* The `InitializeNamedKeys` method initializes the namedKeys dictionary with default KeyCode mappings.
* The `SetRandomFallbacks` method sets random fallbacks based on the namedKeys dictionary.
* The `SaveToCsv` method saves the sound pack data to a CSV file.
* The `LoadFromCSV` method loads sound pack data from a CSV file.
