Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

OS

Eredita: Object

Fornisce l'accesso alle funzionalità comuni del sistema operativo.

Descrizione

La classe OS racchiude le funzionalità più comuni per comunicare con il sistema operativo host, come il driver video, i ritardi, le variabili di ambiente, l'esecuzione di binari, la riga di comando, ecc.

Nota: In Godot 4, le funzioni OS riguardo la gestione delle finestre, agli appunti e al TTS sono state spostate nel singleton DisplayServer (e nella classe Window). Le funzioni riguardo il tempo sono state rimosse e sono disponibili solo nella classe Time.

Tutorial

Proprietà

bool

delta_smoothing

true

bool

low_processor_usage_mode

false

int

low_processor_usage_mode_sleep_usec

6900

Metodi

void

add_logger(logger: Logger)

void

alert(text: String, title: String = "Alert!")

void

close_midi_inputs()

void

crash(message: String)

int

create_instance(arguments: PackedStringArray)

int

create_process(path: String, arguments: PackedStringArray, open_console: bool = false)

void

delay_msec(msec: int) const

void

delay_usec(usec: int) const

int

execute(path: String, arguments: PackedStringArray, output: Array = [], read_stderr: bool = false, open_console: bool = false)

Dictionary

execute_with_pipe(path: String, arguments: PackedStringArray, blocking: bool = true)

Key

find_keycode_from_string(string: String) const

String

get_cache_dir() const

PackedStringArray

get_cmdline_args()

PackedStringArray

get_cmdline_user_args()

String

get_config_dir() const

PackedStringArray

get_connected_midi_inputs()

String

get_data_dir() const

String

get_distribution_name() const

PackedByteArray

get_entropy(size: int)

String

get_environment(variable: String) const

String

get_executable_path() const

PackedStringArray

get_granted_permissions() const

String

get_keycode_string(code: Key) const

String

get_locale() const

String

get_locale_language() const

int

get_main_thread_id() const

Dictionary

get_memory_info() const

String

get_model_name() const

String

get_name() const

int

get_process_exit_code(pid: int) const

int

get_process_id() const

int

get_processor_count() const

String

get_processor_name() const

PackedStringArray

get_restart_on_exit_arguments() const

int

get_static_memory_peak_usage() const

int

get_static_memory_usage() const

StdHandleType

get_stderr_type() const

StdHandleType

get_stdin_type() const

StdHandleType

get_stdout_type() const

String

get_system_ca_certificates()

String

get_system_dir(dir: SystemDir, shared_storage: bool = true) const

String

get_system_font_path(font_name: String, weight: int = 400, stretch: int = 100, italic: bool = false) const

PackedStringArray

get_system_font_path_for_text(font_name: String, text: String, locale: String = "", script: String = "", weight: int = 400, stretch: int = 100, italic: bool = false) const

PackedStringArray

get_system_fonts() const

String

get_temp_dir() const

int

get_thread_caller_id() const

String

get_unique_id() const

String

get_user_data_dir() const

String

get_version() const

String

get_version_alias() const

PackedStringArray

get_video_adapter_driver_info() const

bool

has_environment(variable: String) const

bool

has_feature(tag_name: String) const

bool

is_debug_build() const

bool

is_keycode_unicode(code: int) const

bool

is_process_running(pid: int) const

bool

is_restart_on_exit_set() const

bool

is_sandboxed() const

bool

is_stdout_verbose() const

bool

is_userfs_persistent() const

Error

kill(pid: int)

Error

move_to_trash(path: String) const

void

open_midi_inputs()

Error

open_with_program(program_path: String, paths: PackedStringArray)

PackedByteArray

read_buffer_from_stdin(buffer_size: int = 1024)

String

read_string_from_stdin(buffer_size: int = 1024)

void

remove_logger(logger: Logger)

bool

request_permission(name: String)

bool

request_permissions()

void

revoke_granted_permissions()

void

set_environment(variable: String, value: String) const

void

set_restart_on_exit(restart: bool, arguments: PackedStringArray = PackedStringArray())

Error

set_thread_name(name: String)

void

set_use_file_access_save_and_swap(enabled: bool)

Error

shell_open(uri: String)

Error

shell_show_in_file_manager(file_or_dir_path: String, open_folder: bool = true)

void

unset_environment(variable: String) const


Enumerazioni

enum RenderingDriver: 🔗

RenderingDriver RENDERING_DRIVER_VULKAN = 0

The Vulkan rendering driver. It requires Vulkan 1.0 support and automatically uses features from Vulkan 1.1, 1.2, and 1.3 if available.

RenderingDriver RENDERING_DRIVER_OPENGL3 = 1

Il driver di rendering OpenGL 3. Utilizza OpenGL 3.3 Core Profile su piattaforme desktop, OpenGL ES 3.0 su dispositivi mobili e WebGL 2.0 su Web.

RenderingDriver RENDERING_DRIVER_D3D12 = 2

The Direct3D 12 rendering driver. It requires the 12_0 feature level and Shader Model 6.0 support.

RenderingDriver RENDERING_DRIVER_METAL = 3

Il driver di rendering Metal.


enum SystemDir: 🔗

SystemDir SYSTEM_DIR_DESKTOP = 0

Fa riferimento al percorso della cartella Desktop.

SystemDir SYSTEM_DIR_DCIM = 1

Fa riferimento al percorso della cartella DCIM (immagini della fotocamera digitale).

SystemDir SYSTEM_DIR_DOCUMENTS = 2

Fa riferimento al percorso della cartella Documenti.

SystemDir SYSTEM_DIR_DOWNLOADS = 3

Fa riferimento al percorso della cartella Download.

SystemDir SYSTEM_DIR_MOVIES = 4

Fa riferimento al percorso della cartella Film (o Video).

SystemDir SYSTEM_DIR_MUSIC = 5

Fa riferimento al percorso della cartella Musica.

SystemDir SYSTEM_DIR_PICTURES = 6

Fa riferimento al percorso della cartella Immagini.

SystemDir SYSTEM_DIR_RINGTONES = 7

Fa riferimento al percorso della cartella Suonerie.


enum StdHandleType: 🔗

StdHandleType STD_HANDLE_INVALID = 0

Il dispositivo I/O standard non è valido. Non è possibile ricevere o inviare dati da questi dispositivi I/O standard.

StdHandleType STD_HANDLE_CONSOLE = 1

Il dispositivo I/O standard è una console. Ciò avviene generalmente quando Godot è eseguito da un terminale senza reindirizzamento. È utilizzato anche per tutti i dispositivi I/O standard quando Godot è eseguito dall'editor, almeno sulle piattaforme desktop.

StdHandleType STD_HANDLE_FILE = 2

