# Included Commands

### Core Commands

Assortment of essential commands.

| Command     | Description                                     |
| ----------- | ----------------------------------------------- |
| `TimeScale` | Sets the scale at which time passes.            |
| `Print`     | Writes a message to the console.                |
| `Clear`     | Clears the console.                             |
| `Help`      | Gives a list of all current commands.           |
| `Help`      | Describes the specified command.                |
| `Quit`      | Quits the application immediately. (build only) |

### Scene Commands

Commands for managing and interacting with scenes in Unity.

| Command                 | Description                                             |
| ----------------------- | ------------------------------------------------------- |
| `Scene.Load`            | Loads a scene from a specified name.                    |
| `Scene.Reload`          | Reloads the currently loaded scene.                     |
| `Scene.AddToBuild`      | Adds the specified scene to build settings.             |
| `Scene.AddToBuild`      | Adds the currently active scene to the build settings.  |
| `Scene.RemoveFromBuild` | Removes the specified scene from build settings.        |
| `Scene.RemoveFromBuild` | Removes the currently active scene from build settings. |
| `Scene.GetAll`          | Prints the names of all scenes.                         |

### Bind Commands

Bind commands are used to create and manage keybinds in-game, which persist across game sessions.

| Command     | Description                                       |
| ----------- | ------------------------------------------------- |
| `Bind`      | Binds the specified command to the specified key. |
| `Unbind`    | Unbinds any command from the specified key.       |
| `UnbindAll` | Unbinds any command from all bound keys.          |

### Create Commands

Commands for quickly generating standard assets like scenes, scripts, and prefabs.

| Command             | Description                                                                 |
| ------------------- | --------------------------------------------------------------------------- |
| `Create.Scene`      | Creates a new Scene in the current Project folder.                          |
| `Create.Folder`     | Puts selected assets into a new folder.                                     |
| `Create.Script`     | Creates a new script in the current Project folder.                         |
| `Create.Script`     | Creates a new script within given namespace, in the current Project folder. |
| `Create.Material`   | Creates a new Material in the current Project folder.                       |
| `Create.UXML`       | Creates a new UI Document in the current Project folder.                    |
| `Create.Prefab`     | Creates a new prefab in the current Project folder.                         |
| `Create.GameObject` | Creates a new GameObject in the scene.                                      |

### Name Commands

Name commands provide functionality to rename assets in your project, and objects in your hierarchy.

| Command        | Description                                           |
| -------------- | ----------------------------------------------------- |
| `Name.Prefix`  | Renames selected assets to have a prefix.             |
| `Name.Suffix`  | Renames selected assets to have a suffix.             |
| `Name.Rename`  | Renames selected assets.                              |
| `Name.Remove`  | Remove matching substrings from selected asset names. |
| `Name.Replace` | Replace matching substrings in selected asset names.  |

### Object Commands

Commands for modifying and managing game objects in the scene.

| Command            | Description                                                                       |
| ------------------ | --------------------------------------------------------------------------------- |
| `Object.Position`  | Sets the position of the specified game object.                                   |
| `Object.Rotation`  | Sets the rotation of the specified game object.                                   |
| `Object.Scale`     | Sets the scale of the specified game object.                                      |
| `Object.Transform` | Sets the position, rotation and scale of the specified game object.               |
| `Object.Reset`     | Resets the position, rotation and scale of the specified game object.             |
| `Object.Spawn`     | Instantiates the specified prefab in the scene, at an optional position.          |
| `Object.Destroy`   | Destroys the specified game object.                                               |
| `Object.Clone`     | Duplicates an already existing game object in the scene, at an optional position. |
| `Object.LookAt`    | Rotates the specified game object to face the target game object.                 |

### Ambient Commands

Commands for configuring ambient lighting settings.

| Command                | Description                                               |
| ---------------------- | --------------------------------------------------------- |
| `Ambient.Color`        | Sets the color of flat ambient light.                     |
| `Ambient.SkyColor`     | Sets the color of ambient light coming from above.        |
| `Ambient.GroundColor`  | Sets the color of ambient light coming from below.        |
| `Ambient.EquatorColor` | Sets the color of ambient light coming from the sides.    |
| `Ambient.Intensity`    | Sets how much the ambient light source affects the scene. |
| `Ambient.Source`       | Sets the ambient lighting mode (skybox, gradient, color)  |

### Build Commands

Commands for building your program for various platforms.

