Some developers like using the command line extensively. Godot is designed to be friendly to them, so here are the steps for working entirely from the command line. Given the engine relies on almost no external libraries, initialization times are pretty fast, making it suitable for this workflow.
Note
On Windows and Linux, you can run a Godot binary in a terminal by specifying its relative or absolute path.
On macOS, the process is different due to Godot being contained within an.app bundle (which is a folder, not a file). To run a Godot binary from a terminal on macOS, you have to cd to the folder where the Godot application bundle is located, then run Godot.app/Contents/MacOS/Godotfollowed by any command line arguments. If you've renamed the application bundle from Godot to another name, make sure to edit this command line accordingly.
Available in editor builds, debug export templates and release export templates.
Available in editor builds and debug export templates only.
Only available in editor builds.
Note that unknown command line arguments have no effect whatsoever. The engine will not warn you when using a command line argument that doesn't exist with a given build type.
General options
Command
Description
-h, --help
Display the list of command line options.
--version
Display the version string.
-v, --verbose
Use verbose stdout mode.
-q, --quiet
Quiet mode, silences stdout messages. Errors are still displayed.
Run options
Command
Description
--, ++
Separator for user-provided arguments. Following arguments are not used by the engine, but can be read from OS.get_cmdline_user_args().
-e, --editor
Start the editor instead of running the scene.
-p, --project-manager
Start the Project Manager, even if a project is auto-detected.
--debug-server
Start the editor debug server (://<host/IP>[:], e.g. tcp://127.0.0.1:6007)
--quit
Quit after the first iteration.
--quit-after
Quit after the given number of iterations. Set to 0 to disable.
-l, --language
Use a specific locale. follows the format language_Script_COUNTRY_VARIANT where language is a 2 or 3-letter language code in lowercase and the rest is optional. See Locale codes for more details.
--path
Path to a project ( must contain a 'project.godot' file).
-u, --upwards
Scan folders upwards for 'project.godot' file.
--main-pack
Path to a pack (.pck) file to load.
--render-thread
Render thread mode ('unsafe', 'safe', 'separate'). See Thread Modelfor more details.
--remote-fs
Remote filesystem (<host/IP>[:] address).
--remote-fs-password
Password for remote filesystem.
--audio-driver
Audio driver. Use --help first to display the list of available drivers.
--display-driver
Display driver (and rendering driver). Use --help first to display the list of available drivers.
--rendering-method
Renderer name. Requires driver support.
--rendering-driver
Rendering driver (depends on display driver). Use --help first to display the list of available drivers.
--gpu-index <device_index>
Use a specific GPU (run with --verbose to get available device list).
--text-driver
Text driver (Fonts, BiDi, shaping).
--tablet-driver
Pen tablet input driver.
--headless
Enable headless mode (--display-driver headless --audio-driver Dummy). Useful for servers and with --script.
--write-movie
Run the engine in a way that a movie is written (usually with .avi or .png extension).--fixed-fps is forced when enabled, but can be used to change movie FPS.--disable-vsync can speed up movie writing but makes interaction more difficult.--quit-after can be used to specify the number of frames to write.
Display options
Command
Description
-f, --fullscreen
Request fullscreen mode.
-m, --maximized
Request a maximized window.
-w, --windowed
Request windowed mode.
-t, --always-on-top
Request an always-on-top window.
--resolution x
Request window resolution.
--position ,
Request window position.
--screen
Request window screen.
--single-window
Use a single window (no separate subwindows).
--xr-mode
Select XR mode ('default', 'off', 'on').
Debug options
Command
Description
-d, --debug
Debug (local stdout debugger).
-b, --breakpoints
Breakpoint list as source::line comma-separated pairs, no spaces (use %20 instead).
--profiling
Enable profiling in the script debugger.
--gpu-profile
Show a GPU profile of the tasks that took the most time during frame rendering.