Il dispositivo I/O standard è un file normale. Ciò avviene generalmente con il reindirizzamento da un terminale, ad esempio godot > stdout.txt, godot < stdin.txt o godot > stdout_stderr.txt 2>&1.

StdHandleType STD_HANDLE_PIPE = 3

Il dispositivo I/O standard è un FIFO/pipe. Ciò avviene generalmente con l'utilizzo di pipe da un terminale, ad esempio echo "Hello" | godot.

StdHandleType STD_HANDLE_UNKNOWN = 4

Il tipo di dispositivo I/O standard è sconosciuto.


Descrizioni delle proprietà

bool delta_smoothing = true 🔗

  • void set_delta_smoothing(value: bool)

  • bool is_delta_smoothing_enabled()

Se true, il motore filtra il delta temporale misurato tra ogni frame e tenta di compensare la variazione casuale. Funziona solo su sistemi in cui il V-Sync è attivo.

Nota: All'avvio, è uguale a ProjectSettings.application/run/delta_smoothing.


bool low_processor_usage_mode = false 🔗

  • void set_low_processor_usage_mode(value: bool)

  • bool is_in_low_processor_usage_mode()

Se true, il motore ottimizza l'utilizzo ridotto del processore aggiornando lo schermo solo se necessario. Può migliorare il consumo della batteria sui dispositivi mobili.

Nota: All'avvio, è uguale a ProjectSettings.application/run/low_processor_mode.


int low_processor_usage_mode_sleep_usec = 6900 🔗

  • void set_low_processor_usage_mode_sleep_usec(value: int)

  • int get_low_processor_usage_mode_sleep_usec()

La quantità di sospensione tra i frame quando è abilitata la modalità di utilizzo a basso processore, in microsecondi. Valori più alti comporteranno un utilizzo inferiore della CPU. Vedi anche low_processor_usage_mode.

Nota: All'avvio, è uguale a ProjectSettings.application/run/low_processor_mode_sleep_usec.


Descrizioni dei metodi

void add_logger(logger: Logger) 🔗

Aggiunge un logger personalizzato per intercettare il flusso interno di messaggi.


void alert(text: String, title: String = "Alert!") 🔗

Visualizza una finestra di dialogo modale utilizzando l'implementazione della piattaforma host. L'esecuzione del motore è bloccata finché la finestra di dialogo non viene chiusa.


void close_midi_inputs() 🔗

Spegne il driver MIDI del sistema. Godot non riceverà più InputEventMIDI. Vedi anche open_midi_inputs() e get_connected_midi_inputs().

Nota: Questo metodo è implementato su Linux, macOS, Windows e Web.


void crash(message: String) 🔗

Arresta il motore (o l'editor se richiamato all'interno di uno script @tool). Vedi anche kill().

Nota: Questo metodo dovrebbe essere solo utilizzato per testare il gestore dei crash del sistema, non per altri scopi. Per la segnalazione di errori generali, usa (in ordine di preferenza) @GDScript.assert(), @GlobalScope.push_error() o alert().


int create_instance(arguments: PackedStringArray) 🔗

Crea una nuova istanza di Godot che viene eseguita in modo indipendente. Gli argomenti arguments sono utilizzati nell'ordine specificato e separati da uno spazio.

Se il processo viene creato correttamente, questo metodo restituisce l'ID del nuovo processo, che puoi utilizzare per monitorare il processo (e potenzialmente terminarlo con kill()). Se il processo non può essere creato, questo metodo restituisce -1.

Consulta create_process() se desideri eseguire un processo diverso.

Nota: Questo metodo è implementato su Android, Linux, macOS e Windows.


int create_process(path: String, arguments: PackedStringArray, open_console: bool = false) 🔗

Crea un nuovo processo che viene eseguito indipendentemente da Godot. Non terminerà quando Godot termina. Il percorso specificato in path deve esistere ed essere un file eseguibile o un bundle .app per macOS. Il percorso è risolto in base alla piattaforma attuale. Gli argomenti arguments sono utilizzati nell'ordine specificato e separati da uno spazio.

Su Windows, se open_console è true e il processo è un'applicazione da console, verrà aperta una nuova finestra del terminale.

Se il processo viene creato correttamente, questo metodo restituisce il suo ID di processo, che puoi utilizzare per monitorare il processo (e potenzialmente terminarlo con kill()). Altrimenti, questo metodo restituisce -1.

Esempio: Esegui un'altra istanza del progetto:

var pid = OS.create_process(OS.get_executable_path(), [])

Vedi execute() se desideri eseguire un comando esterno e recuperare i risultati.

Nota: Questo metodo è implementato su Android, Linux, macOS e Windows.

Nota: Su macOS, le applicazioni in sandbox sono limitate all'esecuzione di soli eseguibili di supporto incorporati, specificati durante l'esportazione o il bundle .app di sistema, i bundle .app di sistema ignoreranno gli argomenti.


void delay_msec(msec: int) const 🔗

Ritarda l'esecuzione del thread corrente di msec millisecondi. msec deve essere maggiore o uguale a 0. Altrimenti, delay_msec() non fa nulla e stampa un messaggio di errore.

Nota: delay_msec() è un modo bloccante per ritardare l'esecuzione del codice. Per ritardare l'esecuzione del codice in modo non bloccante, puoi usare SceneTree.create_timer(). L'attesa con SceneTreeTimer ritarda l'esecuzione del codice sotto la dichiarazione di await senza influenzare il resto del progetto (o editor, per EditorPlugin e EditorScript).

Nota: Quando delay_msec() viene chiamato sul thread principale, bloccherà il progetto e gli impedirà di ridisegnare e registrare gli input finché il ritardo non sarà trascorso. Quando si utilizza delay_msec() come parte di un EditorPlugin o EditorScript, l'editor verrà bloccato ma non il progetto se è in esecuzione (poiché il progetto è un processo figlio indipendente).


void delay_usec(usec: int) const 🔗

Ritarda l'esecuzione del thread corrente di usec microsecondi. usec deve essere maggiore o uguale a 0. Altrimenti, delay_usec() non fa nulla e stampa un messaggio di errore.

Nota: delay_usec() è un modo bloccante per ritardare l'esecuzione del codice. Per ritardare l'esecuzione del codice in modo non bloccante, puoi usare SceneTree.create_timer(). L'attesa con SceneTreeTimer ritarda l'esecuzione del codice sotto la dichiarazione di await senza influenzare il resto del progetto (o editor, per EditorPlugin e EditorScript).

Nota: Quando delay_usec() viene chiamato sul thread principale, bloccherà il progetto e gli impedirà di ridisegnare e registrare gli input finché il ritardo non sarà trascorso. Quando si utilizza delay_usec() come parte di un EditorPlugin o EditorScript, l'editor verrà bloccato ma non il progetto se è in esecuzione (poiché il progetto è un processo figlio indipendente).


int execute(path: String, arguments: PackedStringArray, output: Array = [], read_stderr: bool = false, open_console: bool = false) 🔗

Esegue il processo specificato in modo bloccante. Il file specificato in path deve esistere ed essere eseguibile. Sarà usata la risoluzione del percorso di sistema. Gli argomenti arguments sono usati nell'ordine specificato, separati da spazi e racchiusi tra virgolette.

Se viene fornito un array output, l'output completo della shell del processo è aggiunto a output come un singolo elemento String. Se read_stderr è true, anche l'output nel canale di error standard è aggiunto all'array.

Su Windows, se open_console è true e il processo è un'app console, è aperta una nuova finestra del terminale.

Questo metodo restituisce il codice di uscita del comando o -1 se il processo non riesce a essere eseguito.

Nota: Il thread principale sarà bloccato fino al termine del comando eseguito. Usa Thread per creare un thread separato che non bloccherà il thread principale, oppure usa create_process() per creare un processo completamente indipendente.

Ad esempio, per recuperare una lista del contenuto della cartella di lavoro:

var output = []
var exit_code = OS.execute("ls", ["-l", "/tmp"], output)

Se si desidera accedere a una shell integrata o eseguire un comando composito, è possibile richiamare una shell specifica della piattaforma. Ad esempio:

var output = []
OS.execute("CMD.exe", ["/C", "cd %TEMP% && dir"], output)

Nota: Questo metodo è implementato su Android, Linux, macOS e Windows.

Nota: Per eseguire un comando integrato dell'interprete dei comandi in Windows, specifica cmd.exe in path, /c come primo argomento e il comando desiderato come secondo argomento.

Nota: Per eseguire un comando integrato in PowerShell, specificare powershell.exe in path, -Command come primo argomento e il comando desiderato come secondo argomento.

Nota: Per eseguire un comando integrato della shell in Unix, specificare il nome dell'eseguibile della shell in path, -c come primo argomento e il comando desiderato come secondo argomento.

Nota: Su macOS, le applicazioni in sandbox possono soltanto eseguire gli eseguibili incorporati ausiliari, specificati durante l'esportazione.

Nota: Su Android, i comandi di sistema come dumpsys possono essere eseguiti solo su un dispositivo radicato.


Dictionary execute_with_pipe(path: String, arguments: PackedStringArray, blocking: bool = true) 🔗

Crea un nuovo processo che è eseguito indipendentemente da Godot con IO reindirizzato. Non terminerà quando Godot termina. Il percorso specificato in path deve esistere ed essere un file eseguibile o un bundle macOS .app. Il percorso è risolto in base alla piattaforma attuale. Gli argomenti arguments sono usati nell'ordine specificato e separati da uno spazio.

Se blocking è false, le pipe create funzionano in modalità non bloccante, ovvero le operazioni di lettura e scrittura verranno restituite immediatamente. Usa FileAccess.get_error() per verificare se l'ultima operazione di lettura o di scrittura ha avuto successo.

Se il processo non può essere creato, questo metodo restituisce un Dictionary vuoto. Altrimenti, questo metodo restituisce un Dictionary con le seguenti chiavi:

  • "stdio" - FileAccess per accedere ai canali stdin e stdout del processo (lettura/scrittura).

  • "stderr" - FileAccess per accedere al canale stderr del processo (sola lettura).

  • "pid" - ID processo come int, che si può utilizzare per monitorare il processo (e potenzialmente terminarlo con kill()).

Nota: Questo metodo è implementato su Android, Linux, macOS e Windows.

Nota: Per eseguire un comando integrato dell'interprete dei comandi in Windows, specifica cmd.exe in path, /c come primo argomento e il comando desiderato come secondo argomento.

Nota: Per eseguire un comando integrato in PowerShell, specificare powershell.exe in path, -Command come primo argomento e il comando desiderato come secondo argomento.

Nota: Per eseguire un comando integrato della shell in Unix, specificare il nome dell'eseguibile della shell in path, -c come primo argomento e il comando desiderato come secondo argomento.

Nota: Su macOS, le applicazioni in sandbox possono soltanto eseguire gli eseguibili incorporati ausiliari, specificati durante l'esportazione o il bundle .app di sistema; i bundle .app di sistema ignoreranno gli argomenti.


Key find_keycode_from_string(string: String) const 🔗

Trova il codice tasto per la stringa specificata. I valori restituiti sono equivalenti alle costanti di Key.

print(OS.find_keycode_from_string("C"))         # Stampa 67 (KEY_C)
print(OS.find_keycode_from_string("Escape"))    # Stampa 4194305 (KEY_ESCAPE)
print(OS.find_keycode_from_string("Shift+Tab")) # Stampa 37748738 (KEY_MASK_SHIFT | KEY_TAB)
print(OS.find_keycode_from_string("Unknown"))   # Stampa 0 (KEY_NONE)

Vedi anche get_keycode_string().


String get_cache_dir() const 🔗

Restituisce la cartella dei dati della cache globale in base agli standard del sistema operativo.

Sulla piattaforma Linux/BSD, questo percorso può essere sovrascritto impostando la variabile d'ambiente XDG_CACHE_HOME prima di avviare il progetto. Consulta Percorsi dei file nei progetti Godot nella documentazione per maggiori informazioni. Vedi anche get_config_dir() e get_data_dir().

Da non confondere con get_user_data_dir(), che restituisce il percorso dei dati utente specifico per il progetto.


PackedStringArray get_cmdline_args() 🔗

Returns the command-line arguments passed to the engine, excluding arguments processed by the engine, such as --headless and --fullscreen.

# Godot has been executed with the following command:
# godot --headless --verbose --scene my_scene.tscn --custom
OS.get_cmdline_args() # Returns ["--scene", "my_scene.tscn", "--custom"]

Command-line arguments can be written in any form, including both --key value and --key=value forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments.

You can also incorporate environment variables using the get_environment() method.

You can set ProjectSettings.editor/run/main_run_args to define command-line arguments to be passed by the editor when running the project.

Example: Parse command-line arguments into a Dictionary using the --key=value form for arguments:

var arguments = {}
for argument in OS.get_cmdline_args():
    if argument.contains("="):
        var key_value = argument.split("=")
        arguments[key_value[0].trim_prefix("--")] = key_value[1]
    else:
        # Options without an argument will be present in the dictionary,
        # with the value set to an empty string.
        arguments[argument.trim_prefix("--")] = ""

Note: Passing custom user arguments directly is not recommended, as the engine may discard or modify them. Instead, pass the standard UNIX double dash (--) and then the custom arguments, which the engine will ignore by design. These can be read via get_cmdline_user_args().


PackedStringArray get_cmdline_user_args() 🔗

Returns the command-line user arguments passed to the engine. User arguments are ignored by the engine and reserved for the user. They are passed after the double dash -- argument. ++ may be used when -- is intercepted by another program (such as startx).

# Godot has been executed with the following command:
# godot --fullscreen --custom -- --level=2 --hardcore

OS.get_cmdline_args()      # Returns ["--custom"]
OS.get_cmdline_user_args() # Returns ["--level=2", "--hardcore"]

To get arguments passed before -- or ++, use get_cmdline_args().


String get_config_dir() const 🔗

Restituisce la cartella di configurazione utente globale in base agli standard del sistema operativo.

Sulla piattaforma Linux/BSD, questo percorso può essere sovrascritto impostando la variabile d'ambiente XDG_CONFIG_HOME prima di avviare il progetto. Consulta Percorsi dei file nei progetti Godot nella documentazione per maggiori informazioni. Vedi anche get_cache_dir() e get_data_dir().

Da non confondere con get_user_data_dir(), che restituisce il percorso dei dati utente specifico per il progetto.


PackedStringArray get_connected_midi_inputs() 🔗

Restituisce un array di nomi dei dispositivi MIDI connessi, se esistono. Restituisce un array vuoto se il driver MIDI del sistema non è stato inizializzato in precedenza con open_midi_inputs(). Vedi anche close_midi_inputs().

Nota: Questo metodo è implementato su Linux, macOS, Windows e Web.

Nota: Sulla piattaforma Web, il browser deve supportare Web MIDI. Per il momento, è supportato da tutti i principali browser, tranne Safari.

Nota: Sulla piattaforma Web, l'utilizzo dell'input MIDI richiede prima l'autorizzazione del browser. Questa richiesta di autorizzazione viene eseguita quando viene chiamato open_midi_inputs(). L'input MIDI non funzionerà finché l'utente non accetta la richiesta di autorizzazione.


String get_data_dir() const 🔗

Restituisce la cartella di dati utente globale in base agli standard del sistema operativo.

Sulla piattaforma Linux/BSD, questo percorso può essere sovrascritto impostando la variabile d'ambiente XDG_DATA_HOME prima di avviare il progetto. Consulta Percorsi dei file nei progetti Godot nella documentazione per maggiori informazioni. Vedi anche get_cache_dir() e get_config_dir().

Da non confondere con get_user_data_dir(), che restituisce il percorso dei dati utente specifico per il progetto.


String get_distribution_name() const 🔗

Restituisce il nome della distribuzione per le piattaforme Linux e BSD (ad esempio "Ubuntu", "Manjaro", "OpenBSD", ecc.).

Restituisce lo stesso valore di get_name() per le ROM Android di serie, ma tenta di restituire il nome ROM personalizzato per i derivati Android più diffusi come "LineageOS".

Restituisce lo stesso valore di get_name() per altre piattaforme.

Nota: Questo metodo non è supportato sulla piattaforma Web. Restituisce una stringa vuota.


PackedByteArray get_entropy(size: int) 🔗

Genera un PackedByteArray di byte casuali crittograficamente sicuri di dimensione size.

Nota: La generazione di grandi quantità di byte utilizzando questo metodo può causare il blocco e l'entropia di qualità inferiore sulla maggior parte delle piattaforme. L'utilizzo di Crypto.generate_random_bytes() è preferibile nella maggior parte dei casi.


String get_environment(variable: String) const 🔗

Restituisce il valore della variabile d'ambiente specificata o una stringa vuota se variable non esiste.

Nota: Controlla attentamente le maiuscole e le minuscole di variable. I nomi delle variabili d'ambiente sono sensibili alle maiuscole e alle minuscole su tutte le piattaforme, eccetto Windows.

Nota: Su macOS, le applicazioni non hanno accesso alle variabili d'ambiente della shell.


String get_executable_path() const 🔗

Restituisce il percorso del file eseguibile attuale del motore.

Nota: Su macOS, se vuoi avviare un'altra istanza di Godot, usa sempre create_instance() invece di basarti sul percorso dell'eseguibile.


PackedStringArray get_granted_permissions() const 🔗

Sui dispositivi Android: Restituisce la lista delle autorizzazioni pericolose concesse.

Su macOS: Restituisce la lista delle cartelle selezionate dall'utente accessibili all'applicazione (solo applicazioni in sandbox). Usa la finestra di dialogo nativa dei file per richiedere l'autorizzazione di accesso alle cartelle.

Su iOS, visionOS: restituisce la lista di autorizzazioni concesse.


String get_keycode_string(code: Key) const 🔗

Restituisce il codice tasto specificato sotto forma di String.

print(OS.get_keycode_string(KEY_C))                    # Stampa "C"
print(OS.get_keycode_string(KEY_ESCAPE))               # Stampa "Escape"
print(OS.get_keycode_string(KEY_MASK_SHIFT | KEY_TAB)) # Stampa "Shift+Tab"

Vedi anche find_keycode_from_string(), InputEventKey.keycode e InputEventKey.get_keycode_with_modifiers().


String get_locale() const 🔗

Restituisce le impostazioni locali del sistema operativo host sotto forma di String nel formato language_Script_COUNTRY_VARIANT@extra. Ogni sottostringa dopo language è facoltativa e potrebbe non esistere.

  • language - codice lingua di 2 o 3 lettere, in minuscolo.

  • Script - codice alfabeto di 4 lettere, in maiuscolo.

  • COUNTRY - codice paese di 2 o 3 lettere, in maiuscolo.

  • VARIANT - variante di lingua, regione e ordinamento. La variante può avere un numero qualsiasi di parole chiave con trattini bassi in mezzo.

  • extra - elenco separato da punto e virgola di parole chiave aggiuntive. Questo può includere informazioni su valuta, calendario, ordinamento e sistema di numerazione.

Se vuoi solo il codice della lingua e non le impostazioni locali completamente specificate dal sistema operativo, puoi usare get_locale_language().


String get_locale_language() const 🔗

Restituisce il codice lingua a 2 o 3 lettere delle impostazioni locali del sistema operativo host come stringa che dovrebbe essere coerente su tutte le piattaforme. Ciò equivale a estrarre la parte language della stringa da get_locale().

Questo è utile per limitare le stringhe delle impostazioni locali a solo il codice della lingua "comune", quando non sono necessarie informazioni aggiuntive sul codice paese o sulle varianti. Ad esempio, per un utente franco-canadese con locale fr_CA, questo restituirebbe fr.


int get_main_thread_id() const 🔗

Restituisce l'ID del thread principale. Vedi get_thread_caller_id().

Nota: gli ID dei thread non sono deterministici e potrebbero essere riutilizzati al riavvio dell'applicazione.


Dictionary get_memory_info() const 🔗

Restituisce un Dictionary contenente informazioni sulla memoria attuale con le seguenti voci:

  • "physical" - quantità totale di memoria fisica utilizzabile in byte. Questo valore può essere leggermente inferiore alla quantità effettiva di memoria fisica, poiché non include la memoria riservata dal kernel e dai dispositivi.

  • "free" - quantità di memoria fisica, che può essere immediatamente allocata senza accesso al disco o altre operazioni costose, in byte. Il processo potrebbe essere in grado di allocare più memoria fisica, ma questa azione richiederà lo spostamento delle pagine inattive su disco, il che può essere costoso.

  • "available" - quantità di memoria che può essere allocata senza estendere i file di swap, in byte. Questo valore include sia la memoria fisica sia lo swap.

  • "stack" - dimensione dello stack del thread attuale in byte.

Nota: Il valore di ogni voce può essere -1 se è sconosciuto.


String get_model_name() const 🔗

Restituisce il nome del modello del dispositivo attuale.

Nota: Questo metodo è implementato su Android, iOS, macOS e Windows. Restituisce "GenericDevice" su piattaforme non supportate.


String get_name() const 🔗

Restituisce il nome della piattaforma host.

  • Su Windows, è "Windows".

  • Su macOS, è "macOS".

  • Su sistemi operativi basati su Linux, è "Linux".

  • Su sistemi operativi basati su BSD, è "FreeBSD", "NetBSD", "OpenBSD" o "BSD" come fallback.

  • Su Android, è "Android".

  • Su iOS, è "iOS".

  • Su Web, è "Web".

Nota: Le build personalizzate del motore potrebbero supportare piattaforme aggiuntive, come le console, restituendo eventualmente altri nomi.

match OS.get_name():
    "Windows":
        print("Welcome to Windows!")
    "macOS":
        print("Welcome to macOS!")
    "Linux", "FreeBSD", "NetBSD", "OpenBSD", "BSD":
        print("Welcome to Linux/BSD!")
    "Android":
        print("Welcome to Android!")
    "iOS":
        print("Welcome to iOS!")
    "Web":
        print("Welcome to the Web!")

Nota: Sulle piattaforme Web, è comunque possibile determinare il sistema operativo della piattaforma host con i tag delle funzionalità. Vedi has_feature().


int get_process_exit_code(pid: int) const 🔗

Restituisce il codice di uscita di un processo generato, una volta che ha terminato l'esecuzione (vedi is_process_running()).

Restituisce -1 se il pid non è un PID di un processo figlio generato, il processo è ancora in esecuzione, o il metodo non è implementato per la piattaforma attuale.

Nota: Restituisce -1 se il pid è un processo di un app in bundle di macOS.

Nota: Questo metodo è implementato su Android, Linux, macOS e Windows.


int get_process_id() const 🔗

Restituisce il numero usato dalla machina ospite per identificare unicamente questa applicazione.

Nota: Su Web, questo metodo restituisce sempre 0.


int get_processor_count() const 🔗

Restituisce il numero di core CPU logici disponibili sulla macchina host. Sulle CPU con HyperThreading abilitato, questo numero sarà maggiore del numero di core CPU fisici.


String get_processor_name() const 🔗

Restituisce il nome completo del modello di CPU sulla macchina host (ad esempio "Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz").

Nota: Questo metodo è implementato solo su Windows, macOS, Linux e iOS. Su Android e Web, get_processor_name() restituisce una stringa vuota.


PackedStringArray get_restart_on_exit_arguments() const 🔗

Restituisce la lista degli argomenti della riga di comando che saranno utilizzati quando il progetto si riavvia automaticamente tramite set_restart_on_exit(). Vedi anche is_restart_on_exit_set().


int get_static_memory_peak_usage() const 🔗

Restituisce la quantità massima di memoria statica utilizzata. Funziona solo nelle build di debug.


int get_static_memory_usage() const 🔗

Restituisce la quantità di memoria statica utilizzata dal programma in byte. Funziona solo nelle build di debug.


StdHandleType get_stderr_type() const 🔗

Restituisce il tipo del dispositivo di errore standard.

Nota: Questo metodo è implementato su Linux, macOS e Windows.


StdHandleType get_stdin_type() const 🔗

Restituisce il tipo del dispositivo di input standard.

Nota: Questo metodo è implementato su Linux, macOS e Windows.

Nota: Nelle build esportate di Windows, bisogna eseguire l'eseguibile wrapper della console per accedere all'input standard. Se è necessario un singolo eseguibile con supporto completo per la console, utilizzare una build personalizzata compilata con il flag windows_subsystem=console.


StdHandleType get_stdout_type() const 🔗

Restituisce il tipo del dispositivo di output standard.

Nota: Questo metodo è implementato su Linux, macOS e Windows.


String get_system_ca_certificates() 🔗

Restituisce l'elenco delle autorità di certificazione considerate attendibili dal sistema operativo come stringa di certificati concatenati in formato PEM.


String get_system_dir(dir: SystemDir, shared_storage: bool = true) const 🔗

Restituisce il percorso alle cartelle comunemente utilizzate su diverse piattaforme, come definito da dir. Vedi le costanti di SystemDir per i percorsi disponibili.

Nota: Questo metodo è implementato su Android, Linux, macOS e Windows.

Nota: L'archiviazione condivisa è implementata su Android e consente di distinguere tra cartelle specifiche all'app e condivise, se shared_storage è true. Le cartelle condivise hanno restrizioni aggiuntive su Android.


String get_system_font_path(font_name: String, weight: int = 400, stretch: int = 100, italic: bool = false) const 🔗

Restituisce il percorso al file font di sistema con font_name e stile. Restituisce una stringa vuota se non vengono trovati font corrispondenti.

I seguenti alias possono essere utilizzati per richiedere font predefiniti: "sans-serif", "serif", "monospace", "cursive" e "fantasy".

Nota: Il font restituito potrebbe avere uno stile diverso se lo stile richiesto non è disponibile.

Nota: Questo metodo è implementato su Android, iOS, Linux, macOS e Windows.


PackedStringArray get_system_font_path_for_text(font_name: String, text: String, locale: String = "", script: String = "", weight: int = 400, stretch: int = 100, italic: bool = false) const 🔗

Restituisce un array dei percorsi dei file dei font sostitutivi di sistema, che sono simili al font con font_name e stile per il testo, le impostazioni locali e l'alfabeto specificati. Restituisce un array vuoto se non vengono trovati font corrispondenti.

I seguenti alias possono essere utilizzati per richiedere i font predefiniti: "sans-serif", "serif", "monospace", "cursive" e "fantasy".

Nota: A seconda del sistema operativo, non è garantito che alcuno dei font restituiti sia adatto per il rendering del testo specificato. I font devono essere caricati e controllati nell'ordine in cui sono restituiti e deve essere utilizzato il primo adatto.

Nota: I font restituiti potrebbero avere uno stile diverso se lo stile richiesto non è disponibile o appartiene a una famiglia di font diversa.

Nota: Questo metodo è implementato su Android, iOS, Linux, macOS e Windows.


PackedStringArray get_system_fonts() const 🔗

Restituisce la lista di nomi di famiglie di font disponibili.

Nota: Questo metodo è implementato su Android, iOS, Linux, macOS e Windows.


String get_temp_dir() const 🔗

Restituisce la cartella dei dati temporanei globali secondo gli standard del sistema operativo.


int get_thread_caller_id() const 🔗

Restituisce l'ID del thread attuale. Può essere utilizzato nei log per facilitare il debug delle applicazioni con più thread.

Nota: gli ID dei thread non sono deterministici e potrebbero essere riutilizzati al riavvio dell'applicazione.


String get_unique_id() const 🔗

Restituisce una stringa univoca per il dispositivo.

Nota: Questa stringa potrebbe cambiare senza preavviso se l'utente reinstalla il sistema operativo, lo aggiorna o modifica il proprio hardware. Ciò significa che in genere non dovrebbe essere utilizzata per crittografare dati persistenti, poiché i dati salvati prima di una modifica imprevista dell'ID diventerebbero inaccessibili. La stringa restituita potrebbe anche essere falsificata tramite programmi esterni, quindi non fare affidamento sulla stringa restituita da questo metodo per motivi di sicurezza.

Nota: Sul Web, restituisce una stringa vuota e genera un errore, poiché questo metodo non può essere implementato per motivi di sicurezza.


String get_user_data_dir() const 🔗

Restituisce il percorso assoluto della cartella in cui sono scritti i dati utente (la cartella user:// in Godot). Il percorso dipende dal nome del progetto e da ProjectSettings.application/config/use_custom_user_dir.

  • Su Windows, questo è %AppData%\Godot\app_userdata\[project_name], o %AppData%\[custom_name] se use_custom_user_dir è impostato. %AppData% si espande in %UserProfile%\AppData\Roaming.

  • Su macOS, questo è ~/Library/Application Support/Godot/app_userdata/[project_name], o ~/Library/Application Support/[custom_name] se use_custom_user_dir è impostato.

  • Su Linux e BSD, questo è ~/.local/share/godot/app_userdata/[project_name], o ~/.local/share/[custom_name] se use_custom_user_dir è impostato.

  • Su Android e iOS, questa è una cartella in sandbox in una memoria interna o esterna, a seconda della configurazione dell'utente.

  • Sul Web, questa è una cartella virtuale gestita dal browser.

Se il nome del progetto è vuoto, [project_name] ricorre a [unnamed project].

Da non confondere con get_data_dir(), che restituisce la cartella home dell'utente globale (non specifica del progetto).


String get_version() const 🔗

Restituisce la versione esatta di produzione e build del sistema operativo. Questa è diversa dalla versione di marca utilizzata nella vendita. Ciò aiuta a distinguere tra diverse versioni di sistemi operativi, comprese le versioni minori e build privilegiate e personalizzate.

  • Per Windows, sono restituite la versione principale e minore, così come il numero di build. Ad esempio, la stringa restituita potrebbe essere simile a 10.0.9926 per una build di Windows 10.

  • Per le distribuzioni rolling, come Arch Linux, è restituita una stringa vuota.

  • Per macOS e iOS, sono restituite la versione principale e minore, così come il numero di patch.

  • Per Android, sono restituiti la versione SDK e il numero di build incrementale. Se si tratta di una ROM personalizzata, tenta di restituire la sua versione.

Nota: Questo metodo non è supportato sulla piattaforma Web. Restituisce una stringa vuota.


String get_version_alias() const 🔗

Restituisce la versione brandizzata utilizzata nel marketing, seguita dal numero di build (su Windows), dal numero di versione (su macOS), o dalla versione dell'SDK e dal numero incrementale di build (su Android). Esempi includono 11 (build 22000), Sequoia (15.0.0) e 15 (SDK 35 build abc528-11988f).

Questo valore può quindi essere aggiunto a get_name() per ottenere una combinazione completa e leggibile in chiaro del nome e della versione del sistema operativo. Gli aggiornamenti delle funzionalità di Windows come 24H2 non sono contenuti nella stringa risultante, ma Windows Server è riconosciuto come tale (ad esempio 2025 (build 26100) per Windows Server 2025).

Nota: Questo metodo è supportato solo su Windows, macOS e Android. Su altri sistemi operativi, restituisce lo stesso valore di get_version().


PackedStringArray get_video_adapter_driver_info() const 🔗

Restituisce il nome e la versione del driver della scheda video per la scheda grafica attualmente attiva dell'utente, come PackedStringArray. Vedi anche RenderingServer.get_video_adapter_api_version().

Il primo elemento contiene il nome del driver, come nvidia, amdgpu, ecc.

Il secondo elemento contiene la versione del driver. Ad esempio, sul driver nvidia su una piattaforma Linux/BSD, la versione è nel formato 510.85.02. Per Windows, il formato del driver è 31.0.15.1659.

Nota: Questo metodo è supportato solo su Linux/BSD e Windows quando non è in esecuzione in modalità headless. Su altre piattaforme, restituisce un array vuoto.

Nota: Questo metodo sarà eseguito lentamente la prima volta che viene chiamato in una sessione; potrebbe richiedere diversi secondi a seconda del sistema operativo e dell'hardware. È bloccante se chiamato sul thread principale, quindi si consiglia di chiamarlo su un thread separato tramite Thread. Ciò consente al motore di continuare a funzionare mentre le informazioni vengono recuperate. Tuttavia, get_video_adapter_driver_info() non è thread-safe, quindi non si dovrebbe chiamare da più thread allo stesso tempo.

var thread = Thread.new()

func _ready():
    thread.start(
        func():
            var driver_info = OS.get_video_adapter_driver_info()
            if not driver_info.is_empty():
                print("Driver: %s %s" % [driver_info[0], driver_info[1]])
            else:
                print("Driver: (sconosciuto)")
    )

func _exit_tree():
    thread.wait_to_finish()

bool has_environment(variable: String) const 🔗

Restituisce true se esiste la variabile d'ambiente con il nome variable.

Nota: Controlla attentamente le maiuscole e le minuscole di variable. I nomi delle variabili d'ambiente sono sensibili alle maiuscole e alle minuscole su tutte le piattaforme, eccetto Windows.


bool has_feature(tag_name: String) const 🔗

Restituisce true se la funzionalità per il tag di funzionalità specificato è supportata nell'istanza attualmente in esecuzione, a seconda della piattaforma, della build, ecc. Può essere utilizzato per verificare se si sta attualmente eseguendo una build di debug, su una determinata piattaforma o architettura, ecc. Consulta la documentazione sui Tag di funzionalità per ulteriori dettagli.

Nota: I nomi dei tag sono sensibili alle maiuscole/minuscole.

Nota: Sulla piattaforma Web, uno dei seguenti tag aggiuntivi è definito per indicare la piattaforma host: web_android, web_ios, web_linuxbsd, web_macos o web_windows.


bool is_debug_build() const 🔗

Restituisce true se l'eseguibile Godot utilizzato per eseguire il progetto è un modello di esportazione di debug o quando viene eseguito nell'editor.

Restituisce false se l'eseguibile Godot utilizzato per eseguire il progetto è un modello di esportazione di release.

Nota: Per verificare se l'eseguibile Godot utilizzato per eseguire il progetto è un modello di esportazione (debug o release), utilizza invece OS.has_feature("template").


bool is_keycode_unicode(code: int) const 🔗

Restituisce true se il codice tasto di input corrisponde a un carattere Unicode. Per un elenco di codici, vedi le costanti di Key.

print(OS.is_keycode_unicode(KEY_G))      # Stampa true
print(OS.is_keycode_unicode(KEY_KP_4))   # Stampa true
print(OS.is_keycode_unicode(KEY_TAB))    # Stampa false
print(OS.is_keycode_unicode(KEY_ESCAPE)) # Stampa false

bool is_process_running(pid: int) const 🔗

Restituisce true se ID del processo figlio (pid) è ancora in esecuzione o false è ha terminato. pid deve essere un ID valido generato da create_process().

Nota: Questo metodo è implementato su Android, iOS, Linux, macOS e Windows.


bool is_restart_on_exit_set() const 🔗

Restituisce true se il progetto sarà riavviato automaticamente quando esce per qualsiasi motivo, altrimenti false. Vedi anche set_restart_on_exit() e get_restart_on_exit_arguments().


bool is_sandboxed() const 🔗

Restituisce true se l'applicazione è in esecuzione nella sandbox.

Nota: Questo metodo è implementato solo su macOS e Linux.


bool is_stdout_verbose() const 🔗

Restituisce true se il motore è stato eseguito con l'argomento della riga di comando --verbose o -v, oppure se ProjectSettings.debug/settings/stdout/verbose_stdout è true. Vedi anche @GlobalScope.print_verbose().


bool is_userfs_persistent() const 🔗

Restituisce true se il file system user:// è persistente, ovvero il suo stato è lo stesso dopo che un giocatore esce e riavvia il gioco. Rilevante per la piattaforma Web, dove questa persistenza potrebbe non essere disponibile.


Error kill(pid: int) 🔗

Termina il processo identificato dall'ID di processo specificato (pid), come l'ID restituito da execute() in modalità non bloccante. Vedi anche crash().

Nota: Questo metodo può essere utilizzato anche per terminare processi che non sono stati generati dal motore.

Nota: Questo metodo è implementato su Android, iOS, Linux, macOS e Windows.


Error move_to_trash(path: String) const 🔗

Sposta il file o la cartella nel percorso path specificato nel cestino del sistema. Vedi anche DirAccess.remove().

Il metodo accetta solo percorsi globali, quindi potrebbe essere necessario usare ProjectSettings.globalize_path(). Non usarlo per i file in res:// poiché non funzionerà nei progetti esportati.

Restituisce @GlobalScope.FAILED se il file o la cartella non possono essere trovati o il sistema non supporta questo metodo.

var file_to_remove = "user://slot1.save"
OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove))

