Files
gh-dev-gom-claude-code-mark…/skills/references/COMMANDS_SCENE.md
2025-11-29 18:19:28 +08:00

7.7 KiB

Unity Editor Toolkit - Scene Management Commands

Complete reference for scene management commands.

Last Updated: 2025-01-25 Commands: 7 commands


cd && node .unity-websocket/uw scene current

Get current active scene information.

Usage:

cd <unity-project-root> && node .unity-websocket/uw scene current [options]

Options:

--json                 Output in JSON format
--timeout <ms>         Connection timeout in milliseconds (default: 30000)
-h, --help             Display help for command

Examples:

# Get current scene info
cd <unity-project-root> && node .unity-websocket/uw scene current

# Get JSON output
cd <unity-project-root> && node .unity-websocket/uw scene current --json

cd && node .unity-websocket/uw scene list

List all loaded scenes.

Usage:

cd <unity-project-root> && node .unity-websocket/uw scene list [options]

Options:

--json                 Output in JSON format
--timeout <ms>         Connection timeout in milliseconds (default: 30000)
-h, --help             Display help for command

Examples:

# List all scenes
cd <unity-project-root> && node .unity-websocket/uw scene list

# Get JSON output
cd <unity-project-root> && node .unity-websocket/uw scene list --json

cd && node .unity-websocket/uw scene load

Load scene by name or path.

Usage:

cd <unity-project-root> && node .unity-websocket/uw scene load <name> [options]

Arguments:

<name>                 Scene name or path (without .unity extension)

Options:

-a, --additive         Load scene additively (don't unload current scenes)
--json                 Output in JSON format
--timeout <ms>         Connection timeout in milliseconds (default: 30000)
-h, --help             Display help for command

Examples:

# Load scene (replace current)
cd <unity-project-root> && node .unity-websocket/uw scene load "MainMenu"

# Load scene additively
cd <unity-project-root> && node .unity-websocket/uw scene load "UIOverlay" --additive

# Load scene by path
cd <unity-project-root> && node .unity-websocket/uw scene load "Assets/Scenes/Level1"

cd && node .unity-websocket/uw scene new

Create a new scene.

Usage:

cd <unity-project-root> && node .unity-websocket/uw scene new [options]

Options:

-e, --empty            Create empty scene (no default camera/light)
-a, --additive         Add new scene without replacing current scenes
--json                 Output in JSON format
--timeout <ms>         Connection timeout in milliseconds (default: 30000)
-h, --help             Display help for command

Examples:

# Create new scene with default objects (Main Camera, Directional Light)
cd <unity-project-root> && node .unity-websocket/uw scene new

# Create empty scene
cd <unity-project-root> && node .unity-websocket/uw scene new --empty

# Create new scene additively (keep current scenes)
cd <unity-project-root> && node .unity-websocket/uw scene new --additive

# Create empty scene additively
cd <unity-project-root> && node .unity-websocket/uw scene new -e -a

cd && node .unity-websocket/uw scene save

Save scene to disk.

Usage:

cd <unity-project-root> && node .unity-websocket/uw scene save [path] [options]

Arguments:

[path]                 Optional path for Save As (e.g., "Assets/Scenes/NewScene.unity")

Options:

-s, --scene <name>     Specific scene name to save (default: active scene)
--json                 Output in JSON format
--timeout <ms>         Connection timeout in milliseconds (default: 30000)
-h, --help             Display help for command

Examples:

# Save active scene
cd <unity-project-root> && node .unity-websocket/uw scene save

# Save As - save to new location
cd <unity-project-root> && node .unity-websocket/uw scene save "Assets/Scenes/Level2.unity"

# Save specific scene (multi-scene editing)
cd <unity-project-root> && node .unity-websocket/uw scene save --scene "UIScene"

cd && node .unity-websocket/uw scene unload

Unload a scene from the editor.

Usage:

cd <unity-project-root> && node .unity-websocket/uw scene unload <name> [options]

Arguments:

<name>                 Scene name or path to unload

Options:

-r, --remove           Remove scene completely (default: just unload/close)
--json                 Output in JSON format
--timeout <ms>         Connection timeout in milliseconds (default: 30000)
-h, --help             Display help for command

Examples:

# Unload scene by name
cd <unity-project-root> && node .unity-websocket/uw scene unload "UIOverlay"

# Unload scene by path
cd <unity-project-root> && node .unity-websocket/uw scene unload "Assets/Scenes/Level1.unity"

# Remove scene completely
cd <unity-project-root> && node .unity-websocket/uw scene unload "TempScene" --remove

Note: Cannot unload the last remaining scene. At least one scene must always be loaded.


cd && node .unity-websocket/uw scene set-active

Set a scene as the active scene (for multi-scene editing).

Usage:

cd <unity-project-root> && node .unity-websocket/uw scene set-active <name> [options]

Arguments:

<name>                 Scene name or path to set as active

Options:

--json                 Output in JSON format
--timeout <ms>         Connection timeout in milliseconds (default: 30000)
-h, --help             Display help for command

Examples:

# Set active scene by name
cd <unity-project-root> && node .unity-websocket/uw scene set-active "MainScene"

# Set active scene by path
cd <unity-project-root> && node .unity-websocket/uw scene set-active "Assets/Scenes/Level1.unity"

Note: The target scene must be loaded before it can be set as active.


Global Options

All commands support these global options:

-V, --version          Output the version number
-v, --verbose          Enable verbose logging
-p, --port <number>    Unity WebSocket port (overrides auto-detection)
-h, --help             Display help for command

Examples:

# Check CLI version
cd <unity-project-root> && node .unity-websocket/uw --version

# Enable verbose logging
cd <unity-project-root> && node .unity-websocket/uw --verbose scene current

# Use specific port
cd <unity-project-root> && node .unity-websocket/uw --port 9501 scene load "Level1"

Notes

Port Auto-Detection

Unity Editor Toolkit CLI automatically detects the Unity WebSocket server port by reading .unity-websocket/server-status.json in the Unity project directory. You only need to specify --port if:

  • Running multiple Unity Editor instances
  • Server is using non-default port range

JSON Output

All commands support --json flag for machine-readable output. Useful for:

  • CI/CD pipelines
  • Automation scripts
  • Integration with other tools

Timeout Configuration

Default timeout is 30 seconds (30000ms). Increase for operations that may take longer:

# Longer timeout for complex operations
cd <unity-project-root> && node .unity-websocket/uw scene load "Level1" --timeout 60000

Error Handling

Commands return appropriate exit codes:

  • 0: Success
  • 1: Error (connection failed, command failed, invalid parameters, etc.)

Check error messages for details on failures.


See Also: