# sm.scriptableObject.createScriptableObject

Create a new Scriptable Object.

**Kind:** Function

**Environments:** Game

## Game

``` { .lua .api-signature }
sm.scriptableObject.createScriptableObject( uuid, params?, world? )
```

[Open the full Game reference](../Game-Script-Environment/Static-Functions/sm.scriptableObject.md#createscriptableobject)

**Availability:** Server only

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `uuid` | [Uuid](../Game-Script-Environment/Userdata/Uuid.md) | ScriptableObject uuid. |
| `params` *(optional)* | any | self.params on scriptable object. |
| `world` *(optional)* | [World](../Game-Script-Environment/Userdata/World.md) | The world this script belongs to, for world dependent api calls. Defaults to [sm.world.ids.noWorld](../Game-Script-Environment/Static-Functions/sm.world.md#ids) |

**Returns:**

| Type | Description |
| --- | --- |
| [ScriptableObject](../Game-Script-Environment/Userdata/ScriptableObject.md) | The scriptable object. |