| Command         | Description                                             |
| --------------- | ------------------------------------------------------- |
| `Build.Windows` | Builds a Windows 64-bit executable with the given name. |
| `Build.Linux`   | Builds a Linux executable with the given name.          |
| `Build.Android` | Builds an Android APK with the given name.              |
| `Build.iOS`     | Builds an iOS application with the given name.          |
| `Build.OSX`     | Builds an macOS application with the given name.        |

### Camera Commands

Camera commands manage various properties and actions related to the main camera.

| Command        | Description                                        |
| -------------- | -------------------------------------------------- |
| `Camera.FOV`   | Changes the Field of View of the main camera.      |
| `Camera.Align` | Aligns the main camera with the scene-view camera. |

### Copy Commands

Commands for helping with copying game object variables to clipboard.

| Command          | Description                                                                        |
| ---------------- | ---------------------------------------------------------------------------------- |
| `Copy.Position`  | Copies the position of the specified game object to clipboard.                     |
| `Copy.Rotation`  | Copies the rotation of the specified game object to clipboard.                     |
| `Copy.Scale`     | Copies the scale of the specified game object to clipboard.                        |
| `Copy.Transform` | Copies the position, rotation and scale of the specified game object to clipboard. |

### Fog Commands

Fog commands to adjust different fog settings.

| Command             | Description                            |
| ------------------- | -------------------------------------- |
| `Fog.Enabled`       | Toggles whether fog is enabled or not. |
| `Fog.StartDistance` | Changes the starting distance of fog.  |
| `Fog.EndDistance`   | Changes the ending distance of fog.    |
| `Fog.Density`       | Changes the density of fog.            |
| `Fog.Color`         | Changes color of the fog.              |
| `Fog.Mode`          | Changes the fog calculation mode.      |

### Layout Commands

Commands for loading and saving Unity editor layouts.

| Command       | Description                         |
| ------------- | ----------------------------------- |
| `Layout.Load` | Loads a layout with the given name. |

### Open Commands

Commands to open various types of assets in the Unity Editor.

| Command          | Description                              |
| ---------------- | ---------------------------------------- |
| `Open.Script`    | Opens the specified script.              |
| `Open.USS`       | Opens the specified style sheet.         |
| `Open.UXML`      | Opens the specified UI Document.         |
| `Open.Shader`    | Opens the specified shader.              |
| `Open.Animation` | Opens the specified animation clip.      |
| `Open.Animator`  | Opens the specified animator controller. |
| `Open.Prefab`    | Opens the specified prefab.              |

### Physics Commands

Commands for modifying and managing physics-related properties.

| Command                  | Description                                       |
| ------------------------ | ------------------------------------------------- |
| `Physics.Gravity`        | Sets the gravity (Y-axis).                        |
| `Physics.Timestep`       | Sets the interval at which physics updates occur. |
| `Physics.SimulationMode` | Sets the physics simulation mode.                 |

### Player Prefs Commands

Commands for managing PlayerPrefs data.

| Command                 | Description                                 |
| ----------------------- | ------------------------------------------- |
| `PlayerPrefs.SetInt`    | Sets an int value for the given key.        |
| `PlayerPrefs.SetFloat`  | Sets a float value for the given key.       |
| `PlayerPrefs.SetString` | Sets a string value for the given key.      |
| `PlayerPrefs.GetInt`    | Gets an integer value for the given key.    |
| `PlayerPrefs.GetFloat`  | Gets a float value for the given key.       |
| `PlayerPrefs.GetString` | Gets a string value for the given key.      |
| `PlayerPrefs.DeleteKey` | Deletes the specified key from PlayerPrefs. |
| `PlayerPrefs.ClearAll`  | Clears all PlayerPrefs data.                |

### Player Settings Commands

Commands for modifying player build settings.

| Command                     | Description                                  |
| --------------------------- | -------------------------------------------- |
| `Settings.ScriptingBackend` | Sets the scripting backend (Mono or IL2CPP). |

### Screen Commands

Commands for managing various display settings for the application.

| Command             | Description                                    |
| ------------------- | ---------------------------------------------- |
| `Screen.FPS`        | Sets the target framerate.                     |
| `Screen.VSync`      | Sets whether VSync should be enabled.          |
| `Screen.Fullscreen` | Sets whether the application is in fullscreen. |
| `Screen.Resolution` | Sets the resolution of the application.        |