Nota: Questo metodo è implementato su Android, Linux, macOS e Windows.

Nota: Se l'utente ha disabilitato il cestino sul proprio sistema, il file sarà invece eliminato definitivamente.


void open_midi_inputs() 🔗

Inizializza il singleton per il driver MIDI del sistema, consentendo a Godot di ricevere InputEventMIDI. vedi anche get_connected_midi_inputs() e close_midi_inputs().

Nota: Questo metodo è implementato su Linux, macOS, Windows e Web.

Nota: Sulla piattaforma Web, il browser deve supportare Web MIDI. Per il momento, è supportato da tutti i principali browser, tranne Safari.

Nota: Sulla piattaforma Web, l'utilizzo dell'input MIDI richiede prima l'autorizzazione del browser. Questa richiesta di autorizzazione viene eseguita quando viene chiamato open_midi_inputs(). L'input MIDI non funzionerà finché l'utente non accetta la richiesta di autorizzazione.


Error open_with_program(program_path: String, paths: PackedStringArray) 🔗

Apre uno o più file/cartelle con l'applicazione specificata. Il parametro program_path specifica il percorso dell'applicazione da utilizzare per aprire i file, mentre paths contiene un array di percorsi di file/cartelle da aprire.

Nota: Questo metodo è rilevante principalmente solo per macOS, dove l'apertura dei file tramite create_process() potrebbe non riuscire. Su altre piattaforme, si ricorre all'utilizzo di create_process().

Nota: Su macOS, program_path dovrebbe idealmente essere il percorso di un pacchetto .app.


PackedByteArray read_buffer_from_stdin(buffer_size: int = 1024) 🔗

Reads a user input as raw data from the standard input. This operation can be blocking, which causes the window to freeze if read_buffer_from_stdin() is called on the main thread.

  • If standard input is console, this method will block until the program receives a line break in standard input (usually by the user pressing Enter).

  • If standard input is pipe, this method will block until a specific amount of data is read or pipe is closed.

  • If standard input is a file, this method will read a specific amount of data (or less if end-of-file is reached) and return immediately.

Note: This method is implemented on Linux, macOS, and Windows.

Note: On exported Windows builds, run the console wrapper executable to access the terminal. If standard input is console, calling this method without console wrapped will freeze permanently. If standard input is pipe or file, it can be used without console wrapper. If you need a single executable with full console support, use a custom build compiled with the windows_subsystem=console flag.


String read_string_from_stdin(buffer_size: int = 1024) 🔗

Legge l'input dell'utente dall'input standard come stringa codificata in UTF-8. Questa operazione può è bloccante, il che causa il blocco della finestra se read_string_from_stdin() viene chiamato sul thread principale.

  • Se l'input standard è una console, questo metodo si bloccherà finché il programma non riceverà un'interruzione di riga nell'input standard (solitamente quando l'utente preme Invio).

  • Se l'input standard è una pipe, questo metodo si bloccherà finché non verrà letta una quantità specifica di dati o la pipe verrà chiusa.

  • Se l'input standard è un file, questo metodo leggerà una quantità specifica di dati (o meno se viene raggiunta la fine del file) e restituirà immediatamente.

