Alguns desenvolvedores gostam de usar a linha de comando extensivamente. Godot é projetado para funcionar com elas, então aqui estão os passos para trabalhar inteiramente a partir da linha de comando. Como a engine depende de quase nenhuma biblioteca externa, os tempos de inicialização são muito rápidos, o que o torna adequado para esse fluxo de trabalho.
Nota
No Windows e Linux, você pode rodar um binário do Godot em um terminal especificando o seu caminho absoluto ou relativo.
On macOS, the process is different due to Godot being contained within a
.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/Godot
followed 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.
Disponível em compilações de editor, modelos de exportação de depuração e modelos de exportação de versão.
|depurar| Disponível somente em compilações do editor e modelos de exportação de depuração.
Only available in editor builds, and export templates compiled with disable_path_overrides=false.
Apenas disponível em compilações de editores.
Note que os argumentos de linha de comando desconhecidos não têm nenhum efeito. O motor não vai avisá-lo ao usar um argumento de linha de comando que não existe com um determinado tipo de compilação.
Opções gerais
Comando
Descrição
-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.
--no-header
Não exibir a versão da engine e o cabeçalho do método de renderização ao iniciar.
Opções de execução
Comando
Descrição
--, ++
Separador para argumentos fornecidos pelo usuário. Os argumentos seguintes não são usados pelo motor, mas podem ser lidos através de OS.get_cmdline_user_args().
-e, --editor
Inicia o editor em vez de executar a cena.
-p, --project-manager
Inicie o Gerenciador de Projetos, mesmo que um projeto seja detectado automaticamente.
--recovery-mode
Inicia o editor em modo de recuperação, que desativa recursos que normalmente podem causar falhas na inicialização, como scripts de ferramenta, plugins do editor, complementos GDExtension e outros.
--debug-server<uri>
Inicia o servidor de depuração do editor (<protocol>://<host/IP>[:<port>], por exemplo, tcp://127.0.0.1:6007)
--dap-port<port>
Usa a porta especificada para o Protocolo de Depuração do GDScript (Debug Adapter Protocol). Faixa de portas recomendada: [1024,49151].
--lsp-port<port>
Usa a porta especificada para o Protocolo de Servidor de Linguagem do GDScript (Language Server Protocol). Faixa de portas recomendada: [1024,49151].
--quit
Quit after the first iteration.
--quit-after
Sai após o número de iterações especificado. Defina como 0 para desativar.
-l, --language<locale>
Usa uma localização (locale) específico. <locale> segue o formato language_Script_COUNTRY_VARIANT, onde "language" é um código de idioma de 2 ou 3 letras em minúsculas e o restante é opcional. Veja Locale codes para mais detalhes.
--path<diretório>
Path to a project (<directory> must contain a "project.godot" file).
--scene<path>
Path or UID of a scene in the project that should be started.
--main-pack<arquivo>
Path to a pack (.pck) file to load.
--render-thread<modo>
Render thread mode ("unsafe", "safe", "separate"). See Thread Model
for more details.
--remote-fs<endereço>
Remote filesystem (<host/IP>[:<port>] address).
--remote-fs-password<password>
Senha para Arquivos remoto.
--audio-driver<driver>
Audio driver. Use --help first to display the list of available drivers.
--display-driver<driver>
Display driver (and rendering driver). Use --help first to display the list of available drivers.
--audio-output-latency<ms>
Override audio output latency in milliseconds (default is 15 ms). Lower values make sound playback more reactive but increase CPU usage, and may
result in audio cracking if the CPU can't keep up.
--rendering-method<renderer>
Nome do renderizador. Requer suporte de driver.
--rendering-driver<driver>
Rendering driver (depends on display driver). Use --help first to display the list of available drivers.
--gpu-index<device_index>
Use uma GPU específica (execute com --verbose para obter a lista de dispositivos disponíveis).
--text-driver<driver>
Driver de texto (fontes, BiDi, modelagem).
--tablet-driver<driver>
Driver de entrada para mesa digitalizadora.
--headless
Habilita o modo headless (--display-driverheadless--audio-driverDummy). Útil para servidores e com --script.
--log-file
Write output/error log to the specified path instead of the default location defined by the project. <file> path should be absolute or
relative to the project directory.
--write-movie<file>
Execute a engine de forma que um filme seja gravado (geralmente com extensão .avi ou .png). --fixed-fps é forçado quando habilitado, mas pode ser usado para alterar o FPS do filme. --disable-vsync pode acelerar a gravação do filme, mas dificulta a interação. --quit-after pode ser usado para especificar o número de quadros a serem gravados.
Breakpoint list as source::line comma-separated pairs, no spaces (use %20 instead).
--ignore-error-breaks
Se o depurador estiver conectado, impede o envio de breakpoints de erro.
--profiling
Enable profiling in the script debugger.
--gpu-profile
Exibe um perfil de desempenho da GPU das tarefas que mais demoraram durante a renderização do quadro.
--gpu-validation
Habilita as camadas de validação da API gráfica validation layers para depuração.
--gpu-abort
|depurar| Abortar em erros de GPU (geralmente erros da camada de validação) pode ajudar a ver o problema se o seu sistema travar.
--generate-spirv-debug-info
Gera informações de depuração SPIR-V. Isso permite a depuração de shaders em nível de código-fonte com o RenderDoc.
--extra-gpu-memory-tracking
Habilita o rastreamento adicional de memória (veja a referência da classe para RenderingDevice.get_driver_and_device_memory_report() e métodos relacionados). Atualmente, isso só está implementado para Vulkan. Ativar esse recurso pode causar falhas em alguns sistemas devido a drivers com bugs ou problemas no Vulkan Loader. Veja https://github.com/godotengine/godot/issues/95967
--accurate-breadcrumbs
Força barreiras entre breadcrumbs. Útil para identificar um comando que esteja causando reinicializações da GPU. Atualmente, isso só está implementado para Vulkan.
--remote-debug<uri>
Depuração remota (<protocol>://<host/IP>[:<port>], por exemplo tcp://127.0.0.1:6007).
--single-threaded-scene
A árvore de cenas é executada em modo de thread única. Os grupos de subthreads são desabilitados e executados na thread principal.
--debug-collisions
Show collision shapes when running the scene.
--debug-paths
Show path lines when running the scene.
--debug-navigation
Show navigation polygons when running the scene.
--debug-avoidance
Show navigation avoidance debug visuals when running the scene.
--debug-stringnames
Imprime todas as alocações de StringName no stdout quando a engine é encerrada.
--debug-canvas-item-redraw
Exibe um retângulo sempre que um item de canvas solicita uma atualização (útil para diagnosticar o modo de baixo uso de processador).
--max-fps<fps>
Define um número máximo de quadros por segundo renderizados (pode ser usado para limitar o consumo de energia). Um valor de 0 resulta em taxa de quadros ilimitada.
--frame-delay<ms>
Simulate high CPU load (delay each frame by <ms> milliseconds). Do not use as a FPS limiter; use
--max-fps instead.
--time-scale<escala>
Force time scale (higher values are faster, 1.0 is normal speed).
--disable-vsync
Força a desativação da sincronização vertical, mesmo se habilitada nas configurações do projeto. Não substitui a aplicação de V-Sync no nível do driver.
--disable-render-loop
Disable render loop so rendering only occurs when called explicitly from script.
--disable-crash-handler
Disable crash handler when supported by the platform code.
--fixed-fps<fps>
Force a fixed number of frames per second. This setting disables real-time synchronization.
--delta-smoothing<enable>
Enable or disable frame delta smoothing ("enable", "disable").
--print-fps
Print the frames per second to the stdout.
--editor-pseudolocalization
Habilita a pseudolocalização para o editor e o gerenciador de projetos.
Ferramentas independentes
Comando
Descrição
-s, --script<script>
Run a script. <script> must be a resource path relative to the project (myscript.gd will be interpreted as res://my_script.gd)
or an absolute filesystem path (for example, on Windows: C:/tmp/my_script.gd).
--main-loop<main_loop_name>
Run a MainLoop specified by its global class name.
--check-only
Only parse for errors and quit (use with --script).
--import
Inicia o editor, aguarda a importação de quaisquer recursos e, em seguida, encerra. Implica --editor e --quit.
--export-release<preset><path>
Export the project in release mode using the given preset and output path. The preset name should match one defined in "export_presets.cfg".
<path> should be absolute or relative to the project directory, and include the filename for the binary (e.g. "builds/game.exe"). The target
directory must exist.
--export-debug<preset><path>
Semelhante ao --export-release, mas usa o template de depuração. Implica --import.
--export-pack<preset><caminho>
Like --export-release, but only export the game pack for the given preset. The <path> extension determines whether it will be in PCK
or ZIP format. Implies --import.
--export-patch<preset><path>
Export pack with changed files only. See --export-pack description for other considerations.
--patches<paths>
List of patches to use with --export-patch. The list is comma-separated.
--install-android-build-template
Install the Android build template. Used in conjunction with --export-release or --export-debug.
Mostrar que elementos serão renomeados ao converter o projeto de Godot 3.x para Godot 4.x.
--doctool[<path>]
Dump the engine API reference to the given <path> in XML format, merging if existing files are found.
--no-docbase
Impede a geração dos tipos base (usado com --doctool).
--gdextension-docs
Rather than dumping the engine API, generate API reference from all the GDExtensions loaded in the current project (used with
--doctool).
--gdscript-docs<path>
Rather than dumping the engine API, generate API reference from the inline documentation in the GDScript files found in <path>
(used with --doctool).
--build-solutions
Compila as soluções de script (por exemplo, para projetos em C#). Implica --editor e requer um projeto válido para editar.
--dump-gdextension-interface
Generate GDExtension header file "gdextension_interface.h" in the current folder. This file is the base file required to implement
a GDExtension.
--dump-gdextension-interface-json
Generate a JSON dump of the GDExtension interface named "gdextension_interface.json" in the current folder.
--dump-extension-api
Generate JSON dump of the Godot API for GDExtension bindings named "extension_api.json" in the current folder.
--dump-extension-api-with-docs
Generate JSON dump of the Godot API like the previous option, but including documentation.
--validate-extension-api<path>
Valida um arquivo de API de extensão despejado (com a opção acima) de uma versão anterior da engine para garantir a compatibilidade da API. Se incompatibilidades ou erros forem detectados, o código de retorno será diferente de zero.
--benchmark
Faça uma avaliação comparativa do tempo de execução e imprima-o no console.
--benchmark-file<path>
Faça um benchmark do tempo de execução e salve-o em um arquivo específico no formato JSON. O caminho deve ser absoluto.
--test[--help]
Run unit tests (requires compiling the engine with tests=yes). Use --test--help for more information.
It is recommended to place your Godot editor binary in your PATH environment
variable, so it can be executed easily from any place by typing godot.
You can do so on Linux by placing the Godot binary in /usr/local/bin and
making sure it is called godot (case-sensitive).
Para fazer isso facilmente no Windows ou macOS, você pode instalar o Godot usando Scoop (no Windows) ou Homebrew (no macOS). Isso tornará automaticamente a cópia do Godot instalada disponível no PATH:
# Add "Extras" bucket
scoopbucketaddextras
# Standard editor:
scoopinstallgodot
# Editor with C# support (will be available as `godot-mono` in `PATH`):
scoopinstallgodot-mono
# Standard editor:
brewinstallgodot
# Editor with C# support (will be available as `godot-mono` in `PATH`):
brewinstallgodot-mono
Dependendo de onde seu binário Godot está localizado e qual é seu diretório de trabalho atual, talvez seja necessário definir o caminho para o seu projeto para que qualquer um dos comandos a seguir funcione corretamente.
When running the editor, this can be done by giving the path to the project.godot file
of your project as either the first argument, like this:
Ao iniciar a partir de um subdiretório do seu projeto, use o argumento --upwards para que o Godot encontre automaticamente o arquivo project.godot pesquisando recursivamente nos diretórios pais.
Por exemplo, executar uma cena (conforme explicado abaixo) aninhada em um subdiretório pode parecer assim quando seu diretório de trabalho estiver no mesmo caminho:
Running the editor is done by executing Godot with the -e flag. This
must be done from within the project directory or by setting the project path as explained above,
otherwise the command is ignored and the Project Manager appears.
godot-e
Ao passar o caminho completo para o arquivo project.godot, o sinalizador (flag) -e pode ser omitido.
Se uma cena foi criada e salva, ela pode ser editada posteriormente, executando o mesmo código com aquela cena como argumento.
Godot is friends with your filesystem and will not create extra metadata files.
Use rm to erase a scene file. Make sure nothing references that scene.
Otherwise, an error will be thrown upon opening the project.
Catching errors in the command line can be a difficult task because they
scroll quickly. For this, a command line debugger is provided by adding
-d. It works for running either the game or a single scene.
Exporting the project from the command line is also supported. This is
especially useful for continuous integration setups.
Nota
O uso do argumento de linha de comando --headless é obrigatório em plataformas que não têm acesso à GPU (como integração contínua). Em plataformas com acesso à GPU, --headless impede que uma janela seja aberta durante a exportação do projeto.
# `godot` must be a Godot editor binary, not an export template.# Also, export templates must be installed for the editor# (or a valid custom export template must be defined in the export preset).
godot--headless--export-release"Linux/X11"/var/builds/project
godot--headless--export-releaseAndroid/var/builds/project.apk
O nome do preset deve corresponder ao nome de um preset de exportação definido no arquivo export_presets.cfg do projeto. Se o nome da predefinição contiver espaços ou caracteres especiais (como "Windows Desktop"), ele deve ser colocado entre aspas.
To export a debug version of the game, use the --export-debug switch instead
of --export-release. Their parameters and usage are the same.
To export only a PCK file, use the --export-pack option followed by the
preset name and output path, with the file extension, instead of
--export-release or --export-debug. The output path extension determines
the package's format, either PCK or ZIP.
Aviso
When specifying a relative path as the path for --export-release, --export-debug
or --export-pack, the path will be relative to the directory containing
the project.godot file, not relative to the current working directory.
It is possible to run a .gd script from the command line.
This feature is especially useful in large projects, e.g. for batch
conversion of assets or custom import/export.
O script deve herdar de SceneTree ou MainLoop.
Here is an example sayhello.gd, showing how it works:
# Prints "Hello!" to standard output.
godot-ssayhello.gd
Se nenhum project.godot existir no caminho, o caminho atual é assumido como o diretório de trabalho atual (a menos que -path seja especificado).
O caminho do script será interpretado como um caminho de recurso relativo ao projeto, neste caso, res://sayhello.gd. Você também pode usar um caminho absoluto do sistema de arquivos, o que é útil se o script estiver localizado fora do diretório do projeto.
A primeira linha de sayhello.gd acima é comumente referida como shebang. Se o binário Godot estiver em seu PATH como godot, ele permite que você execute o script da seguinte forma em distribuições Linux modernas, bem como no macOS:
# Mark script as executable.
chmod+xsayhello.gd
# Prints "Hello!" to standard output.
./sayhello.gd
Se o acima não funcionar em sua versão atual do Linux ou macOS, você sempre pode fazer com que o shebang execute Godot diretamente de onde está localizado da seguinte maneira: