# ScriptableObjectClass

A script class that doesn't represent any particular game object.

**Kind:** API page

**Environments:** Game

## Game

[Open the full Game reference](../Game-Script-Environment/Classes/ScriptableObjectClass.md)

The scriptable object is automatically synchronized to all clients.

Can receive events sent with [sm.event.sendToScriptableObject](../Game-Script-Environment/Static-Functions/sm.event.md#sendtoscriptableobject).

### Fields

| Name | Type | Description |
| --- | --- | --- |
| `scriptableObject` | [ScriptableObject](../Game-Script-Environment/Userdata/ScriptableObject.md) | The [ScriptableObject](../Game-Script-Environment/Userdata/ScriptableObject.md) belonging to this class instance. |
| `network` | [Network](../Game-Script-Environment/Userdata/Network.md) | A [Network](../Game-Script-Environment/Userdata/Network.md) object that can be used to send messages between client and server. |
| `storage` | [Storage](../Game-Script-Environment/Userdata/Storage.md) | (Server side only, if [isSaveObject](../Game-Script-Environment/Classes/ScriptableObjectClass.md#issaveobject) is enabled) A [Storage](../Game-Script-Environment/Userdata/Storage.md) object that can be used to store data for the next time loading this object after being unloaded. |
| `data` | any | Data from the "data" json element. |
| `params` | any | Parameter sent to [sm.scriptableObject.createScriptableObject](../Game-Script-Environment/Static-Functions/sm.scriptableObject.md#createscriptableobject). |