Nota: Questo metodo sostituisce automaticamente le interruzioni di riga \r\n con \n e le rimuove dalla fine della stringa. Usa read_buffer_from_stdin() per leggere i dati non elaborati.

Nota: Questo metodo è implementato su Linux, macOS e Windows.

Nota: Nelle build Windows esportate, esegui l'eseguibile wrapper della console per accedere al terminale. Altrimenti, l'input standard non funzionerà correttamente. Se hai bisogno di un singolo eseguibile con supporto per la console, usa una build personalizzata compilata con il flag windows_subsystem=console.


void remove_logger(logger: Logger) 🔗

Rimuove un logger personalizzato aggiunto da add_logger().


bool request_permission(name: String) 🔗

Richiede l'autorizzazione dal sistema operativo per il nome name. Restituisce true se l'autorizzazione è già stata concessa. Vedi anche MainLoop.on_request_permissions_result.

name deve essere il nome completo di un'autorizzazione. Ad esempio:

  • OS.request_permission("android.permission.READ_EXTERNAL_STORAGE")

  • OS.request_permission("android.permission.POST_NOTIFICATIONS")

  • OS.request_permission("macos.permission.RECORD_SCREEN")

  • OS.request_permission("appleembedded.permission.AUDIO_RECORD")

Nota: Su Android, l'autorizzazione deve essere spuntata durante l'esportazione.

Nota: Questo metodo è implementato su Android, macOS e piattaforme visionOS.


bool request_permissions() 🔗

Richiede autorizzazioni pericolose dal sistema operativo. Restituisce true se le autorizzazioni sono state già concesse. Vedi anche MainLoop.on_request_permissions_result.

Nota: Le autorizzazioni devono essere selezionate durante l'esportazione.

Nota: Questo metodo è implementato solo su Android. Le autorizzazioni normali sono concesse automaticamente al momento dell'installazione nelle applicazioni Android.


void revoke_granted_permissions() 🔗

Su macOS (solo applicazioni in sandbox), questa funzione svuota la lista delle cartelle selezionate dall'utente accessibili all'applicazione.


void set_environment(variable: String, value: String) const 🔗

Imposta il valore della variabile di ambiente variable su value. La variabile di ambiente sarà impostata per il processo Godot e per qualsiasi processo eseguito con execute() dopo l'esecuzione di set_environment(). La variabile di ambiente non persisterà nei processi eseguiti dopo la terminazione del processo Godot.

Nota: I nomi delle variabili di ambiente sono sensibili alle maiuscole/minuscole su tutte le piattaforme, eccetto Windows. Il nome di variable non può essere vuoto o includere il carattere =. Su Windows, c'è un limite di 32767 caratteri per la lunghezza combinata di variable, value e i caratteri di terminazione = e null che saranno registrati nel blocco di ambiente.


void set_restart_on_exit(restart: bool, arguments: PackedStringArray = PackedStringArray()) 🔗

Se restart è true, riavvia automaticamente il progetto quando si esce con SceneTree.quit() o Node.NOTIFICATION_WM_CLOSE_REQUEST. È possibile fornire argomenti (arguments) di riga di comando. Per riavviare il progetto con gli stessi argomenti della riga di comando utilizzati in origine per eseguire il progetto, passa get_cmdline_args() come valore per arguments.

Questo metodo può essere utilizzato per applicare modifiche alle impostazioni che richiedono un riavvio. Vedi anche is_restart_on_exit_set() e get_restart_on_exit_arguments().

Nota: Questo metodo è efficace solo sulle piattaforme desktop e solo quando il progetto non è avviato dall'editor. Non avrà alcun effetto sulle piattaforme mobili e Web o quando il progetto è avviato dall'editor.

Nota: Se il processo del progetto si blocca o viene terminato dall'utente (inviando SIGKILL invece del solito SIGTERM), il progetto non verrà riavviato automaticamente.


Error set_thread_name(name: String) 🔗

Assegna il nome specificato al thread attuale. Restituisce @GlobalScope.ERR_UNAVAILABLE se non disponibile sulla piattaforma attuale.


void set_use_file_access_save_and_swap(enabled: bool) 🔗

Se enabled è true, quando si apre un file per la scrittura, al suo posto è utilizzato un file temporaneo. Quando è chiuso, è automaticamente applicato al file di destinazione.

Questo può essere utile quando i file possono essere aperti da altre applicazioni, come antivirus, editor di testo o persino dall'editor di Godot stesso.


Error shell_open(uri: String) 🔗

Requests the OS to open a resource identified by uri with the most appropriate program. For example:

  • OS.shell_open("C:\\Users\\name\\Downloads") on Windows opens the file explorer at the user's Downloads folder.

  • OS.shell_open("C:/Users/name/Downloads") also works on Windows and opens the file explorer at the user's Downloads folder.

  • OS.shell_open("https://godotengine.org") opens the default web browser on the official Godot website.

  • OS.shell_open("mailto:example@example.com") opens the default email client with the "To" field set to example@example.com. See RFC 2368 - The mailto URL scheme for a list of fields that can be added.

Use ProjectSettings.globalize_path() to convert a res:// or user:// project path into a system path for use with this method.

Note: Use String.uri_encode() to encode characters within URLs in a URL-safe, portable way. This is especially required for line breaks. Otherwise, shell_open() may not work correctly in a project exported to the Web platform.

Note: This method is implemented on Android, iOS, Web, Linux, macOS and Windows.


Error shell_show_in_file_manager(file_or_dir_path: String, open_folder: bool = true) 🔗

Richiede al sistema operativo di aprire il gestore dei file, di andare al file_or_dir_path specificato e di selezionare il file o la cartella di destinazione.

Se open_folder è true e file_or_dir_path è un percorso di cartella valido, il sistema operativo aprirà il gestore dei file e andrà alla cartella di destinazione senza selezionare nulla.

Utilizza ProjectSettings.globalize_path() per convertire un percorso di progetto res:// o user:// in un percorso di sistema da utilizzare con questo metodo.

Nota: Questo metodo è attualmente implementato solo su Windows e macOS. Su altre piattaforme, ricadrà a shell_open() con un percorso di cartella di file_or_dir_path prefissato con file://.


void unset_environment(variable: String) const 🔗

Rimuove la variabile di ambiente specificata dall'ambiente corrente, se esiste. Il nome variable non può essere vuoto o includere il carattere =. La variabile di ambiente sarà rimossa per il processo Godot e per qualsiasi processo eseguito con execute() dopo l'esecuzione di unset_environment(). La rimozione della variabile di ambiente non persisterà nei processi eseguiti dopo la terminazione del processo Godot.

Nota: i nomi delle variabili di ambiente sono sensibili alle maiuscole/minuscole su tutte le piattaforme, eccetto Windows.