ProjectSettings
Hereda: Object
Almacena variables accesibles globalmente.
Descripción
Stores variables that can be accessed from everywhere. Use get_setting(), set_setting() or has_setting() to access them. Variables stored in project.godot are also loaded into ProjectSettings, making this object very useful for reading custom game configuration options.
When naming a Project Settings property, use the full path to the setting including the category. For example, "application/config/name" for the project name. Category and property names can be viewed in the Project Settings dialog.
Feature tags: Project settings can be overridden for specific platforms and configurations (debug, release, ...) using feature tags.
Overriding: Any project setting can be overridden by creating a file named override.cfg in the project's root directory. This can also be used in exported projects by placing this file in the same directory as the project binary. Overriding will still take the base project settings' feature tags in account. Therefore, make sure to also override the setting with the desired feature tags if you want them to override base project settings on all platforms and configurations.
Tutoriales
Propiedades
Métodos
void |
add_property_info(hint: Dictionary) |
void |
|
get_setting(name: String, default_value: Variant = null) const |
|
get_setting_with_override(name: StringName) const |
|
get_setting_with_override_and_custom_features(name: StringName, features: PackedStringArray) const |
|
globalize_path(path: String) const |
|
has_setting(name: String) const |
|
load_resource_pack(pack: String, replace_files: bool = true, offset: int = 0) |
|
localize_path(path: String) const |
|
save() |
|
save_custom(file: String) |
|
void |
set_as_basic(name: String, basic: bool) |
void |
set_as_internal(name: String, internal: bool) |
void |
set_initial_value(name: String, value: Variant) |
void |
|
void |
set_restart_if_changed(name: String, restart: bool) |
void |
set_setting(name: String, value: Variant) |
Señales
settings_changed() 🔗
Emitida cuando se cambia cualquier ajuste, hasta una vez por fotograma de proceso.
Descripciones de Propiedades
int accessibility/general/accessibility_support = 0 🔗
Accessibility support mode:
Auto (
0): Accessibility support is enabled, but updates to the accessibility information are processed only if an assistive app (such as a screen reader or a Braille display) is active (default).Always Active (
1): Accessibility support is enabled, and updates to the accessibility information are always processed, regardless of the status of assistive apps.Disabled (
2): Accessibility support is fully disabled.
Note: Accessibility debugging tools, such as Accessibility Insights for Windows, Accessibility Inspector (macOS), or AT-SPI Browser (Linux/BSD) do not count as assistive apps. To test your project with these tools, use Always Active.
int accessibility/general/updates_per_second = 60 🔗
Número de actualizaciones por segundo de la información de accesibilidad.
bool animation/warnings/check_angle_interpolation_type_conflicting = true 🔗
If true, AnimationMixer prints the warning of interpolation being forced to choose the shortest rotation path due to multiple angle interpolation types being mixed in the AnimationMixer cache.
bool animation/warnings/check_invalid_track_paths = true 🔗
If true, AnimationMixer prints the warning of no matching object of the track path in the scene.
Color application/boot_splash/bg_color = Color(0.14, 0.14, 0.14, 1) 🔗
Color de fondo para la imagen de arranque.
bool application/boot_splash/fullsize = true 🔗
If true, scale the boot splash image to the full window size (preserving the aspect ratio) when the engine starts. If false, the engine will leave it at the default pixel size.
String application/boot_splash/image = "" 🔗
Path to an image used as the boot splash. If left empty, the default Godot Engine splash will be displayed instead.
Note: Only effective if application/boot_splash/show_image is true.
Note: The only supported format is PNG. Using another image format will result in an error.
Note: The image will also show when opening the project in the editor. If you want to display the default splash image in the editor, add an empty override for editor_hint feature.
int application/boot_splash/minimum_display_time = 0 🔗
Minimum boot splash display time (in milliseconds). It is not recommended to set too high values for this setting.
bool application/boot_splash/show_image = true 🔗
If true, displays the image specified in application/boot_splash/image when the engine starts. If false, only displays the plain color specified in application/boot_splash/bg_color.
bool application/boot_splash/use_filter = true 🔗
If true, applies linear filtering when scaling the image (recommended for high-resolution artwork). If false, uses nearest-neighbor interpolation (recommended for pixel art).
bool application/config/auto_accept_quit = true 🔗
If true, the application automatically accepts quitting requests.
String application/config/custom_user_dir_name = "" 🔗
This user directory is used for storing persistent data (user:// filesystem). If a custom directory name is defined, this name will be appended to the system-specific user data directory (same parent folder as the Godot configuration folder documented in OS.get_user_data_dir()).
The application/config/use_custom_user_dir setting must be enabled for this to take effect.
Note: If application/config/custom_user_dir_name contains trailing periods, they will be stripped as folder names ending with a period are not allowed on Windows.
String application/config/description = "" 🔗
The project's description, displayed as a tooltip in the Project Manager when hovering the project.
String application/config/icon = "" 🔗
Icon used for the project, set when project loads. Exporters will also use this icon as a fallback if necessary.
String application/config/macos_native_icon = "" 🔗
Icon set in .icns format used on macOS to set the game's icon. This is done automatically on start by calling DisplayServer.set_native_icon().
String application/config/name = "" 🔗
The project's name. It is used both by the Project Manager and by exporters. The project name can be translated by translating its value in localization files. The window title will be set to match the project name automatically on startup.
Note: Changing this value will also change the user data folder's path if application/config/use_custom_user_dir is false. After renaming the project, you will no longer be able to access existing data in user:// unless you rename the old folder to match the new project name. See Data paths in the documentation for more information.
Dictionary application/config/name_localized = {} 🔗
El nombre del proyecto en otros idiomas. El SO usa este ajuste para traducir el nombre de la aplicación en Android, iOS y macOS.
String application/config/project_settings_override = "" 🔗
Specifies a file to override project settings. For example: user://custom_settings.cfg. See "Overriding" in the ProjectSettings class description at the top for more information.
Note: Regardless of this setting's value, res://override.cfg will still be read to override the project settings.
bool application/config/quit_on_go_back = true 🔗
If true, the application quits automatically when navigating back (e.g. using the system "Back" button on Android).
bool application/config/use_custom_user_dir = false 🔗
If true, the project will save user data to its own user directory. If application/config/custom_user_dir_name is empty, <OS user data directory>/<project name> directory will be used. If false, the project will save user data to <OS user data directory>/Godot/app_userdata/<project name>.
See also File paths in Godot projects. This setting is only effective on desktop platforms.
If true, the project will use a hidden directory (.godot) for storing project-specific data (metadata, shader cache, etc.).
If false, a non-hidden directory (godot) will be used instead.
Note: Restart the application after changing this setting.
Note: Changing this value can help on platforms or with third-party tools where hidden directory patterns are disallowed. Only modify this setting if you know that your environment requires it, as changing the default can impact compatibility with some external tools or plugins which expect the default .godot folder.
String application/config/version = "" 🔗
The project's human-readable version identifier. This is used by exporters if the version identifier isn't overridden there. If application/config/version is an empty string and the version identifier isn't overridden in an exporter, the exporter will use 1.0.0 as a version identifier.
String application/config/windows_native_icon = "" 🔗
Icon set in .ico format used on Windows to set the game's icon. This is done automatically on start by calling DisplayServer.set_native_icon().
bool application/run/delta_smoothing = true 🔗
Time samples for frame deltas are subject to random variation introduced by the platform, even when frames are displayed at regular intervals thanks to V-Sync. This can lead to jitter. Delta smoothing can often give a better result by filtering the input deltas to correct for minor fluctuations from the refresh rate.
Note: Delta smoothing is only attempted when display/window/vsync/vsync_mode is set to enabled, as it does not work well without V-Sync.
It may take several seconds at a stable frame rate before the smoothing is initially activated. It will only be active on machines where performance is adequate to render frames at the refresh rate.
bool application/run/disable_stderr = false 🔗
If true, disables printing to standard error. If true, this also hides error and warning messages printed by @GlobalScope.push_error() and @GlobalScope.push_warning(). See also application/run/disable_stdout.
Changes to this setting will only be applied upon restarting the application. To control this at runtime, use Engine.print_error_messages.
bool application/run/disable_stdout = false 🔗
If true, disables printing to standard output. This is equivalent to starting the editor or project with the --quiet command line argument. See also application/run/disable_stderr.
Changes to this setting will only be applied upon restarting the application. To control this at runtime, use Engine.print_to_stdout.
If true, allows the Alt + Space keys to display the window menu. This menu allows the user to perform various window management operations such as moving, resizing, or minimizing the window.
Note: When the menu is displayed, project execution will pause until the menu is fully closed due to Windows behavior. Consider this when enabling this setting in a networked multiplayer game. The menu is only considered fully closed when an option is selected, when the user clicks outside, or when Escape is pressed after bringing up the window menu and another key is pressed afterwards.
Note: This setting is implemented only on Windows.
bool application/run/flush_stdout_on_print = false 🔗
If true, flushes the standard output stream every time a line is printed. This affects both terminal logging and file logging.
When running a project, this setting must be enabled if you want logs to be collected by service managers such as systemd/journalctl. This setting is disabled by default on release builds, since flushing on every printed line will negatively affect performance if lots of lines are printed in a rapid succession. Also, if this setting is enabled, logged files will still be written successfully if the application crashes or is otherwise killed by the user (without being closed "normally").
Note: Regardless of this setting, the standard error stream (stderr) is always flushed when a line is printed to it.
Changes to this setting will only be applied upon restarting the application.
bool application/run/flush_stdout_on_print.debug = true 🔗
Debug build override for application/run/flush_stdout_on_print, as performance is less important during debugging.
Changes to this setting will only be applied upon restarting the application.
int application/run/frame_delay_msec = 0 🔗
Forces a constant delay between frames in the main loop (in milliseconds). In most situations, application/run/max_fps should be preferred as an FPS limiter as it's more precise.
This setting can be overridden using the --frame-delay <ms;> command line argument.
bool application/run/load_shell_environment = false 🔗
If true, loads the default shell and copies environment variables set by the shell startup scripts to the app environment.
Note: This setting is implemented on macOS for non-sandboxed applications only.
bool application/run/low_processor_mode = false 🔗
If true, enables low-processor usage mode. When enabled, the engine takes longer to redraw, but only redraws the screen if necessary. This may lower power consumption, and is intended for editors or mobile applications. For most games, because the screen needs to be redrawn every frame, it is recommended to keep this setting disabled.
int application/run/low_processor_mode_sleep_usec = 6900 🔗
Cantidad de sueño entre fotogramas cuando se activa el modo de uso del procesador bajo (en microsegundos). Valores más altos resultarán en un menor uso de la CPU.
String application/run/main_loop_type = "SceneTree" 🔗
The name of the type implementing the engine's main loop.
String application/run/main_scene = "" 🔗
Ruta al archivo de la escena principal que se cargará cuando se ejecute el proyecto.
int application/run/max_fps = 0 🔗
Maximum number of frames per second allowed. A value of 0 means "no limit". The actual number of frames per second may still be below this value if the CPU or GPU cannot keep up with the project logic and rendering.
Limiting the FPS can be useful to reduce system power consumption, which reduces heat and noise emissions (and improves battery life on mobile devices).
If display/window/vsync/vsync_mode is set to Enabled or Adaptive, it takes precedence and the forced FPS number cannot exceed the monitor's refresh rate.
If display/window/vsync/vsync_mode is Enabled, on monitors with variable refresh rate enabled (G-Sync/FreeSync), using an FPS limit a few frames lower than the monitor's refresh rate will reduce input lag while avoiding tearing.
If display/window/vsync/vsync_mode is Disabled, limiting the FPS to a high value that can be consistently reached on the system can reduce input lag compared to an uncapped framerate. Since this works by ensuring the GPU load is lower than 100%, this latency reduction is only effective in GPU-bottlenecked scenarios, not CPU-bottlenecked scenarios.
See also physics/common/physics_ticks_per_second.
This setting can be overridden using the --max-fps <fps> command line argument (including with a value of 0 for unlimited framerate).
Note: This property is only read when the project starts. To change the rendering FPS cap at runtime, set Engine.max_fps instead.
bool application/run/print_header = true 🔗
If true, the engine header is printed in the console on startup. This header describes the current version of the engine, as well as the renderer being used. This behavior can also be disabled on the command line with the --no-header option.
float audio/buses/channel_disable_threshold_db = -60.0 🔗
Los buses de audio se desactivarán automáticamente cuando el sonido baje de un determinado umbral de dB durante un tiempo determinado. Esto ahorra a la CPU ya que los efectos asignados a ese bus ya no harán ningún tipo de procesamiento.
float audio/buses/channel_disable_time = 2.0 🔗
Los buses de audio se desactivarán automáticamente cuando el sonido baje de un determinado umbral de dB durante un tiempo determinado. Esto ahorra a la CPU ya que los efectos asignados a ese bus ya no harán ningún tipo de procesamiento.
String audio/buses/default_bus_layout = "res://default_bus_layout.tres" 🔗
Archivo de recursos AudioBusLayout por defecto para usar en el proyecto, a menos que sea sobreescrito por la escena.
Specifies the audio driver to use. This setting is platform-dependent as each platform supports different audio drivers. If left empty, the default audio driver will be used.
The Dummy audio driver disables all audio playback and recording, which is useful for non-game applications as it reduces CPU usage. It also prevents the engine from appearing as an application playing audio in the OS' audio mixer.
To query the value that is being used at run-time (which may be overridden by command-line arguments or headless mode), use AudioServer.get_driver_name().
Note: The driver in use can be overridden at runtime via the --audio-driver command line argument.
bool audio/driver/enable_input = false 🔗
If true, microphone input will be allowed. This requires appropriate permissions to be set when exporting to Android or iOS.
Note: If the operating system blocks access to audio input devices (due to the user's privacy settings), audio capture will only return silence. On Windows, make sure that apps are allowed to access the microphone in the OS' privacy settings.
int audio/driver/mix_rate = 44100 🔗
Target mixing rate used for audio (in Hz). In general, it's better to not touch this and leave it to the host operating system.
Note: On iOS and macOS, mixing rate is determined by audio driver, this value is ignored.
Note: Input and output mixing rates might be different. Use AudioServer.get_mix_rate() and AudioServer.get_input_mix_rate() to get actual values.
int audio/driver/mix_rate.web = 0 🔗
Safer override for audio/driver/mix_rate in the Web platform. Here 0 means "let the browser choose" (since some browsers do not like forcing the mix rate).
int audio/driver/output_latency = 15 🔗
Specifies the preferred output latency in milliseconds for audio. Lower values will result in lower audio latency at the cost of increased CPU usage. Low values may result in audible crackling on slower hardware.
Audio output latency may be constrained by the host operating system and audio hardware drivers. If the host can not provide the specified audio output latency then Godot will attempt to use the nearest latency allowed by the host. As such you should always use AudioServer.get_output_latency() to determine the actual audio output latency.
Audio output latency can be overridden using the --audio-output-latency <ms> command line argument.
Note: This setting is ignored on Android.
int audio/driver/output_latency.web = 50 🔗
Safer override for audio/driver/output_latency in the Web platform, to avoid audio issues especially on mobile devices.
float audio/general/2d_panning_strength = 0.5 🔗
The base strength of the panning effect for all AudioStreamPlayer2D nodes. The panning strength can be further scaled on each Node using AudioStreamPlayer2D.panning_strength. A value of 0.0 disables stereo panning entirely, leaving only volume attenuation in place. A value of 1.0 completely mutes one of the channels if the sound is located exactly to the left (or right) of the listener.
The default value of 0.5 is tuned for headphones. When using speakers, you may find lower values to sound better as speakers have a lower stereo separation compared to headphones.
float audio/general/3d_panning_strength = 0.5 🔗
The base strength of the panning effect for all AudioStreamPlayer3D nodes. The panning strength can be further scaled on each Node using AudioStreamPlayer3D.panning_strength. A value of 0.0 disables stereo panning entirely, leaving only volume attenuation in place. A value of 1.0 completely mutes one of the channels if the sound is located exactly to the left (or right) of the listener.
The default value of 0.5 is tuned for headphones which means that the opposite side channel goes no lower than 50% of the volume of the nearside channel. You may find that you can set this value higher for speakers to have the same effect since both ears can hear from each speaker.
int audio/general/default_playback_type = 0 🔗
Experimental: Esta propiedad podría ser modificada o eliminada en versiones futuras.
Specifies the default playback type of the platform.
The default value is set to Stream, as most platforms have no issues mixing streams.
int audio/general/default_playback_type.web = 1 🔗
Experimental: Esta propiedad podría ser modificada o eliminada en versiones futuras.
Specifies the default playback type of the Web platform.
The default value is set to Sample as the Web platform is not suited to mix audio streams outside of the Web Audio API, especially when exporting a single-threaded game. Sample allows for lower latency on the web platform at the cost of flexibility (AudioEffects are not supported).
Warning: Forcing Stream on the Web platform may cause high audio latency and crackling, especially when exporting a multi-threaded game.
bool audio/general/ios/mix_with_others = false 🔗
Sets the mixWithOthers option for the AVAudioSession on iOS. This will override the mix behavior, if the category is set to Play and Record, Playback, or Multi Route.
Ambient always has this set per default.
int audio/general/ios/session_category = 0 🔗
Sets the AVAudioSessionCategory on iOS. Use the Playback category to get sound output, even if the phone is in silent mode.
bool audio/general/text_to_speech = false 🔗
If true, text-to-speech support is enabled on startup, otherwise it is enabled first time TTS method is used, see DisplayServer.tts_get_voices() and DisplayServer.tts_speak().
Note: Enabling TTS can cause addition idle CPU usage and interfere with the sleep mode, so consider disabling it if TTS is not used.
int audio/video/video_delay_compensation_ms = 0 🔗
Setting to hardcode audio delay when playing video. Best to leave this unchanged unless you know what you are doing.
bool collada/use_ambient = false 🔗
If true, ambient lights will be imported from COLLADA models as DirectionalLight3D. If false, ambient lights will be ignored.
int compression/formats/gzip/compression_level = -1 🔗
El nivel de compresión por defecto para el gzip. Afecta a las escenas y recursos comprimidos. Los niveles más altos dan como resultado archivos más pequeños a costa de la velocidad de compresión. La velocidad de descompresión no se ve afectada por el nivel de compresión. -1 utiliza el nivel de compresión predeterminado de gzip, que es idéntico al de 6 pero podría cambiar en el futuro debido a las actualizaciones subyacentes de zlib.
int compression/formats/zlib/compression_level = -1 🔗
El nivel de compresión por defecto para Zlib. Afecta a las escenas y recursos comprimidos. Los niveles más altos dan como resultado archivos más pequeños a costa de la velocidad de compresión. La velocidad de descompresión no se ve afectada por el nivel de compresión. -1 utiliza el nivel de compresión predeterminado de gzip, que es idéntico al de 6 pero podría cambiar en el futuro debido a las actualizaciones subyacentes de zlib.
int compression/formats/zstd/compression_level = 3 🔗
El nivel de compresión por defecto para Zstandard. Afecta a las escenas y recursos comprimidos. Los niveles más altos dan como resultado archivos más pequeños a costa de la velocidad de compresión. La velocidad de descompresión no se ve afectada por el nivel de compresión.
bool compression/formats/zstd/long_distance_matching = false 🔗
Habilita la coincidencia a larga distancia en Zstandard.
int compression/formats/zstd/window_log_size = 27 🔗
Límite de tamaño más grande (en potencia de 2) permitido cuando se comprime usando la correspondencia a larga distancia con Zstandard. Valores más altos pueden resultar en una mejor compresión, pero requerirán más memoria al comprimir y descomprimir.
Color debug/canvas_items/debug_redraw_color = Color(1, 0.2, 0.2, 0.5) 🔗
If canvas item redraw debugging is active, this color will be flashed on canvas items when they redraw.
float debug/canvas_items/debug_redraw_time = 1.0 🔗
If canvas item redraw debugging is active, this will be the time the flash will last each time they redraw.
bool debug/file_logging/enable_file_logging = false 🔗
If true, logs all output and error messages to files. See also debug/file_logging/log_path, debug/file_logging/max_log_files, and application/run/flush_stdout_on_print.
bool debug/file_logging/enable_file_logging.pc = true 🔗
Desktop override for debug/file_logging/enable_file_logging, as log files are not readily accessible on mobile/Web platforms.
String debug/file_logging/log_path = "user://logs/godot.log" 🔗
Path at which to store log files for the project. Using a path under user:// is recommended.
This can be specified manually on the command line using the --log-file <file> command line argument. If this command line argument is specified, log rotation is automatically disabled (see debug/file_logging/max_log_files).
int debug/file_logging/max_log_files = 5 🔗
Specifies the maximum number of log files allowed (used for rotation). Set to 1 to disable log file rotation.
If the --log-file <file> command line argument is used, log rotation is always disabled.
int debug/gdscript/warnings/assert_always_false = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una llamada a assert siempre se evalúa como false.
int debug/gdscript/warnings/assert_always_true = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una llamada a assert siempre se evalúa como true.
int debug/gdscript/warnings/confusable_capture_reassignment = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando se reasigna una variable local capturada por una lambda, ya que esto no modifica la variable local externa.
int debug/gdscript/warnings/confusable_identifier = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando un identificador contiene caracteres que pueden confundirse con otra cosa, como al mezclar diferentes alfabetos.
int debug/gdscript/warnings/confusable_local_declaration = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando un identificador declarado en el bloque anidado tiene el mismo nombre que un identificador declarado más abajo en el bloque padre.
int debug/gdscript/warnings/confusable_local_usage = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando se utiliza un identificador que será sombreado más abajo en el bloque.
int debug/gdscript/warnings/deprecated_keyword = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando se utilizan palabras clave obsoletas.
Nota: Actualmente no hay palabras clave obsoletas, por lo que esta advertencia nunca se produce.
int debug/gdscript/warnings/empty_file = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando se analiza un archivo vacío.
bool debug/gdscript/warnings/enable = true 🔗
Si es true, habilita advertencias específicas de GDScript (véase la configuración de debug/gdscript/warnings/*). Si false, desactiva todas las advertencias de GDScript.
int debug/gdscript/warnings/enum_variable_without_default = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una variable tiene un tipo de enum pero no un valor predeterminado explícito, pero solo si el enum no contiene 0 como un valor válido.
bool debug/gdscript/warnings/exclude_addons = true 🔗
Si es true, los scripts de la carpeta res://addons no generarán advertencias.
int debug/gdscript/warnings/get_node_default_without_onready = 2 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando Node.get_node() (o la forma abreviada $) se utiliza como valor predeterminado de una variable de clase sin la anotación @onready.
int debug/gdscript/warnings/incompatible_ternary = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando un operador ternario puede emitir valores con tipos incompatibles.
int debug/gdscript/warnings/inference_on_variant = 2 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando un tipo estático inferido utiliza una Variant como valor inicial, lo que hace que el tipo estático también sea Variant.
int debug/gdscript/warnings/inferred_declaration = 0 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una variable, constante o parámetro tiene un tipo estático inferido implícitamente. En GDScript, la inferencia de tipos se realiza declarando una variable con := en lugar de = y omitiendo el especificador de tipo. Por ejemplo, var x := 1 inferirá el tipo int, mientras que var x: int = 1 declara explícitamente la variable como int.
Nota: Se recomienda esta advertencia además de debug/gdscript/warnings/untyped_declaration si quieres especificar siempre el tipo explícitamente. Tener el nivel de advertencia INFERRED_DECLARATION más alto que el nivel de advertencia UNTYPED_DECLARATION tiene poco sentido y no se recomienda.
int debug/gdscript/warnings/int_as_enum_without_cast = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al intentar usar un entero como un enum sin una conversión explícita.
int debug/gdscript/warnings/int_as_enum_without_match = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al intentar usar un entero como un enum cuando no hay un miembro enum coincidente para ese valor numérico.
int debug/gdscript/warnings/integer_division = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al dividir un entero por otro entero (la parte decimal se descartará).
int debug/gdscript/warnings/missing_tool = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando el script de la clase base tiene la anotación @tool, pero el script de la clase actual no la tiene.
int debug/gdscript/warnings/narrowing_conversion = 1 🔗
Cuando se establece en warn o error, se produce una advertencia o un error, respectivamente, al pasar un valor de punto flotante a una función que espera un entero (se convertirá y perderá precisión).
int debug/gdscript/warnings/native_method_override = 2 🔗
Cuando se establece en warn o error, se produce una advertencia o un error, respectivamente, cuando un método en el script reemplaza un método nativo, porque puede que no se comporte como se espera.
int debug/gdscript/warnings/onready_with_export = 2 🔗
Cuando se establece en warn o error, produce una advertencia o un error, respectivamente, cuando la anotación @onready se utiliza junto con la anotación @export, ya que puede que no se comporte como se espera.
int debug/gdscript/warnings/redundant_await = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error, respectivamente, cuando una función que no es una corrutina se llama con await.
int debug/gdscript/warnings/redundant_static_unload = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error, respectivamente, cuando la anotación @static_unload se utiliza en un script sin ninguna variable estática.
bool debug/gdscript/warnings/renamed_in_godot_4_hint = true 🔗
Cuando está activado, el uso de una propiedad, enumeración o función que ha sido renombrada desde Godot 3 producirá una sugerencia si ocurre un error.
int debug/gdscript/warnings/return_value_discarded = 0 🔗
Si está establecido como warn o error, produce una advertencia o un error respectivamente al llamar a una función sin utilizar su valor de retorno (asignándolo a una variable o utilizándolo como argumento de la función). Esos valores de retorno se utilizan a veces para denotar posibles errores mediante el uso del enum Error.
int debug/gdscript/warnings/shadowed_global_identifier = 1 🔗
When set to warn or error, produces a warning or an error respectively when defining a local or member variable, signal, or enum that would have the same name as a built-in function or global class name, thus shadowing it.
int debug/gdscript/warnings/shadowed_variable = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una variable local o una constante local ensombrece a un miembro declarado en la clase actual.
int debug/gdscript/warnings/shadowed_variable_base_class = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una variable local o una constante local ensombrece a un miembro declarado en una clase base.
int debug/gdscript/warnings/standalone_expression = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al llamar a una expresión que puede no tener efecto en el código circundante, como escribir 2 + 2 como una declaración.
int debug/gdscript/warnings/standalone_ternary = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al llamar a una expresión ternaria que puede no tener efecto en el código circundante, como escribir 42 if active else 0 como una declaración.
int debug/gdscript/warnings/static_called_on_instance = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al llamar a un método estático desde una instancia de una clase en lugar de la clase directamente.
int debug/gdscript/warnings/unassigned_variable = 1 🔗
Cuando se establece en warn o error, se produce una advertencia o un error respectivamente al usar una variable que no ha sido asignada previamente.
int debug/gdscript/warnings/unassigned_variable_op_assign = 1 🔗
Cuando se establece en warn o error, se produce una advertencia o un error respectivamente al asignar una variable usando un operador de asignación como += si la variable no ha sido asignada previamente.
int debug/gdscript/warnings/unreachable_code = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando se detecta código inalcanzable (como después de una sentencia return que siempre se ejecutará).
int debug/gdscript/warnings/unreachable_pattern = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando se detecta un patrón de match inalcanzable.
int debug/gdscript/warnings/unsafe_call_argument = 0 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al usar una expresión cuyo tipo puede no ser compatible con el parámetro de función esperado.
int debug/gdscript/warnings/unsafe_cast = 0 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando un valor Variant es convertido a un no-Variant.
int debug/gdscript/warnings/unsafe_method_access = 0 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al llamar a un método cuya presencia no está garantizada en tiempo de compilación en la clase.
int debug/gdscript/warnings/unsafe_property_access = 0 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al acceder a una propiedad cuya presencia no está garantizada en tiempo de compilación en la clase.
int debug/gdscript/warnings/unsafe_void_return = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente al devolver una llamada desde una función void cuando no se puede garantizar que dicha llamada sea también void.
int debug/gdscript/warnings/untyped_declaration = 0 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una variable o parámetro no tiene un tipo estático, o si una función no tiene un tipo de retorno estático.
Nota: Se recomienda esta advertencia junto con EditorSettings.text_editor/completion/add_type_hints para ayudar a lograr la seguridad de tipos.
int debug/gdscript/warnings/unused_local_constant = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una constante local nunca es utilizada.
int debug/gdscript/warnings/unused_parameter = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando un parámetro de función nunca es utilizado.
int debug/gdscript/warnings/unused_private_class_variable = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una variable miembro privada nunca es utilizada.
int debug/gdscript/warnings/unused_signal = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una señal es declarada pero nunca se usa explícitamente en la clase.
int debug/gdscript/warnings/unused_variable = 1 🔗
Cuando se establece en warn o error, produce una advertencia o un error respectivamente cuando una variable local no es utilizada.
String debug/settings/crash_handler/message = "Please include this when reporting the bug to the project developer." 🔗
Message to be displayed before the backtrace when the engine crashes. By default, this message is only used in exported projects due to the editor-only override applied to this setting.
String debug/settings/crash_handler/message.editor = "Please include this when reporting the bug on: https://github.com/godotengine/godot/issues" 🔗
Sobrescritura solo para el editor de debug/settings/crash_handler/message. No afecta a los proyectos exportados en modo de depuración o de lanzamiento.
bool debug/settings/gdscript/always_track_call_stacks = false 🔗
Indica si las pilas de llamadas de GDScript se rastrearán en las compilaciones de lanzamiento, lo que permitirá que Engine.capture_script_backtraces() funcione.
Nota: Esta configuración no tiene ningún efecto en las compilaciones del editor o las compilaciones de depuración, donde las pilas de llamadas de GDScript se rastrean de todos modos.
bool debug/settings/gdscript/always_track_local_variables = false 🔗
Indica si las variables locales de GDScript se rastrearán en todas las compilaciones, incluidas las compilaciones de exportación, lo que permite que Engine.capture_script_backtraces() las capture al habilitar su parámetro include_variables.
Habilitar esto tiene el coste de aproximadamente 50 bytes de memoria por variable local, para cada clase compilada en todo el proyecto, por lo que puede ser varios MiB en proyectos más grandes.
Nota: Esta configuración no tiene ningún efecto cuando se ejecuta el juego desde el editor, donde las variables locales de GDScript se rastrean de todos modos.
int debug/settings/gdscript/max_call_stack = 1024 🔗
Máxima pila de llamadas permitida para depurar GDScript.
bool debug/settings/physics_interpolation/enable_warnings = true 🔗
Si es true, habilita advertencias que pueden ayudar a identificar dónde se están actualizando incorrectamente los nodos, lo que provocará una interpolación incorrecta y fallos visuales.
Cuando se interpola un nodo, es esencial que la transformación se establezca durante Node._physics_process() (durante un tick de física) en lugar de Node._process() (durante un frame).
int debug/settings/profiler/max_functions = 16384 🔗
Maximum number of functions per frame allowed when profiling.
int debug/settings/profiler/max_timestamp_query_elements = 256 🔗
Maximum number of timestamp query elements allowed per frame for visual profiling.
bool debug/settings/stdout/print_fps = false 🔗
Imprime fotogramas por segundo a una salida estándar cada segundo.
bool debug/settings/stdout/print_gpu_profile = false 🔗
Imprime la información del perfil de la GPU en la salida estándar cada segundo. Esto incluye cuánto tiempo tarda cada frame en renderizarse en la GPU en promedio, dividido en diferentes pasos de la canalización de renderizado, como CanvasItems, sombras, resplandor, etc.
bool debug/settings/stdout/verbose_stdout = false 🔗
Imprime más información en la salida estándar al ejecutar. Muestra información como fugas de memoria, qué escenas y recursos se están cargando, etc. Esto también se puede habilitar usando el --verbose o -v argumento de línea de comandos, incluso en un proyecto exportado. Véase también OS.is_stdout_verbose() y @GlobalScope.print_verbose().
bool debug/shader_language/warnings/device_limit_exceeded = true 🔗
Cuando se establece en true, produce una advertencia cuando el shader excede ciertos límites del dispositivo. Actualmente, el único límite del dispositivo que se comprueba es el límite en el tamaño del búfer uniforme. Se agregarán más límites de dispositivo en el futuro.
bool debug/shader_language/warnings/enable = true 🔗
Si es true, habilita advertencias específicas del shader (véase la configuración de debug/shader_language/warnings/*). Si es false, desactiva todas las advertencias del shader.
bool debug/shader_language/warnings/float_comparison = true 🔗
Cuando se establece en true, produce una advertencia cuando dos números de punto flotante se comparan directamente con el operador == o el operador !=.
bool debug/shader_language/warnings/formatting_error = true 🔗
Cuando se establece en true, produce una advertencia al encontrar ciertos errores de formato. Actualmente, esto solo verifica si hay declaraciones vacías. Se pueden agregar más errores de formato con el tiempo.
bool debug/shader_language/warnings/magic_position_write = true 🔗
Cuando se establece en true, produce una advertencia cuando el shader contiene POSITION = vec4(vertex,, ya que este era un código muy común escrito en Godot 4.2 y versiones anteriores que se combinaba con un QuadMesh para producir un pase de postprocesamiento de pantalla completa. Con el cambio a la Z invertida en 4.3, este truco ya no funciona, ya que dependía implícitamente de que VERTEX.z fuera 0.
bool debug/shader_language/warnings/treat_warnings_as_errors = false 🔗
Cuando se establece en true, las advertencias se tratan como errores.
bool debug/shader_language/warnings/unused_constant = true 🔗
Cuando se establece en true, se produce una advertencia cuando una constante nunca se utiliza.
bool debug/shader_language/warnings/unused_function = true 🔗
Cuando se establece en true, se produce una advertencia cuando una función nunca se utiliza.
bool debug/shader_language/warnings/unused_local_variable = true 🔗
Cuando se establece en true, se produce una advertencia cuando una variable local nunca se utiliza.
bool debug/shader_language/warnings/unused_struct = true 🔗
Cuando se establece en true, se produce una advertencia cuando una struct nunca se utiliza.
bool debug/shader_language/warnings/unused_uniform = true 🔗
Cuando se establece en true, se produce una advertencia cuando una uniform nunca se utiliza.
bool debug/shader_language/warnings/unused_varying = true 🔗
Cuando se establece en true, se produce una advertencia cuando una varying nunca se utiliza.
Color debug/shapes/avoidance/2d/agents_radius_color = Color(1, 1, 0, 0.25) 🔗
Color del radio de los agentes de evitación, visible cuando "Evitación Visible" está activada en el menú Depuración.
bool debug/shapes/avoidance/2d/enable_agents_radius = true 🔗
Si está activado, muestra el radio de los agentes de evitación cuando "Evitación Visible" está activada en el menú Depuración.
bool debug/shapes/avoidance/2d/enable_obstacles_radius = true 🔗
Si está activado, muestra el radio de los obstáculos de evitación cuando "Evitación Visible" está activada en el menú Depuración.
bool debug/shapes/avoidance/2d/enable_obstacles_static = true 🔗
Si está activado, muestra los obstáculos estáticos de evitación cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/2d/obstacles_radius_color = Color(1, 0.5, 0, 0.25) 🔗
Color del radio de los obstáculos de evitación, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/2d/obstacles_static_edge_pushin_color = Color(1, 0, 0, 1) 🔗
Color de los bordes de los obstáculos estáticos de evitación cuando sus vértices están orientados para empujar a los agentes hacia adentro, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/2d/obstacles_static_edge_pushout_color = Color(1, 1, 0, 1) 🔗
Color de los bordes de los obstáculos estáticos de evitación cuando sus vértices están orientados para empujar a los agentes hacia afuera, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/2d/obstacles_static_face_pushin_color = Color(1, 0, 0, 0) 🔗
Color de las caras de los obstáculos estáticos de evitación cuando sus vértices están orientados para empujar a los agentes hacia adentro, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/2d/obstacles_static_face_pushout_color = Color(1, 1, 0, 0.5) 🔗
Color de las caras de los obstáculos estáticos de evitación cuando sus vértices están orientados para empujar a los agentes hacia afuera, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/3d/agents_radius_color = Color(1, 1, 0, 0.25) 🔗
Color del radio de los agentes de evitación, visible cuando "Evitación Visible" está activada en el menú Depuración.
bool debug/shapes/avoidance/3d/enable_agents_radius = true 🔗
Si está activado, muestra el radio de los agentes de evitación cuando "Evitación Visible" está activada en el menú Depuración.
bool debug/shapes/avoidance/3d/enable_obstacles_radius = true 🔗
Si está activado, muestra el radio de los obstáculos de evitación cuando "Evitación Visible" está activada en el menú Depuración.
bool debug/shapes/avoidance/3d/enable_obstacles_static = true 🔗
Si está activado, muestra los obstáculos estáticos de evitación cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/3d/obstacles_radius_color = Color(1, 0.5, 0, 0.25) 🔗
Color del radio de los obstáculos de evitación, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/3d/obstacles_static_edge_pushin_color = Color(1, 0, 0, 1) 🔗
Color de los bordes de los obstáculos estáticos de evitación cuando sus vértices están orientados para empujar a los agentes hacia adentro, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/3d/obstacles_static_edge_pushout_color = Color(1, 1, 0, 1) 🔗
Color de los bordes de los obstáculos estáticos de evitación cuando sus vértices están orientados para empujar a los agentes hacia afuera, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/3d/obstacles_static_face_pushin_color = Color(1, 0, 0, 0) 🔗
Color de las caras de los obstáculos estáticos de evitación cuando sus vértices están orientados para empujar a los agentes hacia adentro, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/avoidance/3d/obstacles_static_face_pushout_color = Color(1, 1, 0, 0.5) 🔗
Color de las caras de los obstáculos estáticos de evitación cuando sus vértices están orientados para empujar a los agentes hacia afuera, visible cuando "Evitación Visible" está activada en el menú Depuración.
Color debug/shapes/collision/contact_color = Color(1, 0.2, 0.1, 0.8) 🔗
Color de los puntos de contacto entre las formas de colisión, visible cuando "Formas de colisión visibles" está activado en el menú de Depuración.
bool debug/shapes/collision/draw_2d_outlines = true 🔗
Establece si la física 2D mostrará los contornos de colisión en el juego cuando "Formas de colisión visibles" esté activado en el menú Depuración.
int debug/shapes/collision/max_contacts_displayed = 10000 🔗
Número máximo de puntos de contacto entre las formas de colisión a mostrar cuando "Formas de colisión visibles" está activado en el menú de Depuración.
Color debug/shapes/collision/shape_color = Color(0, 0.6, 0.7, 0.42) 🔗
Color de las formas de colisión, visible cuando "Formas de colisión visibles" está activado en el menú de Depuración.
Color para mostrar las rutas de los agentes de navegación habilitados cuando un agente tiene la depuración habilitada.
Tamaño rasterizado (píxel) utilizado para renderizar los puntos de la ruta del agente de navegación cuando un agente tiene la depuración habilitada.
Color para mostrar las conexiones de borde entre las regiones de navegación, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Si está activado, muestra las rutas de los agentes de navegación cuando un agente tiene la depuración habilitada.
Si está activado, muestra las conexiones de borde entre las regiones de navegación cuando "Navegación Visible" está habilitada en el menú Depuración.
Si está activado, muestra los bordes del polígono de la malla de navegación cuando "Navegación Visible" está activada en el menú Depuración.
Si está activado, colorea cada cara del polígono de la malla de navegación con un color aleatorio cuando "Navegación Visible" está activada en el menú Depuración.
Si está activado, muestra las conexiones de los enlaces de navegación cuando "Navegación Visible" está activada en el menú Depuración.
Color para mostrar los bordes del polígono de la malla de navegación habilitada, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Color para mostrar los bordes del polígono de la malla de navegación deshabilitada, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Color para mostrar las caras del polígono de la malla de navegación habilitada, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Color para mostrar las caras del polígono de la malla de navegación deshabilitada, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Color a usar para mostrar las conexiones de los enlaces de navegación, visible cuando "Navegación Visible" está activada en el menú Depuración.
Color a usar para mostrar las conexiones de los enlaces de navegación desactivados, visible cuando "Navegación Visible" está activada en el menú Depuración.
Color para mostrar las rutas de los agentes de navegación habilitados cuando un agente tiene la depuración habilitada.
Tamaño rasterizado (píxel) utilizado para renderizar los puntos de la ruta del agente de navegación cuando un agente tiene la depuración habilitada.
Color para mostrar las conexiones de borde entre las regiones de navegación, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Si está activado, muestra las rutas de los agentes de navegación cuando un agente tiene la depuración habilitada.
Si está activado, muestra las rutas de los agentes de navegación a través de la geometría cuando un agente tiene la depuración habilitada.
Si está activado, muestra las conexiones de borde entre las regiones de navegación cuando "Navegación Visible" está habilitada en el menú Depuración.
Si está activado, muestra las conexiones de borde entre las regiones de navegación a través de la geometría cuando "Navegación Visible" está habilitada en el menú Depuración.
Si está activado, muestra los bordes del polígono de la malla de navegación cuando "Navegación Visible" está activada en el menú Depuración.
Si está activado, muestra los bordes de los polígonos de la malla de navegación a través de la geometría cuando la opción "Navegación Visible" está activada en el menú Depuración.
Si está activado, colorea cada cara del polígono de la malla de navegación con un color aleatorio cuando "Navegación Visible" está activada en el menú Depuración.
Si está activado, muestra las conexiones de los enlaces de navegación cuando "Navegación Visible" está activada en el menú Depuración.
Si está activado, muestra las conexiones de los enlaces de navegación a través de la geometría cuando "Navegación Visible" está activada en el menú Depuración.
Color para mostrar los bordes del polígono de la malla de navegación habilitada, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Color para mostrar los bordes del polígono de la malla de navegación deshabilitada, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Color para mostrar las caras del polígono de la malla de navegación habilitada, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Color para mostrar las caras del polígono de la malla de navegación deshabilitada, visible cuando "Navegación Visible" está habilitada en el menú Depuración.
Color a usar para mostrar las conexiones de los enlaces de navegación, visible cuando "Navegación Visible" está activada en el menú Depuración.
Color a usar para mostrar las conexiones de los enlaces de navegación desactivados, visible cuando "Navegación Visible" está activada en el menú Depuración.
Color debug/shapes/paths/geometry_color = Color(0.1, 1, 0.7, 0.4) 🔗
Color de la geometría del camino del trayecto, visible cuando la opción "Trayectos Visibles" está activada en el menú Depuración.
float debug/shapes/paths/geometry_width = 2.0 🔗
Ancho de línea de la geometría del camino del trayecto, visible cuando "Trayectos Visibles" está habilitado en el menú Depuración.
String display/display_server/driver 🔗
Establece el driver que utilizará el servidor de visualización. Esta propiedad no se puede editar directamente, en su lugar, establece el driver utilizando las sobrescrituras específicas de la plataforma.
String display/display_server/driver.android 🔗
Sobrescritura de Android para display/display_server/driver.
String display/display_server/driver.ios 🔗
Sobrescritura de iOS para display/display_server/driver.
String display/display_server/driver.linuxbsd 🔗
Sobrescritura de LinuxBSD para display/display_server/driver.
String display/display_server/driver.macos 🔗
Sobrescritura de MacOS para display/display_server/driver.
String display/display_server/driver.visionos 🔗
Sobrescritura de visionOS para display/display_server/driver.
String display/display_server/driver.windows 🔗
Sobrescritura de Windows para display/display_server/driver.
String display/mouse_cursor/custom_image = "" 🔗
Imagen personalizada para el cursor del ratón (limitada a 256×256).
Vector2 display/mouse_cursor/custom_image_hotspot = Vector2(0, 0) 🔗
Punto donde se encuentra la imagen personalizada del cursor del ratón.
Vector2 display/mouse_cursor/tooltip_position_offset = Vector2(10, 10) 🔗
Desplazamiento de la posición de las sugerencias, en relación con el punto donde se encuentra el cursor del ratón.
bool display/window/dpi/allow_hidpi = true 🔗
Si es true, permite la visualización HiDPI en Windows, macOS, Android, iOS y Web. Si es false, se utilizará el fallback de baja resolución DPI de la plataforma en pantallas HiDPI, lo que hará que la ventana se muestre de forma borrosa o pixelada (y puede causar varios errores de administración de ventanas). Por lo tanto, se recomienda escalar tu proyecto a múltiples resoluciones en lugar de desactivar este ajuste.
Nota: Este ajuste no tiene ningún efecto en Linux, ya que los fallbacks de reconocimiento de DPI no son compatibles allí.
bool display/window/energy_saving/keep_screen_on = true 🔗
Si es true, mantiene la pantalla encendida (incluso en caso de inactividad), por lo que el salvapantallas no toma el control. Funciona en plataformas de escritorio y móviles.
bool display/window/frame_pacing/android/enable_frame_pacing = true 🔗
Activa Swappy para un ritmo de fotogramas estable en Android. Muy recomendable.
Nota: Esta opción se desactivará obligatoriamente cuando se utilice OpenXR.
int display/window/frame_pacing/android/swappy_mode = 2 🔗
Modo Swappy a utilizar. Las opciones son:
pipeline_forced_on: Intenta respetar Engine.max_fps. El pipeline siempre está activado. Este es el mismo comportamiento que un PC de escritorio.auto_fps_pipeline_forced_on: Calcula los FPS máximos automáticamente. Los FPS máximos reales estarán entre0y Engine.max_fps. Si bien esto suena conveniente, ten cuidado porque Swappy a menudo reducirá los FPS máximos hasta que encuentre un valor que pueda mantenerse. Eso significa que, si tu juego se ejecuta entre 40 FPS y 60 FPS en una pantalla de 60 Hz, después de un tiempo Swappy reducirá los FPS máximos para que el juego se renderice a 30 FPS perfectos.auto_fps_auto_pipeline: Igual queauto_fps_pipeline_forced_on, pero si Swappy detecta que el renderizado es muy rápido (por ejemplo, tarda menos de 8 ms en renderizarse en una pantalla de 60 Hz), Swappy desactivará el pipeline para minimizar la latencia de entrada. Este es el valor predeterminado.
Nota: Si Engine.max_fps es 0, los FPS máximos reales se considerarán la frecuencia de actualización de la pantalla (a menudo 60 Hz, 90 Hz o 120 Hz, dependiendo del modelo de dispositivo y la configuración del sistema operativo).
int display/window/handheld/orientation = 0 🔗
La orientación de pantalla predeterminada para usar en dispositivos móviles. Véase ScreenOrientation para ver los valores posibles.
Nota: Cuando se establece en una orientación vertical, esta configuración del proyecto no invierte automáticamente el ancho y el alto de la resolución del proyecto. En su lugar, debes establecer display/window/size/viewport_width y display/window/size/viewport_height en consecuencia.
bool display/window/ios/allow_high_refresh_rate = true 🔗
Si es true, los dispositivos iOS que admiten una alta frecuencia de actualización/"ProMotion" podrán renderizar hasta 120 fotogramas por segundo.
bool display/window/ios/hide_home_indicator = true 🔗
Si es true, el indicador de casa se oculta automáticamente. Esto sólo afecta a los dispositivos iOS sin un botón de inicio físico.
bool display/window/ios/hide_status_bar = true 🔗
Si es true, la barra de estado se oculta mientras la aplicación está en ejecución.
bool display/window/ios/suppress_ui_gesture = true 🔗
Si es true, se requerirán dos deslizamientos para acceder a la interfaz de usuario de iOS que usa gestos.
Nota: Este ajuste no tiene efecto en el indicador de inicio si hide_home_indicator es true.
bool display/window/per_pixel_transparency/allowed = false 🔗
Si es true, permite la transparencia por píxel para el fondo de la ventana. Esto afecta al rendimiento, así que déjalo en false a menos que lo necesites. Véase también display/window/size/transparent y rendering/viewport/transparent_background.
bool display/window/size/always_on_top = false 🔗
Fuerza que la ventana principal esté siempre en primer plano.
Nota: Este ajuste se ignora en iOS, Android y Web.
bool display/window/size/borderless = false 🔗
Fuerza que la ventana principal no tenga bordes.
Nota: Este ajuste se ignora en iOS, Android y Web.
bool display/window/size/extend_to_title = false 🔗
El contenido de la ventana principal se expande al tamaño completo de la ventana. A diferencia de una ventana sin bordes, el marco se deja intacto y se puede usar para redimensionar la ventana, y la barra de título es transparente, pero tiene botones de minimizar/maximizar/cerrar.
Nota: Este ajuste solo se implementa en macOS.
Vector2i display/window/size/initial_position = Vector2i(0, 0) 🔗
Main window initial position (in virtual desktop coordinates), this setting is used only if display/window/size/initial_position_type is set to "Absolute" (0).
Note: This setting only affects the exported project, or when the project is run from the command line. In the editor, the value of EditorSettings.run/window_placement/rect_custom_position is used instead.
int display/window/size/initial_position_type = 1 🔗
Posición inicial de la ventana principal.
0 - "Absoluta", display/window/size/initial_position se utiliza para establecer la posición de la ventana.
1 - "Centro de la pantalla principal".
2 - "Centro de otra pantalla", display/window/size/initial_screen se utiliza para establecer la pantalla.
Nota: Este ajuste solo afecta al proyecto exportado, o cuando el proyecto se ejecuta desde la línea de comandos. En el editor, se utiliza el valor de EditorSettings.run/window_placement/rect en su lugar.
int display/window/size/initial_screen = 0 🔗
Pantalla inicial de la ventana principal, este ajuste solo se utiliza si display/window/size/initial_position_type está establecido en "Centro de otra pantalla" (2).
Nota: Este ajuste solo afecta al proyecto exportado, o cuando el proyecto se ejecuta desde la línea de comandos. En el editor, se utiliza el valor de EditorSettings.run/window_placement/screen en su lugar.
bool display/window/size/maximize_disabled = false 🔗
Si es true, el botón de maximizar de la ventana principal está desactivado.
bool display/window/size/minimize_disabled = false 🔗
Si es true, el botón de minimizar de la ventana principal está desactivado.
int display/window/size/mode = 0 🔗
Modo de la ventana principal. Véase WindowMode para ver los valores posibles y cómo se comporta cada modo.
Nota: La incrustación de juegos solo está disponible en el modo "En ventana".
bool display/window/size/no_focus = false 🔗
La ventana principal no se puede enfocar. La ventana sin foco ignorará todas las entradas, excepto los clics del ratón.
bool display/window/size/resizable = true 🔗
Si es true, permite que la ventana se pueda redimensionar de forma predeterminada.
Nota: Esta propiedad solo se lee cuando el proyecto se inicia. Para cambiar si la ventana se puede redimensionar en tiempo de ejecución, establece Window.unresizable en su lugar en la ventana raíz, que se puede recuperar utilizando get_viewport().get_window(). Window.unresizable toma el valor opuesto de este ajuste.
Nota: Ciertos administradores de ventanas se pueden configurar para ignorar el estado no redimensionable de una ventana. No confíes en este ajuste como una garantía de que la ventana nunca será redimensionable.
Nota: Este ajuste se ignora en iOS.
bool display/window/size/sharp_corners = false 🔗
Si es true, la ventana principal usa esquinas puntiagudas por defecto.
Nota: Esta propiedad solo está implementada en Windows (11).
bool display/window/size/transparent = false 🔗
Si es true, activa una sugerencia del administrador de ventanas de que el fondo de la ventana principal puede ser transparente. Esto no hace que el fondo sea realmente transparente. Para que el fondo sea transparente, el viewport raíz también debe hacerse transparente activando rendering/viewport/transparent_background.
Nota: Para usar una pantalla de presentación transparente, establece application/boot_splash/bg_color a Color(0, 0, 0, 0).
Nota: Este ajuste no tiene ningún efecto si display/window/per_pixel_transparency/allowed está establecido en false.
Nota: Este ajuste no tiene ningún efecto en Android, ya que la transparencia se controla únicamente a través de display/window/per_pixel_transparency/allowed.
int display/window/size/viewport_height = 648 🔗
Establece la altura del viewport principal del juego. En las plataformas de escritorio, esta es también la altura inicial de la ventana, representada por un rectángulo de color índigo en el editor 2D. Los ajustes del modo de estiramiento también utilizan esto como referencia cuando se utilizan los modos de estiramiento canvas_items o viewport. Véase también display/window/size/viewport_width, display/window/size/window_width_override y display/window/size/window_height_override.
int display/window/size/viewport_width = 1152 🔗
Establece el ancho del viewport principal del juego. En las plataformas de escritorio, este es también el ancho inicial de la ventana, representado por un rectángulo de color índigo en el editor 2D. Los ajustes del modo de estiramiento también utilizan esto como referencia cuando se utilizan los modos de estiramiento canvas_items o viewport. Véase también display/window/size/viewport_height, display/window/size/window_width_override y display/window/size/window_height_override.
int display/window/size/window_height_override = 0 🔗
En las plataformas de escritorio, sobrescribe la altura inicial de la ventana del juego. Véase también display/window/size/window_width_override, display/window/size/viewport_width y display/window/size/viewport_height.
Nota: Por defecto, o cuando se establece en 0, la altura inicial de la ventana es display/window/size/viewport_height. Este ajuste se ignora en iOS, Android y Web.
int display/window/size/window_width_override = 0 🔗
En plataformas de escritorio, sobrescribe el ancho inicial de la ventana del juego. Véase también display/window/size/window_height_override, display/window/size/viewport_width y display/window/size/viewport_height.
Nota: Por defecto, o cuando se establece a 0, el ancho inicial de la ventana es el display/window/size/viewport_width. Este ajuste se ignora en iOS, Android y Web.
String display/window/stretch/aspect = "keep" 🔗
There is currently no description for this property. Please help us by contributing one!
String display/window/stretch/mode = "disabled" 🔗
Defines how the base size is stretched to fit the resolution of the window or screen.
"disabled": No stretching happens. One unit in the scene corresponds to one pixel on the screen. In this mode, display/window/stretch/aspect has no effect. Recommended for non-game applications.
"canvas_items": The base size specified in width and height in the project settings is stretched to cover the whole screen (taking display/window/stretch/aspect into account). This means that everything is rendered directly at the target resolution. 3D is unaffected, while in 2D, there is no longer a 1:1 correspondence between sprite pixels and screen pixels, which may result in scaling artifacts. Recommended for most games that don't use a pixel art aesthetic, although it is possible to use this stretch mode for pixel art games too (especially in 3D).
"viewport": The size of the root Viewport is set precisely to the base size specified in the Project Settings' Display section. The scene is rendered to this viewport first. Finally, this viewport is scaled to fit the screen (taking display/window/stretch/aspect into account). Recommended for games that use a pixel art aesthetic.
float display/window/stretch/scale = 1.0 🔗
El multiplicador del factor de escala a utilizar para los elementos 2D. Esto multiplica el factor de escala final determinado por display/window/stretch/mode. Si utilizas el modo de estiramiento Desactivado, este factor de escala se aplica tal cual. Esto se puede ajustar para que la interfaz de usuario sea más fácil de leer en ciertas pantallas.
String display/window/stretch/scale_mode = "fractional" 🔗
La política a utilizar para determinar el factor de escala final para los elementos 2D. Esto afecta a cómo se aplica display/window/stretch/scale, además del factor de escala automático determinado por display/window/stretch/mode.
"fractional": El factor de escala no se modificará.
"integer": El factor de escala se redondeará a un valor entero, lo que significa que el tamaño de la pantalla siempre será un múltiplo entero del tamaño base del viewport. Esto proporciona una apariencia nítida de pixel art.
Nota: Cuando se utiliza el escalado entero con un modo de estiramiento, el cambio de tamaño de la ventana para que sea más pequeña que el tamaño base del viewport recortará el contenido. Considera la posibilidad de evitarlo configurando Window.min_size con el mismo valor que el tamaño base del viewport definido en display/window/size/viewport_width y display/window/size/viewport_height.
bool display/window/subwindows/embed_subwindows = true 🔗
If true, subwindows are embedded in the main window (this is also called single-window mode). Single-window mode can be faster as it does not need to create a separate window for every popup and tooltip, which can be a slow operation depending on the operating system and rendering method in use.
If false, subwindows are created as separate windows (this is also called multi-window mode). This allows them to be moved outside the main window and use native operating system window decorations.
This is equivalent to EditorSettings.interface/editor/single_window_mode in the editor, except the setting's value is inverted.
int display/window/vsync/vsync_mode = 1 🔗
Sets the V-Sync mode for the main game window. The editor's own V-Sync mode can be set using EditorSettings.interface/editor/vsync_mode.
See VSyncMode for possible values and how they affect the behavior of your application.
Depending on the platform and rendering method, the engine will fall back to Enabled if the desired mode is not supported.
V-Sync can be disabled on the command line using the --disable-vsync command line argument.
Note: The Adaptive and Mailbox V-Sync modes are only supported in the Forward+ and Mobile rendering methods, not Compatibility.
Note: This property is only read when the project starts. To change the V-Sync mode at runtime, call DisplayServer.window_set_vsync_mode() instead.
String dotnet/project/assembly_name = "" 🔗
Nombre del ensamblaje .NET. Este nombre se utiliza como nombre de los archivos .csproj y .sln. Por defecto, se establece al nombre del proyecto (application/config/name) permitiendo cambiarlo en el futuro sin afectar al ensamblaje .NET.
int dotnet/project/assembly_reload_attempts = 3 🔗
Número de veces que se intenta recargar el ensamblaje después de reconstruir los ensamblajes .NET. Efectivamente, también es el tiempo de espera en segundos para que termine la descarga de los ensamblajes de script.
String dotnet/project/solution_directory = "" 🔗
Directorio que contiene el archivo .sln. Por defecto, los archivos .sln están en la raíz del directorio del proyecto, junto a los archivos project.godot y .csproj.
Cambiar este valor permite establecer un escenario de múltiples proyectos donde hay múltiples .csproj. Ten en cuenta que el proyecto Godot se considera uno de los proyectos C# en el espacio de trabajo y su directorio raíz debe contener project.godot y .csproj uno al lado del otro.
bool editor/export/convert_text_resources_to_binary = true 🔗
Si es true, los archivos de recursos de texto (tres) y los archivos de escenas de texto (tscn) se convierten a su formato binario correspondiente al exportar. Esto disminuye el tamaño de los archivos y acelera ligeramente la carga.
Nota: Debido a que la extensión de archivo de un recurso puede cambiar en un proyecto exportado, se recomienda encarecidamente utilizar @GDScript.load() o ResourceLoader en lugar de FileAccess para cargar los recursos dinámicamente.
Nota: El archivo de configuración del proyecto (project.godot) siempre se convertirá a binario al exportar, independientemente de este ajuste.
int editor/import/atlas_max_width = 2048 🔗
El ancho máximo a utilizar al importar texturas como un atlas. El valor se redondeará a la potencia de dos más cercana cuando se utilice. Utiliza esto para evitar que las texturas importadas crezcan demasiado en la otra dirección.
bool editor/import/reimport_missing_imported_files = true 🔗
There is currently no description for this property. Please help us by contributing one!
bool editor/import/use_multiple_threads = true 🔗
Si es true, la importación de recursos se ejecuta en múltiples hilos.
bool editor/movie_writer/disable_vsync = false 🔗
Si es true, solicita que V-Sync se desactive al escribir una película (similar a establecer display/window/vsync/vsync_mode a Desactivado). Esto puede acelerar la escritura de vídeo si el hardware es lo suficientemente rápido para renderizar, codificar y guardar el vídeo a una velocidad de fotogramas superior a la frecuencia de actualización del monitor.
Nota: editor/movie_writer/disable_vsync no tiene ningún efecto si el sistema operativo o el controlador de gráficos fuerza V-Sync sin que las aplicaciones puedan desactivarlo.
int editor/movie_writer/fps = 60 🔗
The number of frames per second to record in the video when writing a movie. Simulation speed will adjust to always match the specified framerate, which means the engine will appear to run slower at higher editor/movie_writer/fps values. Certain FPS values will require you to adjust editor/movie_writer/mix_rate to prevent audio from desynchronizing over time.
This can be specified manually on the command line using the --fixed-fps <fps> command line argument.
int editor/movie_writer/mix_rate = 48000 🔗
La frecuencia de mezcla de audio a utilizar en el audio grabado al escribir una película (en Hz). Esto puede ser diferente de audio/driver/mix_rate, pero este valor debe ser divisible por editor/movie_writer/fps para evitar que el audio se desincronice con el tiempo.
String editor/movie_writer/movie_file = "" 🔗
The output path for the movie. The file extension determines the MovieWriter that will be used.
Godot has 3 built-in MovieWriters:
OGV container with Theora for video and Vorbis for audio (
.ogvfile extension). Lossy compression, medium file sizes, fast encoding. The lossy compression quality can be adjusted by changing editor/movie_writer/video_quality and editor/movie_writer/ogv/audio_quality. The resulting file can be viewed in Godot with VideoStreamPlayer and most video players, but not web browsers as they don't support Theora.AVI container with MJPEG for video and uncompressed audio (
.avifile extension). Lossy compression, medium file sizes, fast encoding. The lossy compression quality can be adjusted by changing editor/movie_writer/video_quality. The resulting file can be viewed in most video players, but it must be converted to another format for viewing on the web or by Godot with VideoStreamPlayer. MJPEG does not support transparency. AVI output is currently limited to a file of 4 GB in size at most.PNG image sequence for video and WAV for audio (
.pngfile extension). Lossless compression, large file sizes, slow encoding. Designed to be encoded to a video file with another tool such as FFmpeg after recording. Transparency is currently not supported, even if the root viewport is set to be transparent.
If you need to encode to a different format or pipe a stream through third-party software, you can extend this MovieWriter class to create your own movie writers.
When using PNG output, the frame number will be appended at the end of the file name. It starts from 0 and is padded with 8 digits to ensure correct sorting and easier processing. For example, if the output path is /tmp/hello.png, the first two frames will be /tmp/hello00000000.png and /tmp/hello00000001.png. The audio will be saved at /tmp/hello.wav.
float editor/movie_writer/ogv/audio_quality = 0.5 🔗
La calidad de codificación de audio que se utilizará al escribir audio Vorbis en un archivo, entre -0.1 y 1.0 (inclusive). Los valores más altos de quality dan como resultado una salida con mejor sonido a costa de archivos de mayor tamaño. Incluso con una calidad de 1.0, la compresión sigue siendo con pérdida.
Nota: Esto no afecta a la calidad del vídeo, que se controla mediante editor/movie_writer/video_quality en su lugar.
int editor/movie_writer/ogv/encoding_speed = 4 🔗
El equilibrio entre la velocidad de codificación y la eficiencia de la compresión. La velocidad 1 es la más lenta, pero proporciona la mejor compresión. La velocidad 4 es la más rápida, pero proporciona la peor compresión. La calidad del vídeo no se ve afectada de forma significativa por este ajuste.
int editor/movie_writer/ogv/keyframe_interval = 64 🔗
Fuerza fotogramas clave en el intervalo especificado (en número de fotogramas). Los valores más altos pueden mejorar la compresión hasta un cierto nivel a expensas de una mayor latencia al buscar.
int editor/movie_writer/speaker_mode = 0 🔗
El modo de altavoz a utilizar en el audio grabado al escribir una película. Véase SpeakerMode para ver los valores posibles.
float editor/movie_writer/video_quality = 0.75 🔗
La calidad de codificación de vídeo que se utilizará al escribir un vídeo Theora o AVI (MJPEG) en un archivo, entre 0.0 y 1.0 (inclusive). Los valores más altos de quality dan como resultado una salida de mejor aspecto a costa de archivos de mayor tamaño. Los valores de quality recomendados están entre 0.75 y 0.9. Incluso con una calidad de 1.0, la compresión sigue siendo con pérdida.
String editor/naming/default_signal_callback_name = "_on_{node_name}_{signal_name}" 🔗
El formato del nombre de la retrollamada de señal por defecto (en el Diálogo de Conexión de Señal). Las siguientes sustituciones están disponibles: {NodeName}, {nodeName}, {node_name}, {SignalName}, {signalName}, y {signal_name}.
String editor/naming/default_signal_callback_to_self_name = "_on_{signal_name}" 🔗
The format of the default signal callback name when a signal connects to the same node that emits it (in the Signal Connection Dialog). The following substitutions are available: {NodeName}, {nodeName}, {node_name}, {SignalName}, {signalName}, and {signal_name}.
int editor/naming/node_name_casing = 0 🔗
Al crear nombres de nodos automáticamente, establece el tipo de capitalización a usar en este proyecto. Esto es principalmente un ajuste del editor.
int editor/naming/node_name_num_separator = 0 🔗
Qué usar para separar el nombre del nodo del número. Esto es mayormente un ajuste de editor.
int editor/naming/scene_name_casing = 2 🔗
Al generar nombres de archivos de escena desde el nodo raíz de la escena, establece el tipo de capitalización a usar en este proyecto. Esto es principalmente un ajuste del editor.
int editor/naming/script_name_casing = 0 🔗
Al generar nombres de archivos de script desde el nodo seleccionado, establece el tipo de capitalización a usar en este proyecto. Esto es principalmente un ajuste del editor.
String editor/run/main_run_args = "" 🔗
Los argumentos de la línea de comandos que se añadirán a la propia línea de comandos de Godot al ejecutar el proyecto. Esto no afecta al editor en sí.
Es posible hacer que otro ejecutable ejecute Godot utilizando el marcador de posición %command%. El marcador de posición se reemplazará con la propia línea de comandos de Godot. Los argumentos específicos del programa deben colocarse antes del marcador de posición, mientras que los argumentos específicos de Godot deben colocarse después del marcador de posición.
Por ejemplo, esto se puede utilizar para forzar la ejecución del proyecto en la GPU dedicada en un sistema NVIDIA Optimus en Linux:
prime-run %command%
PackedStringArray editor/script/search_in_file_extensions 🔗
Extensiones de archivo basadas en texto para incluir en la función "Buscar en los archivos" del editor de scripts. Puedes añadir, por ejemplo, tscn si deseas analizar también los archivos de la escena, especialmente si utilizas scripts incorporados que se serializan en los archivos de la escena.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedStringArray for more details.
String editor/script/templates_search_path = "res://script_templates" 🔗
Ruta de búsqueda de plantillas de script específicas del proyecto. Godot buscará plantillas de script tanto en la ruta específica del editor como en esta ruta específica del proyecto.
bool editor/version_control/autoload_on_startup = false 🔗
There is currently no description for this property. Please help us by contributing one!
String editor/version_control/plugin_name = "" 🔗
There is currently no description for this property. Please help us by contributing one!
bool filesystem/import/blender/enabled = true 🔗
Si es true, los archivos de escena 3D de Blender con la extensión .blend se importarán convirtiéndolos a glTF 2.0.
Esto requiere configurar una ruta a un ejecutable de Blender en el ajuste EditorSettings.filesystem/import/blender/blender_path. Se requiere Blender 3.0 o posterior.
bool filesystem/import/blender/enabled.android = false 🔗
Sobrescritura para filesystem/import/blender/enabled en Android donde Blender no puede ser accedido fácilmente desde Godot.
bool filesystem/import/blender/enabled.web = false 🔗
Sobrescritura para filesystem/import/blender/enabled en la Web donde Blender no puede ser accedido fácilmente desde Godot.
bool filesystem/import/fbx2gltf/enabled = true 🔗
Si es true, los archivos de escena 3D Autodesk FBX con la extensión .fbx se importarán convirtiéndolos a glTF 2.0.
Esto requiere configurar una ruta a un ejecutable FBX2glTF en los ajustes del editor en EditorSettings.filesystem/import/fbx/fbx2gltf_path.
bool filesystem/import/fbx2gltf/enabled.android = false 🔗
Sobrescritura para filesystem/import/fbx2gltf/enabled en Android donde FBX2glTF no puede ser accedido fácilmente desde Godot.
bool filesystem/import/fbx2gltf/enabled.web = false 🔗
Sobrescritura para filesystem/import/fbx2gltf/enabled en la Web donde FBX2glTF no puede ser accedido fácilmente desde Godot.
int gui/common/default_scroll_deadzone = 0 🔗
Valor por defecto para ScrollContainer.scroll_deadzone, que se utilizará para todos los ScrollContainers a menos que se sobrescriba.
bool gui/common/snap_controls_to_pixels = true 🔗
Si es true, ajusta los vértices del nodo Control al píxel más cercano para asegurar que permanezcan nítidos incluso cuando la cámara se mueve o hace zoom.
int gui/common/swap_cancel_ok = 0 🔗
How to position the Cancel and OK buttons in the project's AcceptDialogs. Different platforms have different standard behaviors for this, which can be overridden using this setting.
Auto (
0) follows the platform convention: OK first on Windows, KDE, and LXQt, Cancel first on macOS and other Linux desktop environments. DisplayServer.get_swap_cancel_ok() can be used to query whether buttons are swapped at run-time.Cancel First (
1) forces the ordering Cancel/OK.OK First (
2) forces the ordering OK/Cancel.
Note: This doesn't affect native dialogs such as the ones spawned by DisplayServer.dialog_show().
int gui/common/text_edit_undo_stack_max_size = 1024 🔗
Maximum undo/redo history size for TextEdit fields.
bool gui/fonts/dynamic_fonts/use_oversampling = true 🔗
If set to true and display/window/stretch/mode is set to "canvas_items", font and DPITexture oversampling is enabled in the main window. Use Viewport.oversampling to control oversampling in other viewports and windows.
String gui/theme/custom = "" 🔗
Path to a custom Theme resource file to use for the project (.theme or generic .tres/.res extension).
String gui/theme/custom_font = "" 🔗
Ruta a un recurso Font personalizado para usar como predeterminado para todos los elementos de la interfaz gráfica de usuario del proyecto.
int gui/theme/default_font_antialiasing = 1 🔗
Font anti-aliasing mode for the default project font. See FontFile.antialiasing.
Note: This setting does not affect custom Fonts used within the project. Use the Import dock for that instead (see ResourceImporterDynamicFont.antialiasing).
bool gui/theme/default_font_generate_mipmaps = false 🔗
If set to true, the default font will have mipmaps generated. This prevents text from looking grainy when a Control is scaled down, or when a Label3D is viewed from a long distance (if Label3D.texture_filter is set to a mode that displays mipmaps).
Enabling gui/theme/default_font_generate_mipmaps increases font generation time and memory usage. Only enable this setting if you actually need it.
Note: This setting does not affect custom Fonts used within the project. Use the Import dock for that instead (see ResourceImporterDynamicFont.generate_mipmaps).
int gui/theme/default_font_hinting = 1 🔗
Font hinting mode for the default project font. See FontFile.hinting.
Note: This setting does not affect custom Fonts used within the project. Use the Import dock for that instead (see ResourceImporterDynamicFont.hinting).
bool gui/theme/default_font_multichannel_signed_distance_field = false 🔗
If set to true, the default font will use multichannel signed distance field (MSDF) for crisp rendering at any size. Since this approach does not rely on rasterizing the font every time its size changes, this allows for resizing the font in real-time without any performance penalty. Text will also not look grainy for Controls that are scaled down (or for Label3Ds viewed from a long distance).
MSDF font rendering can be combined with gui/theme/default_font_generate_mipmaps to further improve font rendering quality when scaled down.
Note: This setting does not affect custom Fonts used within the project. Use the Import dock for that instead (see ResourceImporterDynamicFont.multichannel_signed_distance_field).
int gui/theme/default_font_subpixel_positioning = 1 🔗
Font glyph subpixel positioning mode for the default project font. See FontFile.subpixel_positioning.
Note: This setting does not affect custom Fonts used within the project. Use the Import dock for that instead (see ResourceImporterDynamicFont.subpixel_positioning).
float gui/theme/default_theme_scale = 1.0 🔗
The default scale factor for Controls, when not overridden by a Theme.
Note: This property is only read when the project starts. To change the default scale at runtime, set ThemeDB.fallback_base_scale instead.
int gui/theme/lcd_subpixel_layout = 1 🔗
LCD subpixel layout used for font anti-aliasing. See FontLCDSubpixelLayout.
float gui/timers/button_shortcut_feedback_highlight_time = 0.2 🔗
When BaseButton.shortcut_feedback is enabled, this is the time the BaseButton will remain highlighted after a shortcut.
int gui/timers/incremental_search_max_interval_msec = 2000 🔗
Ajuste del temporizador para la búsqueda incremental en los controles de Tree, ItemList, etc. (en milisegundos).
float gui/timers/text_edit_idle_detect_sec = 3 🔗
Temporizador para detectar la inactividad en TextEdit (en segundos).
float gui/timers/tooltip_delay_sec = 0.5 🔗
Retraso predeterminado para las sugerencias (en segundos).
float gui/timers/tooltip_delay_sec.editor_hint = 0.5 🔗
Delay for tooltips in the editor.
Dictionary input/ui_accept 🔗
InputEventAction por defecto para confirmar un botón enfocado, un menú o un elemento de la lista, o validar la entrada.
Nota: Las acciones ui_* por defecto no pueden ser eliminadas ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_accessibility_drag_and_drop 🔗
Default InputEventAction to start or end a drag-and-drop operation without using mouse.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_cancel 🔗
InputEventAction por defecto para descartar una entrada modal o pendiente.
Nota: Las acciones ui_* por defecto no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_colorpicker_delete_preset 🔗
Default InputEventAction to delete a color preset in a ColorPicker.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_copy 🔗
Default InputEventAction to copy a selection to the clipboard.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_cut 🔗
Default InputEventAction to cut a selection to the clipboard.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_down 🔗
InputEventAction por defecto para moverse hacia abajo en la UI.
Nota: Las acciones ui_* por defecto no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_end 🔗
InputEventAction por defecto para ir a la posición final de un Control (por ejemplo, el último elemento de una ItemList o de un Tree), que coincide con el comportamiento de la @GlobalScope.KEY_END en los típicos sistemas de interfaz de usuario de escritorio.
Nota: Las acciones predeterminadas de ui_* no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_filedialog_refresh 🔗
Default InputEventAction to refresh the contents of the current directory of a FileDialog.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Default InputEventAction to toggle showing hidden files and directories in a FileDialog.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_filedialog_up_one_level 🔗
Default InputEventAction to go up one directory in a FileDialog.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_focus_mode 🔗
Default InputEventAction to switch TextEdit input/ui_text_indent between moving keyboard focus to the next Control in the scene and inputting a Tab character.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_focus_next 🔗
InputEventAction por defecto para enfocar el siguiente Control en la escena. El comportamiento de enfoque puede ser configurado a través del Control.focus_next.
Nota: Las acciones por defecto de ui_* no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_focus_prev 🔗
InputEventAction por defecto para enfocar el Control anterior en la escena. El comportamiento de enfoque puede ser configurado a través del Control.focus_previous.
Nota: Las acciones por defecto de ui_* no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_graph_delete 🔗
Default InputEventAction to delete a GraphNode in a GraphEdit.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_graph_duplicate 🔗
Default InputEventAction to duplicate a GraphNode in a GraphEdit.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_graph_follow_left 🔗
Default InputEventAction to follow a GraphNode input port connection.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_graph_follow_left.macos 🔗
macOS specific override for the shortcut to follow a GraphNode input port connection.
Dictionary input/ui_graph_follow_right 🔗
Default InputEventAction to follow a GraphNode output port connection.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_graph_follow_right.macos 🔗
macOS specific override for the shortcut to follow a GraphNode output port connection.
Dictionary input/ui_home 🔗
InputEventAction por defecto para ir a la posición de inicio de un Control (por ejemplo, el primer elemento de una ItemList o de un Tree), que coincide con el comportamiento de @GlobalScope.KEY_HOME en los típicos sistemas de interfaz de usuario de escritorio.
Nota: Las acciones predeterminadas de ui_* no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_left 🔗
InputEventAction por defecto para moverse a la izquierda en la UI.
Nota: Las acciones ui_* por defecto no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Default InputEventAction to open a context menu in a text field.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_page_down 🔗
InputEventAction por defecto para bajar una página en un Control (por ejemplo, en una ItemList o un Tree), coincidiendo con el comportamiento de @GlobalScope.KEY_PAGEDOWN en los típicos sistemas de interfaz de usuario de escritorio.
Nota: Las acciones predeterminadas de ui_* no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_page_up 🔗
InputEventAction por defecto para subir una página en un Control (por ejemplo, en una ItemList o en un Tree), que coincida con el comportamiento de @GlobalScope.KEY_PAGEUP en los típicos sistemas de interfaz de usuario de escritorio.
Nota: Las acciones predeterminadas de ui_* no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_paste 🔗
Default InputEventAction to paste from the clipboard.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_redo 🔗
Default InputEventAction to redo an undone action.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_right 🔗
InputEventAction por defecto para moverse a la derecha en la UI.
Nota: Las acciones ui_* por defecto no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_select 🔗
InputEventAction por defecto para seleccionar un elemento en un Control (por ejemplo, en una ItemList o en un Tree).
Nota: Las acciones de ui_* por defecto no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
Dictionary input/ui_swap_input_direction 🔗
Default InputEventAction to swap input direction, i.e. change between left-to-right to right-to-left modes. Affects text-editing controls (LineEdit, TextEdit).
Dictionary input/ui_text_add_selection_for_next_occurrence 🔗
If a selection is currently active with the last caret in text fields, searches for the next occurrence of the selection, adds a caret and selects the next occurrence.
If no selection is currently active with the last caret in text fields, selects the word currently under the caret.
The action can be performed sequentially for all occurrences of the selection of the last caret and for all existing carets.
The viewport is adjusted to the latest newly added caret.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_backspace 🔗
Default InputEventAction to delete the character before the text cursor.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_backspace_all_to_left 🔗
Default InputEventAction to delete all text before the text cursor.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_backspace_all_to_left.macos 🔗
macOS specific override for the shortcut to delete all text before the text cursor.
Dictionary input/ui_text_backspace_word 🔗
Default InputEventAction to delete all characters before the cursor up until a whitespace or punctuation character.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_backspace_word.macos 🔗
Sobrescritura específica de macOS para el acceso directo para eliminar una palabra.
Dictionary input/ui_text_caret_add_above 🔗
InputEventAction predeterminado para agregar un cursor adicional sobre cada cursor de un texto.
Dictionary input/ui_text_caret_add_above.macos 🔗
Sobrescritura específica de macOS para el acceso directo para agregar un cursor encima de cada cursor.
Dictionary input/ui_text_caret_add_below 🔗
InputEventAction predeterminado para agregar un cursor adicional debajo de cada cursor de un texto.
Dictionary input/ui_text_caret_add_below.macos 🔗
Sobrescritura específica de macOS para el acceso directo para agregar un cursor debajo de cada cursor.
Dictionary input/ui_text_caret_document_end 🔗
Default InputEventAction to move the text cursor to the end of the text.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_document_end.macos 🔗
Sobrescritura específica de macOS para el acceso directo para mover el cursor de texto al final del texto.
Dictionary input/ui_text_caret_document_start 🔗
Default InputEventAction to move the text cursor to the start of the text.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_document_start.macos 🔗
Sobrescritura específica de macOS para el acceso directo para mover el cursor de texto al inicio del texto.
Dictionary input/ui_text_caret_down 🔗
Default InputEventAction to move the text cursor down.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_left 🔗
Default InputEventAction to move the text cursor left.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_line_end 🔗
Default InputEventAction to move the text cursor to the end of the line.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_line_end.macos 🔗
Sobrescritura específica de macOS para el acceso directo para mover el cursor de texto al final de la línea.
Dictionary input/ui_text_caret_line_start 🔗
Default InputEventAction to move the text cursor to the start of the line.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_line_start.macos 🔗
Sobrescritura específica de macOS para el acceso directo para mover el cursor de texto al inicio de la línea.
Dictionary input/ui_text_caret_page_down 🔗
Default InputEventAction to move the text cursor down one page.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_page_up 🔗
Default InputEventAction to move the text cursor up one page.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_right 🔗
Default InputEventAction to move the text cursor right.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_up 🔗
Default InputEventAction to move the text cursor up.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_word_left 🔗
Default InputEventAction to move the text cursor left to the next whitespace or punctuation.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_word_left.macos 🔗
Sobrescritura específica de macOS para el acceso directo para mover el cursor de texto una palabra hacia atrás.
Dictionary input/ui_text_caret_word_right 🔗
Default InputEventAction to move the text cursor right to the next whitespace or punctuation.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_caret_word_right.macos 🔗
Sobrescritura específica de macOS para el acceso directo para mover el cursor de texto una palabra hacia adelante.
Dictionary input/ui_text_clear_carets_and_selection 🔗
If there's only one caret active and with a selection, clears the selection.
In case there's more than one caret active, removes the secondary carets and clears their selections.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_completion_accept 🔗
Default InputEventAction to accept an autocompletion hint.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_completion_query 🔗
Default InputEventAction to request autocompletion.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_completion_replace 🔗
Default InputEventAction to accept an autocompletion hint, replacing existing text.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_dedent 🔗
Default InputEventAction to unindent text.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_delete 🔗
Default InputEventAction to delete the character after the text cursor.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_delete_all_to_right 🔗
Default InputEventAction to delete all text after the text cursor.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_delete_all_to_right.macos 🔗
Sobrescritura específica de macOS para el acceso directo para eliminar todo el texto después del cursor de texto.
Dictionary input/ui_text_delete_word 🔗
Default InputEventAction to delete all characters after the cursor up until a whitespace or punctuation character.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_delete_word.macos 🔗
Sobrescritura específica de macOS para el acceso directo para eliminar una palabra después del cursor de texto.
Dictionary input/ui_text_indent 🔗
Default InputEventAction to indent the current line.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_newline 🔗
Default InputEventAction to insert a new line at the position of the text cursor.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_newline_above 🔗
Default InputEventAction to insert a new line before the current one.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_newline_blank 🔗
Default InputEventAction to insert a new line after the current one.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_scroll_down 🔗
Default InputEventAction to scroll down one line of text.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_scroll_down.macos 🔗
Sobrescritura específica de macOS para el acceso directo para desplazarse hacia abajo una línea.
Dictionary input/ui_text_scroll_up 🔗
Default InputEventAction to scroll up one line of text.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_scroll_up.macos 🔗
Sobrescritura específica de macOS para el acceso directo para desplazarse hacia arriba una línea.
Dictionary input/ui_text_select_all 🔗
Default InputEventAction to select all text.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_select_word_under_caret 🔗
If no selection is currently active, selects the word currently under the caret in text fields. If a selection is currently active, deselects the current selection.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_select_word_under_caret.macos 🔗
Sobrescritura específica de macOS para el acceso directo para seleccionar la palabra que se encuentra actualmente debajo del cursor.
Dictionary input/ui_text_skip_selection_for_next_occurrence 🔗
If no selection is currently active with the last caret in text fields, searches for the next occurrence of the word currently under the caret and moves the caret to the next occurrence. The action can be performed sequentially for other occurrences of the word under the last caret.
If a selection is currently active with the last caret in text fields, searches for the next occurrence of the selection, adds a caret, selects the next occurrence then deselects the previous selection and its associated caret. The action can be performed sequentially for other occurrences of the selection of the last caret.
The viewport is adjusted to the latest newly added caret.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_submit 🔗
Default InputEventAction to submit a text field.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_text_toggle_insert_mode 🔗
Default InputEventAction to toggle insert mode in a text field. While in insert mode, inserting new text overrides the character after the cursor, unless the next character is a new line.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_undo 🔗
Default InputEventAction to undo the most recent action.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_unicode_start 🔗
Default InputEventAction to start Unicode character hexadecimal code input in a text field.
Note: Default ui_* actions cannot be removed as they are necessary for the internal logic of several Controls. The events assigned to the action can however be modified.
Dictionary input/ui_up 🔗
InputEventAction por defecto para subir en la UI.
Nota: Las acciones ui_* por defecto no se pueden eliminar ya que son necesarias para la lógica interna de varios Controls. Sin embargo, los eventos asignados a la acción pueden ser modificados.
bool input_devices/buffering/agile_event_flushing = false 🔗
If true, key/touch/joystick events will be flushed just before every idle and physics frame.
If false, such events will be flushed only once per process frame, between iterations of the engine.
Enabling this can greatly improve the responsiveness to input, specially in devices that need to run multiple physics frames per visible (process) frame, because they can't run at the target frame rate.
Note: Currently implemented only on Android.
bool input_devices/compatibility/legacy_just_pressed_behavior = false 🔗
Si es true, Input.is_action_just_pressed() y Input.is_action_just_released() solo devolverán true si la acción todavía está en el estado respectivo, es decir, una acción que se presiona y se suelta en el mismo fotograma no se detectará.
Si es false, no se perderá ninguna entrada.
Nota: En casi todos los casos deberías preferir la configuración false. El comportamiento heredado está habilitado para dar soporte a proyectos antiguos que dependen de la lógica anterior, sin cambios en el script.
String input_devices/pen_tablet/driver 🔗
Especifica el controlador de tableta a usar. Si se deja vacío, se usará el controlador predeterminado.
Nota:El controlador en uso puede ser sobrescrito en tiempo de ejecución mediante el --tablet-driver argumento de línea de comandos.
Nota:Usa DisplayServer.tablet_set_current_driver() para cambiar el controlador de tableta en tiempo de ejecución.
String input_devices/pen_tablet/driver.windows 🔗
Override for input_devices/pen_tablet/driver on Windows. Supported values are:
auto(default), useswintabif Windows Ink is disabled in the Wacom Tablet Properties or system settings,wininkotherwise.winink, uses Windows native "Windows Ink" driver.wintab, uses Wacom "WinTab" driver.dummy, tablet input is disabled.
bool input_devices/pointing/android/disable_scroll_deadzone = false 🔗
If true, disables the scroll deadzone on Android, allowing even very small scroll movements to be registered. This may increase scroll sensitivity but can also lead to unintended scrolling from slight finger movements.
bool input_devices/pointing/android/enable_long_press_as_right_click = false 🔗
If true, long press events on an Android touchscreen are transformed into right click events.
bool input_devices/pointing/android/enable_pan_and_scale_gestures = false 🔗
If true, multi-touch pan and scale gestures are enabled on Android devices.
bool input_devices/pointing/android/override_volume_buttons = false 🔗
If true, system volume changes are disabled when the buttons are used within the app.
int input_devices/pointing/android/rotary_input_scroll_axis = 1 🔗
On Wear OS devices, defines which axis of the mouse wheel rotary input is mapped to. This rotary input is usually performed by rotating the physical or virtual (touch-based) bezel on a smartwatch.
bool input_devices/pointing/emulate_mouse_from_touch = true 🔗
Si es true, envía eventos de entrada de ratón al tocar o deslizar en la pantalla táctil.
bool input_devices/pointing/emulate_touch_from_mouse = false 🔗
Si es true, envía eventos de entrada táctil al hacer clic o arrastrar el ratón.
bool input_devices/sensors/enable_accelerometer = false 🔗
If true, the accelerometer sensor is enabled and Input.get_accelerometer() returns valid data.
bool input_devices/sensors/enable_gravity = false 🔗
If true, the gravity sensor is enabled and Input.get_gravity() returns valid data.
bool input_devices/sensors/enable_gyroscope = false 🔗
If true, the gyroscope sensor is enabled and Input.get_gyroscope() returns valid data.
bool input_devices/sensors/enable_magnetometer = false 🔗
If true, the magnetometer sensor is enabled and Input.get_magnetometer() returns valid data.
String internationalization/locale/fallback = "en" 🔗
The locale to fall back to if a translation isn't available in a given language. If left empty, en (English) will be used.
Note: Not to be confused with TextServerFallback.
bool internationalization/locale/include_text_server_data = false 🔗
If true, text server break iteration rule sets, dictionaries and other optional data are included in the exported project.
Note: "ICU / HarfBuzz / Graphite" text server data includes dictionaries for Burmese, Chinese, Japanese, Khmer, Lao and Thai as well as Unicode Standard Annex #29 and Unicode Standard Annex #14 word and line breaking rules. Data is about 4 MB large.
Note: TextServerFallback does not use additional data.
int internationalization/locale/line_breaking_strictness = 0 🔗
Default strictness of line-breaking rules. Can be overridden by adding @lb={auto,loose,normal,strict} to the language code.
Auto (
0) - strictness is based on the length of the line.Loose (
1) - the least restrictive set of line-breaking rules. Typically used for short lines.Normal (
2) - the most common set of line-breaking rules.Strict (
3) - the most stringent set of line-breaking rules.
See Line Breaking Strictness: the line-break property for more info.
String internationalization/locale/test = "" 🔗
If non-empty, this locale will be used instead of the automatically detected system locale.
Note: This setting also applies to the exported project. To only affect testing within the editor, override this setting with an editor feature tag for localization testing purposes.
bool internationalization/pseudolocalization/double_vowels = false 🔗
Double vowels in strings during pseudolocalization to simulate the lengthening of text due to localization.
float internationalization/pseudolocalization/expansion_ratio = 0.0 🔗
The expansion ratio to use during pseudolocalization. A value of 0.3 is sufficient for most practical purposes, and will increase the length of each string by 30%.
bool internationalization/pseudolocalization/fake_bidi = false 🔗
If true, emulate bidirectional (right-to-left) text when pseudolocalization is enabled. This can be used to spot issues with RTL layout and UI mirroring that will crop up if the project is localized to RTL languages such as Arabic or Hebrew. See also internationalization/rendering/force_right_to_left_layout_direction.
bool internationalization/pseudolocalization/override = false 🔗
Replace all characters in the string with *. Useful for finding non-localizable strings.
String internationalization/pseudolocalization/prefix = "[" 🔗
Prefix that will be prepended to the pseudolocalized string.
bool internationalization/pseudolocalization/replace_with_accents = true 🔗
Replace all characters with their accented variants during pseudolocalization.
bool internationalization/pseudolocalization/skip_placeholders = true 🔗
Skip placeholders for string formatting like %s or %f during pseudolocalization. Useful to identify strings which need additional control characters to display correctly.
String internationalization/pseudolocalization/suffix = "]" 🔗
Suffix that will be appended to the pseudolocalized string.
bool internationalization/pseudolocalization/use_pseudolocalization = false 🔗
If true, enables pseudolocalization for the project. This can be used to spot untranslatable strings or layout issues that may occur once the project is localized to languages that have longer strings than the source language.
Note: This property is only read when the project starts. To toggle pseudolocalization at run-time, use TranslationServer.pseudolocalization_enabled instead.
bool internationalization/rendering/force_right_to_left_layout_direction = false 🔗
Force layout direction and text writing direction to RTL for all controls, even if the current locale is intended to use a left-to-right layout and text writing direction. This should be enabled for testing purposes only. See also internationalization/pseudolocalization/fake_bidi.
bool internationalization/rendering/root_node_auto_translate = true 🔗
If true, root node will use Node.AUTO_TRANSLATE_MODE_ALWAYS, otherwise Node.AUTO_TRANSLATE_MODE_DISABLED will be used.
Note: This property is only read when the project starts. To change the auto translate mode at runtime, set Node.auto_translate_mode of SceneTree.root instead.
int internationalization/rendering/root_node_layout_direction = 0 🔗
Root node default layout direction.
String internationalization/rendering/text_driver = "" 🔗
Specifies the TextServer to use. If left empty, the default will be used.
"ICU / HarfBuzz / Graphite" (TextServerAdvanced) is the most advanced text driver, supporting right-to-left typesetting and complex scripts (for languages like Arabic, Hebrew, etc.). The "Fallback" text driver (TextServerFallback) does not support right-to-left typesetting and complex scripts.
Note: The driver in use can be overridden at runtime via the --text-driver command line argument.
Note: There is an additional Dummy text driver available, which disables all text rendering and font-related functionality. This driver is not listed in the project settings, but it can be enabled when running the editor or project using the --text-driver Dummy command line argument.
Nombre opcional para la capa 1 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 1".
Nombre opcional para la capa 2 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 2".
Nombre opcional para la capa 3 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 3".
Nombre opcional para la capa 4 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 4".
Nombre opcional para la capa 5 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 5".
Nombre opcional para la capa 6 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 6".
Nombre opcional para la capa 7 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 7".
Nombre opcional para la capa 8 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 8".
Nombre opcional para la capa 9 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 9".
Nombre opcional para la capa 10 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 10".
Nombre opcional para la capa 11 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 11".
Nombre opcional para la capa 12 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 12".
Nombre opcional para la capa 13 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 13".
Nombre opcional para la capa 14 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 14".
Nombre opcional para la capa 15 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 15".
Nombre opcional para la capa 16 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 16".
Nombre opcional para la capa 17 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 17".
Nombre opcional para la capa 18 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 18".
Nombre opcional para la capa 19 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 19".
Nombre opcional para la capa 20 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 20".
Nombre opcional para la capa 21 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 21".
Nombre opcional para la capa 22 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 22".
Nombre opcional para la capa 23 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 23".
Nombre opcional para la capa 24 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 24".
Nombre opcional para la capa 25 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 25".
Nombre opcional para la capa 26 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 26".
Nombre opcional para la capa 27 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 27".
Nombre opcional para la capa 28 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 28".
Nombre opcional para la capa 29 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 29".
Nombre opcional para la capa 30 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 30".
Nombre opcional para la capa 31 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 31".
Nombre opcional para la capa 32 de navegación 2D. Si se deja vacío, la capa se mostrará como "Capa 32".
String layer_names/2d_physics/layer_1 = "" 🔗
Nombre opcional para la capa 1 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 1".
String layer_names/2d_physics/layer_2 = "" 🔗
Nombre opcional para la capa 2 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 2".
String layer_names/2d_physics/layer_3 = "" 🔗
Nombre opcional para la capa 3 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 3".
String layer_names/2d_physics/layer_4 = "" 🔗
Nombre opcional para la capa 4 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 4".
String layer_names/2d_physics/layer_5 = "" 🔗
Nombre opcional para la capa 5 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 5".
String layer_names/2d_physics/layer_6 = "" 🔗
Nombre opcional para la capa 6 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 6".
String layer_names/2d_physics/layer_7 = "" 🔗
Nombre opcional para la capa 7 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 7".
String layer_names/2d_physics/layer_8 = "" 🔗
Nombre opcional para la capa 8 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 8".
String layer_names/2d_physics/layer_9 = "" 🔗
Nombre opcional para la capa 9 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 9".
String layer_names/2d_physics/layer_10 = "" 🔗
Nombre opcional para la capa 10 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 10".
String layer_names/2d_physics/layer_11 = "" 🔗
Nombre opcional para la capa 11 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 11".
String layer_names/2d_physics/layer_12 = "" 🔗
Nombre opcional para la capa 12 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 12".
String layer_names/2d_physics/layer_13 = "" 🔗
Nombre opcional para la capa 13 de la física 2D. Si se deja vacío, la capa se mostrará como "Capa 13".
String layer_names/2d_physics/layer_14 = "" 🔗
Nombre opcional para la capa 14 de la física 2D. Si se deja vacío, la capa se mostrará como "Capa 14".
String layer_names/2d_physics/layer_15 = "" 🔗
Nombre opcional para la capa 15 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 15".
String layer_names/2d_physics/layer_16 = "" 🔗
Nombre opcional para la capa 15 de la física 2D. Si se deja vacío, la capa se mostrará como "Capa 16".
String layer_names/2d_physics/layer_17 = "" 🔗
Nombre opcional para la capa 17 de la física 2D. Si se deja vacío, la capa se mostrará como "Capa 17".
String layer_names/2d_physics/layer_18 = "" 🔗
Nombre opcional para la capa 18 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 18".
String layer_names/2d_physics/layer_19 = "" 🔗
Nombre opcional para la capa 19 de la física 2D. Si se deja vacío, la capa se mostrará como "Capa 19".
String layer_names/2d_physics/layer_20 = "" 🔗
Nombre opcional para la capa 20 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 20".
String layer_names/2d_physics/layer_21 = "" 🔗
Nombre opcional para la capa 21 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 21".
String layer_names/2d_physics/layer_22 = "" 🔗
Nombre opcional para la capa 22 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 22".
String layer_names/2d_physics/layer_23 = "" 🔗
Nombre opcional para la capa 23 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 23".
String layer_names/2d_physics/layer_24 = "" 🔗
Nombre opcional para la capa 24 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 24".
String layer_names/2d_physics/layer_25 = "" 🔗
Nombre opcional para la capa 25 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 25".
String layer_names/2d_physics/layer_26 = "" 🔗
Nombre opcional para la capa 26 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 26".
String layer_names/2d_physics/layer_27 = "" 🔗
Nombre opcional para la capa 27 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 27".
String layer_names/2d_physics/layer_28 = "" 🔗
Nombre opcional para la capa 28 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 28".
String layer_names/2d_physics/layer_29 = "" 🔗
Nombre opcional para la capa 29 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 29".
String layer_names/2d_physics/layer_30 = "" 🔗
Nombre opcional para la capa 30 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 30".
String layer_names/2d_physics/layer_31 = "" 🔗
Nombre opcional para la capa 31 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 31".
String layer_names/2d_physics/layer_32 = "" 🔗
Nombre opcional para la capa 32 de física 2D. Si se deja vacío, la capa se mostrará como "Capa 32".
String layer_names/2d_render/layer_1 = "" 🔗
Nombre opcional para la capa 1 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 1".
String layer_names/2d_render/layer_2 = "" 🔗
Nombre opcional para la capa 2 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 2".
String layer_names/2d_render/layer_3 = "" 🔗
Nombre opcional para la capa 3 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 3".
String layer_names/2d_render/layer_4 = "" 🔗
Nombre opcional para la capa 4 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 4".
String layer_names/2d_render/layer_5 = "" 🔗
Nombre opcional para la capa 5 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 5".
String layer_names/2d_render/layer_6 = "" 🔗
Nombre opcional para la capa 6 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 6".
String layer_names/2d_render/layer_7 = "" 🔗
Nombre opcional para la capa 7 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 7".
String layer_names/2d_render/layer_8 = "" 🔗
Nombre opcional para la capa 8 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 8".
String layer_names/2d_render/layer_9 = "" 🔗
Nombre opcional para la capa 9 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 9".
String layer_names/2d_render/layer_10 = "" 🔗
Nombre opcional para la capa 10 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 10".
String layer_names/2d_render/layer_11 = "" 🔗
Nombre opcional para la capa 11 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 11".
String layer_names/2d_render/layer_12 = "" 🔗
Nombre opcional para la capa 12 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 12".
String layer_names/2d_render/layer_13 = "" 🔗
Nombre opcional para la capa 13 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 13".
String layer_names/2d_render/layer_14 = "" 🔗
Nombre opcional para la capa 14 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 14".
String layer_names/2d_render/layer_15 = "" 🔗
Nombre opcional para la capa 15 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 15".
String layer_names/2d_render/layer_16 = "" 🔗
Nombre opcional para la capa 16 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 16".
String layer_names/2d_render/layer_17 = "" 🔗
Nombre opcional para la capa 17 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 17".
String layer_names/2d_render/layer_18 = "" 🔗
Nombre opcional para la capa 18 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 18".
String layer_names/2d_render/layer_19 = "" 🔗
Nombre opcional para la capa 19 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 19".
String layer_names/2d_render/layer_20 = "" 🔗
Nombre opcional para la capa 20 del renderizado 2D. Si se deja vacío, la capa se mostrará como "Capa 20".
Nombre opcional para la capa 1 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 1".
Nombre opcional para la capa 2 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 2".
Nombre opcional para la capa 3 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 3".
Nombre opcional para la capa 4 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 4".
Nombre opcional para la capa 5 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 5".
Nombre opcional para la capa 6 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 6".
Nombre opcional para la capa 7 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 7".
Nombre opcional para la capa 8 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 8".
Nombre opcional para la capa 9 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 9".
Nombre opcional para la capa 10 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 10".
Nombre opcional para la capa 11 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 11".
Nombre opcional para la capa 12 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 12".
Nombre opcional para la capa 13 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 13".
Nombre opcional para la capa 14 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 14".
Nombre opcional para la capa 15 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 15".
Nombre opcional para la capa 16 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 16".
Nombre opcional para la capa 17 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 17".
Nombre opcional para la capa 18 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 18".
Nombre opcional para la capa 19 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 19".
Nombre opcional para la capa 20 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 20".
Nombre opcional para la capa 21 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 21".
Nombre opcional para la capa 22 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 22".
Nombre opcional para la capa 23 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 23".
Nombre opcional para la capa 24 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 24".
Nombre opcional para la capa 25 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 25".
Nombre opcional para la capa 26 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 26".
Nombre opcional para la capa 27 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 27".
Nombre opcional para la capa 28 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 28".
Nombre opcional para la capa 29 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 29".
Nombre opcional para la capa 30 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 30".
Nombre opcional para la capa 31 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 31".
Nombre opcional para la capa 32 de navegación 3D. Si se deja vacío, la capa se mostrará como "Capa 32".
String layer_names/3d_physics/layer_1 = "" 🔗
Nombre opcional para la capa 1 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 1".
String layer_names/3d_physics/layer_2 = "" 🔗
Nombre opcional para la capa 2 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 2".
String layer_names/3d_physics/layer_3 = "" 🔗
Nombre opcional para la capa 3 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 3".
String layer_names/3d_physics/layer_4 = "" 🔗
Nombre opcional para la capa 4 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 4".
String layer_names/3d_physics/layer_5 = "" 🔗
Nombre opcional para la capa 5 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 5".
String layer_names/3d_physics/layer_6 = "" 🔗
Nombre opcional para la capa 6 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 6".
String layer_names/3d_physics/layer_7 = "" 🔗
Nombre opcional para la capa 7 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 7".
String layer_names/3d_physics/layer_8 = "" 🔗
Nombre opcional para la capa 8 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 8".
String layer_names/3d_physics/layer_9 = "" 🔗
Nombre opcional para la capa 9 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 9".
String layer_names/3d_physics/layer_10 = "" 🔗
Nombre opcional para la capa 10 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 10".
String layer_names/3d_physics/layer_11 = "" 🔗
Nombre opcional para la capa 11 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 11".
String layer_names/3d_physics/layer_12 = "" 🔗
Nombre opcional para la capa 12 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 12".
String layer_names/3d_physics/layer_13 = "" 🔗
Nombre opcional para la capa 13 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 13".
String layer_names/3d_physics/layer_14 = "" 🔗
Nombre opcional para la capa 14 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 14".
String layer_names/3d_physics/layer_15 = "" 🔗
Nombre opcional para la capa 15 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 15".
String layer_names/3d_physics/layer_16 = "" 🔗
Nombre opcional para la capa 16 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 16".
String layer_names/3d_physics/layer_17 = "" 🔗
Nombre opcional para la capa 17 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 17".
String layer_names/3d_physics/layer_18 = "" 🔗
Nombre opcional para la capa 18 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 18".
String layer_names/3d_physics/layer_19 = "" 🔗
Nombre opcional para la capa 19 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 19".
String layer_names/3d_physics/layer_20 = "" 🔗
Nombre opcional para la capa 20 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 20".
String layer_names/3d_physics/layer_21 = "" 🔗
Nombre opcional para la capa 21 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 21".
String layer_names/3d_physics/layer_22 = "" 🔗
Nombre opcional para la capa 22 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 22".
String layer_names/3d_physics/layer_23 = "" 🔗
Nombre opcional para la capa 23 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 23".
String layer_names/3d_physics/layer_24 = "" 🔗
Nombre opcional para la capa 24 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 24".
String layer_names/3d_physics/layer_25 = "" 🔗
Nombre opcional para la capa 25 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 25".
String layer_names/3d_physics/layer_26 = "" 🔗
Nombre opcional para la capa 26 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 26".
String layer_names/3d_physics/layer_27 = "" 🔗
Nombre opcional para la capa 27 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 27".
String layer_names/3d_physics/layer_28 = "" 🔗
Nombre opcional para la capa 28 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 28".
String layer_names/3d_physics/layer_29 = "" 🔗
Nombre opcional para la capa 29 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 29".
String layer_names/3d_physics/layer_30 = "" 🔗
Nombre opcional para la capa 30 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 30".
String layer_names/3d_physics/layer_31 = "" 🔗
Nombre opcional para la capa 31 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 31".
String layer_names/3d_physics/layer_32 = "" 🔗
Nombre opcional para la capa 32 de física 3D. Si se deja vacío, la capa se mostrará como "Capa 32".
String layer_names/3d_render/layer_1 = "" 🔗
Optional name for the 3D render layer 1. If left empty, the layer will display as "Layer 1".
String layer_names/3d_render/layer_2 = "" 🔗
Optional name for the 3D render layer 2. If left empty, the layer will display as "Layer 2".
String layer_names/3d_render/layer_3 = "" 🔗
Optional name for the 3D render layer 3. If left empty, the layer will display as "Layer 3".
String layer_names/3d_render/layer_4 = "" 🔗
Optional name for the 3D render layer 4. If left empty, the layer will display as "Layer 4".
String layer_names/3d_render/layer_5 = "" 🔗
Optional name for the 3D render layer 5. If left empty, the layer will display as "Layer 5".
String layer_names/3d_render/layer_6 = "" 🔗
Optional name for the 3D render layer 6. If left empty, the layer will display as "Layer 6".
String layer_names/3d_render/layer_7 = "" 🔗
Optional name for the 3D render layer 7. If left empty, the layer will display as "Layer 7".
String layer_names/3d_render/layer_8 = "" 🔗
Optional name for the 3D render layer 8. If left empty, the layer will display as "Layer 8".
String layer_names/3d_render/layer_9 = "" 🔗
Optional name for the 3D render layer 9. If left empty, the layer will display as "Layer 9".
String layer_names/3d_render/layer_10 = "" 🔗
Optional name for the 3D render layer 10. If left empty, the layer will display as "Layer 10".
String layer_names/3d_render/layer_11 = "" 🔗
Optional name for the 3D render layer 11. If left empty, the layer will display as "Layer 11".
String layer_names/3d_render/layer_12 = "" 🔗
Optional name for the 3D render layer 12. If left empty, the layer will display as "Layer 12".
String layer_names/3d_render/layer_13 = "" 🔗
Optional name for the 3D render layer 13. If left empty, the layer will display as "Layer 13".
String layer_names/3d_render/layer_14 = "" 🔗
Nombre opcional para la capa 14 del renderizado 3D. Si se deja vacío, la capa se mostrará como "Capa 14".
String layer_names/3d_render/layer_15 = "" 🔗
Optional name for the 3D render layer 15. If left empty, the layer will display as "Layer 15".
String layer_names/3d_render/layer_16 = "" 🔗
Nombre opcional para la capa 16 del renderizado 3D. Si se deja vacío, la capa se mostrará como "Capa 16".
String layer_names/3d_render/layer_17 = "" 🔗
Nombre opcional para la capa 17 del renderizado 3D. Si se deja vacío, la capa se mostrará como "Capa 17".
String layer_names/3d_render/layer_18 = "" 🔗
Nombre opcional para la capa 18 del renderizado 3D. Si se deja vacío, la capa se mostrará como "Capa 18".
String layer_names/3d_render/layer_19 = "" 🔗
Nombre opcional para la capa 19 del renderizado 3D. Si se deja vacío, la capa se mostrará como "Capa 19".
String layer_names/3d_render/layer_20 = "" 🔗
Nombre opcional para la capa 20 del renderizado 3D. Si se deja vacío, la capa se mostrará como "Capa 20".
String layer_names/avoidance/layer_1 = "" 🔗
Nombre opcional para la capa 1 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 1".
String layer_names/avoidance/layer_2 = "" 🔗
Nombre opcional para la capa 2 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 2".
String layer_names/avoidance/layer_3 = "" 🔗
Nombre opcional para la capa 3 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 3".
String layer_names/avoidance/layer_4 = "" 🔗
Nombre opcional para la capa 4 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 4".
String layer_names/avoidance/layer_5 = "" 🔗
Nombre opcional para la capa 5 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 5".
String layer_names/avoidance/layer_6 = "" 🔗
Nombre opcional para la capa 6 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 6".
String layer_names/avoidance/layer_7 = "" 🔗
Nombre opcional para la capa 7 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 7".
String layer_names/avoidance/layer_8 = "" 🔗
Nombre opcional para la capa 8 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 8".
String layer_names/avoidance/layer_9 = "" 🔗
Nombre opcional para la capa 9 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 9".
String layer_names/avoidance/layer_10 = "" 🔗
Nombre opcional para la capa 10 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 10".
String layer_names/avoidance/layer_11 = "" 🔗
Nombre opcional para la capa 11 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 11".
String layer_names/avoidance/layer_12 = "" 🔗
Nombre opcional para la capa 12 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 12".
String layer_names/avoidance/layer_13 = "" 🔗
Nombre opcional para la capa 13 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 13".
String layer_names/avoidance/layer_14 = "" 🔗
Nombre opcional para la capa 14 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 14".
String layer_names/avoidance/layer_15 = "" 🔗
Nombre opcional para la capa 15 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 15".
String layer_names/avoidance/layer_16 = "" 🔗
Nombre opcional para la capa 16 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 16".
String layer_names/avoidance/layer_17 = "" 🔗
Nombre opcional para la capa 17 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 17".
String layer_names/avoidance/layer_18 = "" 🔗
Nombre opcional para la capa 18 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 18".
String layer_names/avoidance/layer_19 = "" 🔗
Nombre opcional para la capa 19 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 19".
String layer_names/avoidance/layer_20 = "" 🔗
Nombre opcional para la capa 20 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 20".
String layer_names/avoidance/layer_21 = "" 🔗
Nombre opcional para la capa 21 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 21".
String layer_names/avoidance/layer_22 = "" 🔗
Nombre opcional para la capa 22 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 22".
String layer_names/avoidance/layer_23 = "" 🔗
Nombre opcional para la capa 23 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 23".
String layer_names/avoidance/layer_24 = "" 🔗
Nombre opcional para la capa 24 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 24".
String layer_names/avoidance/layer_25 = "" 🔗
Nombre opcional para la capa 25 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 25".
String layer_names/avoidance/layer_26 = "" 🔗
Nombre opcional para la capa 26 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 26".
String layer_names/avoidance/layer_27 = "" 🔗
Nombre opcional para la capa 27 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 27".
String layer_names/avoidance/layer_28 = "" 🔗
Nombre opcional para la capa 28 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 28".
String layer_names/avoidance/layer_29 = "" 🔗
Nombre opcional para la capa 29 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 29".
String layer_names/avoidance/layer_30 = "" 🔗
Nombre opcional para la capa 30 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 30".
String layer_names/avoidance/layer_31 = "" 🔗
Nombre opcional para la capa 31 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 31".
String layer_names/avoidance/layer_32 = "" 🔗
Nombre opcional para la capa 32 de evitación de navegación. Si se deja vacío, la capa se mostrará como "Capa 32".
int memory/limits/message_queue/max_size_mb = 32 🔗
Godot utiliza una cola de mensajes para aplazar algunas llamadas a funciones. Si te quedas sin espacio en ella (verás un error), puedes aumentar el tamaño aquí.
Default cell size for 2D navigation maps. See NavigationServer2D.map_set_cell_size().
Default edge connection margin for 2D navigation maps. See NavigationServer2D.map_set_edge_connection_margin().
Default link connection radius for 2D navigation maps. See NavigationServer2D.map_set_link_connection_radius().
Default merge rasterizer cell scale for 2D navigation maps. See NavigationServer2D.map_set_merge_rasterizer_cell_scale().
If enabled 2D navigation regions will use edge connections to connect with other navigation regions within proximity of the navigation map edge connection margin. This setting only affects World2D default navigation maps.
If true, the navigation system will print warnings when a navigation mesh with a small cell size is used on a navigation map with a larger size as this commonly causes rasterization errors.
If true, the navigation system will print warnings about navigation mesh edge merge errors occurring in navigation regions or maps.
Default cell height for 3D navigation maps. See NavigationServer3D.map_set_cell_height().
Default cell size for 3D navigation maps. See NavigationServer3D.map_set_cell_size().
Default edge connection margin for 3D navigation maps. See NavigationServer3D.map_set_edge_connection_margin().
Default link connection radius for 3D navigation maps. See NavigationServer3D.map_set_link_connection_radius().
Default up orientation for 3D navigation maps. See NavigationServer3D.map_set_up().
Default merge rasterizer cell scale for 3D navigation maps. See NavigationServer3D.map_set_merge_rasterizer_cell_scale().
If enabled 3D navigation regions will use edge connections to connect with other navigation regions within proximity of the navigation map edge connection margin. This setting only affects World3D default navigation maps.
If true, the navigation system will print warnings when a navigation mesh with a small cell size (or in 3D height) is used on a navigation map with a larger size as this commonly causes rasterization errors.
If true, the navigation system will print warnings about navigation mesh edge merge errors occurring in navigation regions or maps.
If enabled and avoidance calculations use multiple threads the threads run with high priority.
If enabled the avoidance calculations use multiple threads.
If enabled and async navmesh baking uses multiple threads the threads run with high priority.
If enabled the async navmesh baking uses multiple threads.
If enabled, and baking would potentially lead to an engine crash, the baking will be interrupted and an error message with explanation will be raised.
Maximum number of threads that can run pathfinding queries simultaneously on the same pathfinding graph, for example the same navigation map. Additional threads increase memory consumption and synchronization time due to the need for extra data copies prepared for each thread. A value of -1 means unlimited and the maximum available OS processor count is used. Defaults to 1 when the OS does not support threads.
Si está habilitado, la sincronización del mapa de navegación utiliza un proceso asíncrono que se ejecuta en un hilo en segundo plano. Esto evita bloquear el hilo principal, pero añade un retraso adicional a cualquier cambio en el mapa de navegación.
Si está habilitado, la sincronización de la región de navegación utiliza un proceso asíncrono que se ejecuta en un hilo en segundo plano. Esto evita bloquear el hilo principal, pero añade un retraso adicional a cualquier cambio en la región de navegación.
int network/limits/debugger/max_chars_per_second = 32768 🔗
Cantidad máxima de caracteres que se pueden enviar como salida desde el depurador. Si se supera este valor, se descartará el contenido. Esto ayuda a evitar que la conexión del depurador se bloquee.
int network/limits/debugger/max_errors_per_second = 400 🔗
Maximum number of errors allowed to be sent from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
int network/limits/debugger/max_queued_messages = 2048 🔗
Maximum number of messages in the debugger queue. Over this value, content is dropped. This helps to limit the debugger memory usage.
int network/limits/debugger/max_warnings_per_second = 400 🔗
Maximum number of warnings allowed to be sent from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection.
int network/limits/packet_peer_stream/max_buffer_po2 = 16 🔗
Default size of packet peer stream for deserializing Godot data (in bytes, specified as a power of two). The default value 16 is equal to 65,536 bytes. Over this size, data is dropped.
int network/limits/tcp/connect_timeout_seconds = 30 🔗
Tiempo de espera (en segundos) para los intentos de conexión usando TCP.
int network/limits/webrtc/max_channel_in_buffer_kb = 64 🔗
Tamaño máximo (en kiB) para el búfer de entrada WebRTCDataChannel.
String network/tls/certificate_bundle_override = "" 🔗
The CA certificates bundle to use for TLS connections. If this is set to a non-empty value, this will override Godot's default Mozilla certificate bundle. If left empty, the default certificate bundle will be used.
If in doubt, leave this setting empty.
bool network/tls/enable_tls_v1.3 = true 🔗
Si es true, habilita la negociación TLSv1.3.
Nota: Solo se admite cuando se utiliza Mbed TLS 3.0 o posterior (los paquetes de distribución de Linux pueden compilarse con paquetes Mbed TLS del sistema más antiguos); de lo contrario, la versión máxima de TLS admitida es siempre TLSv1.2.
float physics/2d/default_angular_damp = 1.0 🔗
The default rotational motion damping in 2D. Damping is used to gradually slow down physical objects over time. RigidBodies will fall back to this value when combining their own damping values and no area damping value is present.
Suggested values are in the range 0 to 30. At value 0 objects will keep moving with the same velocity. Greater values will stop the object faster. A value equal to or greater than the physics tick rate (physics/common/physics_ticks_per_second) will bring the object to a stop in one iteration.
Note: Godot damping calculations are velocity-dependent, meaning bodies moving faster will take a longer time to come to rest. They do not simulate inertia, friction, or air resistance. Therefore heavier or larger bodies will lose speed at the same proportional rate as lighter or smaller bodies.
During each physics tick, Godot will multiply the linear velocity of RigidBodies by 1.0 - combined_damp / physics_ticks_per_second. By default, bodies combine damp factors: combined_damp is the sum of the damp value of the body and this value or the area's value the body is in. See DampMode.
Warning: Godot's damping calculations are simulation tick rate dependent. Changing physics/common/physics_ticks_per_second may significantly change the outcomes and feel of your simulation. This is true for the entire range of damping values greater than 0. To get back to a similar feel, you also need to change your damp values. This needed change is not proportional and differs from case to case.
float physics/2d/default_gravity = 980.0 🔗
The default gravity strength in 2D (in pixels per second squared).
Note: This property is only read when the project starts. To change the default gravity at runtime, use the following code sample:
# Set the default gravity strength to 980.
PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, PhysicsServer2D.AREA_PARAM_GRAVITY, 980)
// Set the default gravity strength to 980.
PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, PhysicsServer2D.AreaParameter.Gravity, 980);
Vector2 physics/2d/default_gravity_vector = Vector2(0, 1) 🔗
The default gravity direction in 2D.
Note: This property is only read when the project starts. To change the default gravity vector at runtime, use the following code sample:
# Set the default gravity direction to `Vector2(0, 1)`.
PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, PhysicsServer2D.AREA_PARAM_GRAVITY_VECTOR, Vector2.DOWN)
// Set the default gravity direction to `Vector2(0, 1)`.
PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, PhysicsServer2D.AreaParameter.GravityVector, Vector2.Down)
float physics/2d/default_linear_damp = 0.1 🔗
The default linear motion damping in 2D. Damping is used to gradually slow down physical objects over time. RigidBodies will fall back to this value when combining their own damping values and no area damping value is present.
Suggested values are in the range 0 to 30. At value 0 objects will keep moving with the same velocity. Greater values will stop the object faster. A value equal to or greater than the physics tick rate (physics/common/physics_ticks_per_second) will bring the object to a stop in one iteration.
Note: Godot damping calculations are velocity-dependent, meaning bodies moving faster will take a longer time to come to rest. They do not simulate inertia, friction, or air resistance. Therefore heavier or larger bodies will lose speed at the same proportional rate as lighter or smaller bodies.
During each physics tick, Godot will multiply the linear velocity of RigidBodies by 1.0 - combined_damp / physics_ticks_per_second, where combined_damp is the sum of the linear damp of the body and this value, or the area's value the body is in, assuming the body defaults to combine damp values. See DampMode.
Warning: Godot's damping calculations are simulation tick rate dependent. Changing physics/common/physics_ticks_per_second may significantly change the outcomes and feel of your simulation. This is true for the entire range of damping values greater than 0. To get back to a similar feel, you also need to change your damp values. This needed change is not proportional and differs from case to case.
String physics/2d/physics_engine = "DEFAULT" 🔗
Sets which physics engine to use for 2D physics.
DEFAULT is currently equivalent to GodotPhysics2D, but may change in future releases. Select an explicit implementation if you want to ensure that your project stays on the same engine.
GodotPhysics2D is Godot's internal 2D physics engine.
Dummy is a 2D physics server that does nothing and returns only dummy values, effectively disabling all 2D physics functionality.
Third-party extensions and modules can add other physics engines to select with this setting.
bool physics/2d/run_on_separate_thread = false 🔗
If true, the 2D physics server runs on a separate thread, making better use of multi-core CPUs. If false, the 2D physics server runs on the main thread. Running the physics server on a separate thread can increase performance, but restricts API access to only physics process.
float physics/2d/sleep_threshold_angular = 0.13962634 🔗
Threshold angular velocity under which a 2D physics body will be considered inactive. See PhysicsServer2D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD.
float physics/2d/sleep_threshold_linear = 2.0 🔗
Threshold linear velocity under which a 2D physics body will be considered inactive. See PhysicsServer2D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD.
float physics/2d/solver/contact_max_allowed_penetration = 0.3 🔗
Maximum distance a shape can penetrate another shape before it is considered a collision. See PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION.
float physics/2d/solver/contact_max_separation = 1.5 🔗
Maximum distance a shape can be from another before they are considered separated and the contact is discarded. See PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_SEPARATION.
float physics/2d/solver/contact_recycle_radius = 1.0 🔗
Maximum distance a pair of bodies has to move before their collision status has to be recalculated. See PhysicsServer2D.SPACE_PARAM_CONTACT_RECYCLE_RADIUS.
float physics/2d/solver/default_constraint_bias = 0.2 🔗
Default solver bias for all physics constraints. Defines how much bodies react to enforce constraints. See PhysicsServer2D.SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS.
Individual constraints can have a specific bias value (see Joint2D.bias).
float physics/2d/solver/default_contact_bias = 0.8 🔗
Default solver bias for all physics contacts. Defines how much bodies react to enforce contact separation. See PhysicsServer2D.SPACE_PARAM_CONTACT_DEFAULT_BIAS.
Individual shapes can have a specific bias value (see Shape2D.custom_solver_bias).
int physics/2d/solver/solver_iterations = 16 🔗
Number of solver iterations for all contacts and constraints. The greater the number of iterations, the more accurate the collisions will be. However, a greater number of iterations requires more CPU power, which can decrease performance. See PhysicsServer2D.SPACE_PARAM_SOLVER_ITERATIONS.
float physics/2d/time_before_sleep = 0.5 🔗
Time (in seconds) of inactivity before which a 2D physics body will put to sleep. See PhysicsServer2D.SPACE_PARAM_BODY_TIME_TO_SLEEP.
float physics/3d/default_angular_damp = 0.1 🔗
The default rotational motion damping in 3D. Damping is used to gradually slow down physical objects over time. RigidBodies will fall back to this value when combining their own damping values and no area damping value is present.
Suggested values are in the range 0 to 30. At value 0 objects will keep moving with the same velocity. Greater values will stop the object faster. A value equal to or greater than the physics tick rate (physics/common/physics_ticks_per_second) will bring the object to a stop in one iteration.
Note: Godot damping calculations are velocity-dependent, meaning bodies moving faster will take a longer time to come to rest. They do not simulate inertia, friction, or air resistance. Therefore heavier or larger bodies will lose speed at the same proportional rate as lighter or smaller bodies.
During each physics tick, Godot will multiply the angular velocity of RigidBodies by 1.0 - combined_damp / physics_ticks_per_second. By default, bodies combine damp factors: combined_damp is the sum of the damp value of the body and this value or the area's value the body is in. See DampMode.
Warning: Godot's damping calculations are simulation tick rate dependent. Changing physics/common/physics_ticks_per_second may significantly change the outcomes and feel of your simulation. This is true for the entire range of damping values greater than 0. To get back to a similar feel, you also need to change your damp values. This needed change is not proportional and differs from case to case.
float physics/3d/default_gravity = 9.8 🔗
The default gravity strength in 3D (in meters per second squared).
Note: This property is only read when the project starts. To change the default gravity at runtime, use the following code sample:
# Set the default gravity strength to 9.8.
PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, PhysicsServer3D.AREA_PARAM_GRAVITY, 9.8)
// Set the default gravity strength to 9.8.
PhysicsServer3D.AreaSetParam(GetViewport().FindWorld3D().Space, PhysicsServer3D.AreaParameter.Gravity, 9.8);
Vector3 physics/3d/default_gravity_vector = Vector3(0, -1, 0) 🔗
The default gravity direction in 3D.
Note: This property is only read when the project starts. To change the default gravity vector at runtime, use the following code sample:
# Set the default gravity direction to `Vector3(0, -1, 0)`.
PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, PhysicsServer3D.AREA_PARAM_GRAVITY_VECTOR, Vector3.DOWN)
// Set the default gravity direction to `Vector3(0, -1, 0)`.
PhysicsServer3D.AreaSetParam(GetViewport().FindWorld3D().Space, PhysicsServer3D.AreaParameter.GravityVector, Vector3.Down)
float physics/3d/default_linear_damp = 0.1 🔗
The default linear motion damping in 3D. Damping is used to gradually slow down physical objects over time. RigidBodies will fall back to this value when combining their own damping values and no area damping value is present.
Suggested values are in the range 0 to 30. At value 0 objects will keep moving with the same velocity. Greater values will stop the object faster. A value equal to or greater than the physics tick rate (physics/common/physics_ticks_per_second) will bring the object to a stop in one iteration.
Note: Godot damping calculations are velocity-dependent, meaning bodies moving faster will take a longer time to come to rest. They do not simulate inertia, friction, or air resistance. Therefore heavier or larger bodies will lose speed at the same proportional rate as lighter or smaller bodies.
During each physics tick, Godot will multiply the linear velocity of RigidBodies by 1.0 - combined_damp / physics_ticks_per_second. By default, bodies combine damp factors: combined_damp is the sum of the damp value of the body and this value or the area's value the body is in. See DampMode.
Warning: Godot's damping calculations are simulation tick rate dependent. Changing physics/common/physics_ticks_per_second may significantly change the outcomes and feel of your simulation. This is true for the entire range of damping values greater than 0. To get back to a similar feel, you also need to change your damp values. This needed change is not proportional and differs from case to case.
String physics/3d/physics_engine = "DEFAULT" 🔗
Sets which physics engine to use for 3D physics.
DEFAULT is currently equivalent to GodotPhysics3D, but may change in future releases. Select an explicit implementation if you want to ensure that your project stays on the same engine.
GodotPhysics3D is Godot's internal 3D physics engine.
Jolt Physics is an alternative physics engine that is generally faster and more reliable than GodotPhysics3D. As it was recently implemented, it is currently considered experimental and its behavior may change in future releases.
Dummy is a 3D physics server that does nothing and returns only dummy values, effectively disabling all 3D physics functionality.
Third-party extensions and modules can add other physics engines to select with this setting.
String physics/3d/physics_interpolation/scene_traversal = "DEFAULT" 🔗
The approach used for 3D scene traversal when physics interpolation is enabled.
DEFAULT: The default optimized method.Legacy: The previous reference method used for scene tree traversal, which is slower.Debug: Swaps betweenDEFAULTandLegacymethods on alternating frames, and provides logging information (which in turn makes it slower). Intended for debugging only; you should use theDEFAULTmethod in most cases.
bool physics/3d/run_on_separate_thread = false 🔗
If true, the 3D physics server runs on a separate thread, making better use of multi-core CPUs. If false, the 3D physics server runs on the main thread. Running the physics server on a separate thread can increase performance, but restricts API access to only physics process.
Note: When physics/3d/physics_engine is set to Jolt Physics, enabling this setting will prevent the 3D physics server from being able to provide any context when reporting errors and warnings, and will instead always refer to nodes as <unknown>.
float physics/3d/sleep_threshold_angular = 0.13962634 🔗
Threshold angular velocity under which a 3D physics body will be considered inactive. See PhysicsServer3D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD.
float physics/3d/sleep_threshold_linear = 0.1 🔗
Threshold linear velocity under which a 3D physics body will be considered inactive. See PhysicsServer3D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD.
float physics/3d/solver/contact_max_allowed_penetration = 0.01 🔗
Maximum distance a shape can penetrate another shape before it is considered a collision. See PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION.
float physics/3d/solver/contact_max_separation = 0.05 🔗
Maximum distance a shape can be from another before they are considered separated and the contact is discarded. See PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_SEPARATION.
float physics/3d/solver/contact_recycle_radius = 0.01 🔗
Maximum distance a pair of bodies has to move before their collision status has to be recalculated. See PhysicsServer3D.SPACE_PARAM_CONTACT_RECYCLE_RADIUS.
float physics/3d/solver/default_contact_bias = 0.8 🔗
Default solver bias for all physics contacts. Defines how much bodies react to enforce contact separation. See PhysicsServer3D.SPACE_PARAM_CONTACT_DEFAULT_BIAS.
Individual shapes can have a specific bias value (see Shape3D.custom_solver_bias).
int physics/3d/solver/solver_iterations = 16 🔗
Number of solver iterations for all contacts and constraints. The greater the number of iterations, the more accurate the collisions will be. However, a greater number of iterations requires more CPU power, which can decrease performance. See PhysicsServer3D.SPACE_PARAM_SOLVER_ITERATIONS.
float physics/3d/time_before_sleep = 0.5 🔗
Time (in seconds) of inactivity before which a 3D physics body will put to sleep. See PhysicsServer3D.SPACE_PARAM_BODY_TIME_TO_SLEEP.
bool physics/common/enable_object_picking = true 🔗
Habilita Viewport.physics_object_picking en el viewport raíz.
int physics/common/max_physics_steps_per_frame = 8 🔗
Controls the maximum number of physics steps that can be simulated each rendered frame. The default value is tuned to avoid situations where the framerate suddenly drops to a very low value beyond a certain amount of physics simulation. This occurs because the physics engine can't keep up with the expected simulation rate. In this case, the framerate will start dropping, but the engine is only allowed to simulate a certain number of physics steps per rendered frame. This snowballs into a situation where framerate keeps dropping until it reaches a very low framerate (typically 1-2 FPS) and is called the physics spiral of death.
However, the game will appear to slow down if the rendering FPS is less than 1 / max_physics_steps_per_frame of physics/common/physics_ticks_per_second. This occurs even if delta is consistently used in physics calculations. To avoid this, increase physics/common/max_physics_steps_per_frame if you have increased physics/common/physics_ticks_per_second significantly above its default value.
Note: This property is only read when the project starts. To change the maximum number of simulated physics steps per frame at runtime, set Engine.max_physics_steps_per_frame instead.
bool physics/common/physics_interpolation = false 🔗
If true, the renderer will interpolate the transforms of objects (both physics and non-physics) between the last two transforms, so that smooth motion is seen even when physics ticks do not coincide with rendered frames. See also Node.reset_physics_interpolation().
Note: Although this is a global setting, finer control of individual branches of the SceneTree is possible using Node.physics_interpolation_mode.
Note: This property is only read when the project starts. To toggle physics interpolation at runtime, set SceneTree.physics_interpolation instead.
Note: Property physics/common/physics_jitter_fix is automatically disabled if physics/common/physics_interpolation is set to true, as the two methods are incompatible.
float physics/common/physics_jitter_fix = 0.5 🔗
Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of in-game clock and real clock, but allows smoothing out framerate jitters. The default value of 0.5 should be good enough for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
Note: Jitter fix is automatically disabled at runtime when physics/common/physics_interpolation is enabled.
Note: When using a custom physics interpolation solution, the physics jitter fix should be disabled by setting physics/common/physics_jitter_fix to 0.0.
Note: This property is only read when the project starts. To change the physics jitter fix at runtime, set Engine.physics_jitter_fix instead.
int physics/common/physics_ticks_per_second = 60 🔗
The number of fixed iterations per second. This controls how often physics simulation and Node._physics_process() methods are run. See also application/run/max_fps.
Note: This property is only read when the project starts. To change the physics FPS at runtime, set Engine.physics_ticks_per_second instead.
Note: Only physics/common/max_physics_steps_per_frame physics ticks may be simulated per rendered frame at most. If more physics ticks have to be simulated per rendered frame to keep up with rendering, the project will appear to slow down (even if delta is used consistently in physics calculations). Therefore, it is recommended to also increase physics/common/max_physics_steps_per_frame if increasing physics/common/physics_ticks_per_second significantly above its default value.
float physics/jolt_physics_3d/collisions/active_edge_threshold = 0.87266463 🔗
The maximum angle, in radians, between two adjacent triangles in a ConcavePolygonShape3D or HeightMapShape3D for which the edge between those triangles is considered inactive.
Collisions against an inactive edge will have its normal overridden to instead be the surface normal of the triangle. This can help alleviate ghost collisions.
Note: Setting this too high can result in objects not depenetrating properly.
Note: This applies to all shape queries, as well as physics bodies within the simulation.
Note: This does not apply when enabling Jolt's enhanced internal edge removal, which supersedes this.
float physics/jolt_physics_3d/collisions/collision_margin_fraction = 0.08 🔗
The amount of collision margin to use for certain convex collision shapes, such as BoxShape3D, CylinderShape3D and ConvexPolygonShape3D, as a fraction of the shape's shortest axis, with Shape3D.margin as the upper bound. This is mainly used to speed up collision detection with convex shapes.
Note: Collision margins in Jolt do not add any extra size to the shape. Instead the shape is first shrunk by the margin and then expanded by the same amount, resulting in a shape with rounded corners.
Note: Setting this value too close to 0.0 may also negatively affect the accuracy of the collision detection with convex shapes.
int physics/jolt_physics_3d/joints/world_node = 0 🔗
Which of the two nodes bound by a joint should represent the world when one of the two is omitted, as either Joint3D.node_a or Joint3D.node_b. This can be thought of as having the omitted node be a StaticBody3D at the joint's position. Joint limits are more easily expressed when Joint3D.node_a represents the world.
Note: In Godot Physics, only Joint3D.node_b can represent the world.
float physics/jolt_physics_3d/limits/max_angular_velocity = 47.12389 🔗
The maximum angular velocity that a RigidBody3D can reach, in radians per second.
This is mainly used as a fail-safe, to prevent the simulation from exploding, as fast-moving objects colliding with complex physics structures can otherwise cause them to go out of control. Fast-moving objects can also cause a lot of stress on the collision detection system, which can slow down the simulation considerably.
int physics/jolt_physics_3d/limits/max_bodies = 10240 🔗
The maximum number of PhysicsBody3D to support at the same time, awake or sleeping. When this limit is exceeded, an error is reported and anything past that point is undefined behavior.
Note: This limit also applies within the editor.
int physics/jolt_physics_3d/limits/max_body_pairs = 65536 🔗
The maximum number of body pairs to allow processing of. When this limit is exceeded, a warning is reported and collisions will randomly be ignored while bodies pass through each other.
int physics/jolt_physics_3d/limits/max_contact_constraints = 20480 🔗
The maximum number of contact constraints to allow processing of. When this limit is exceeded, a warning is reported and collisions will randomly be ignored while bodies pass through each other.
float physics/jolt_physics_3d/limits/max_linear_velocity = 500.0 🔗
The maximum linear velocity that a RigidBody3D can reach, in meters per second.
This is mainly used as a fail-safe, to prevent the simulation from exploding, as fast-moving objects colliding with complex physics structures can otherwise cause them to go out of control. Fast-moving objects can also cause a lot of stress on the collision detection system, which can slow down the simulation considerably.
int physics/jolt_physics_3d/limits/temporary_memory_buffer_size = 32 🔗
The amount of memory to pre-allocate for the stack allocator used within Jolt, in MiB. This allocator is used within the physics step to store things that are only needed during it, like which bodies are in contact, how they form islands and the data needed to solve the contacts.
float physics/jolt_physics_3d/limits/world_boundary_shape_size = 2000.0 🔗
The size of WorldBoundaryShape3D boundaries, for all three dimensions. The plane is effectively centered within a box of this size, and anything outside of the box will not collide with it. This is necessary as WorldBoundaryShape3D is not unbounded when using Jolt, in order to prevent precision issues.
Note: Setting this value too high can make collision detection less accurate.
Note: Collisions against the effective edges of a WorldBoundaryShape3D will be inconsistent.
float physics/jolt_physics_3d/motion_queries/recovery_amount = 0.4 🔗
Fraction of the total penetration to depenetrate per iteration during motion queries.
Note: This affects methods CharacterBody3D.move_and_slide(), PhysicsBody3D.move_and_collide(), PhysicsBody3D.test_move() and PhysicsServer3D.body_test_motion().
int physics/jolt_physics_3d/motion_queries/recovery_iterations = 4 🔗
The number of iterations to run when depenetrating during motion queries.
Note: This affects methods CharacterBody3D.move_and_slide(), PhysicsBody3D.move_and_collide(), PhysicsBody3D.test_move() and PhysicsServer3D.body_test_motion().
bool physics/jolt_physics_3d/motion_queries/use_enhanced_internal_edge_removal = true 🔗
If true, enables Jolt's enhanced internal edge removal during motion queries. This can help alleviate ghost collisions, but only with edges within a single body, meaning edges between separate bodies can still cause ghost collisions.
Note: This affects methods CharacterBody3D.move_and_slide(), PhysicsBody3D.move_and_collide(), PhysicsBody3D.test_move() and PhysicsServer3D.body_test_motion().
bool physics/jolt_physics_3d/queries/enable_ray_cast_face_index = false 🔗
If true, populates the face_index field in the results of PhysicsDirectSpaceState3D.intersect_ray(), also accessed through RayCast3D.get_collision_face_index(). If false, the face_index field will be left at its default value of -1.
Note: Enabling this setting will increase Jolt's memory usage for ConcavePolygonShape3D by around 25%.
bool physics/jolt_physics_3d/queries/use_enhanced_internal_edge_removal = false 🔗
If true, enables Jolt's enhanced internal edge removal during shape queries. This can help alleviate ghost collisions when using shape queries for things like character movement, but only with edges within a single body, meaning edges between separate bodies can still cause ghost collisions.
Note: This affects methods PhysicsDirectSpaceState3D.cast_motion(), PhysicsDirectSpaceState3D.collide_shape(), PhysicsDirectSpaceState3D.get_rest_info() and PhysicsDirectSpaceState3D.intersect_shape().
Note: Enabling this setting can cause certain shapes to be culled from the results entirely, but you will get at least one intersection per body.
bool physics/jolt_physics_3d/simulation/allow_sleep = true 🔗
If true, RigidBody3D nodes are allowed to go to sleep if their velocity is below the threshold defined in physics/jolt_physics_3d/simulation/sleep_velocity_threshold for the duration set in physics/jolt_physics_3d/simulation/sleep_time_threshold. This can improve physics simulation performance when there are non-moving RigidBody3D nodes, at the cost of some nodes possibly failing to wake up in certain scenarios. Consider disabling this temporarily to troubleshoot RigidBody3D nodes not moving when they should.
float physics/jolt_physics_3d/simulation/baumgarte_stabilization_factor = 0.2 🔗
How much of the position error of a RigidBody3D to fix during a physics step, where 0.0 is none and 1.0 is the full amount. This affects things like how quickly bodies depenetrate.
Note: Setting this value too high can make RigidBody3D nodes unstable.
float physics/jolt_physics_3d/simulation/body_pair_contact_cache_angle_threshold = 0.034906585 🔗
The maximum relative angle by which a body pair can move and still reuse the collision results from the previous physics step, in radians.
float physics/jolt_physics_3d/simulation/body_pair_contact_cache_distance_threshold = 0.001 🔗
The maximum relative distance by which a body pair can move and still reuse the collision results from the previous physics step, in meters.
bool physics/jolt_physics_3d/simulation/body_pair_contact_cache_enabled = true 🔗
If true, enables the body pair contact cache, which removes the need for potentially expensive collision detection when the relative orientation between two bodies hasn't changed much.
float physics/jolt_physics_3d/simulation/bounce_velocity_threshold = 1.0 🔗
The minimum velocity needed before a collision can be bouncy, in meters per second.
float physics/jolt_physics_3d/simulation/continuous_cd_max_penetration = 0.25 🔗
Fracción del radio interior de un cuerpo que puede penetrar otro cuerpo mientras se usa la detección continua de colisión.
float physics/jolt_physics_3d/simulation/continuous_cd_movement_threshold = 0.75 🔗
Fracción del radio interior de un cuerpo que el cuerpo debe moverse por paso para hacer uso de la detección continua de colisión.
bool physics/jolt_physics_3d/simulation/generate_all_kinematic_contacts = false 🔗
If true, a RigidBody3D frozen with RigidBody3D.FREEZE_MODE_KINEMATIC is able to collide with other kinematic and static bodies, and therefore generate contacts for them.
Note: This setting can come at a heavy CPU and memory cost if you allow many/large frozen kinematic bodies with a non-zero RigidBody3D.max_contacts_reported to overlap with complex static geometry, such as ConcavePolygonShape3D or HeightMapShape3D.
float physics/jolt_physics_3d/simulation/penetration_slop = 0.02 🔗
Cantidad que se permite que los cuerpos se penetren entre sí, en metros.
int physics/jolt_physics_3d/simulation/position_steps = 2 🔗
Número de iteraciones de posición del solucionador. Cuanto mayor sea el número de iteraciones, más precisa será la simulación, a costa del rendimiento de la CPU.
float physics/jolt_physics_3d/simulation/sleep_time_threshold = 0.5 🔗
Tiempo en segundos que un RigidBody3D pasará por debajo del umbral de velocidad de reposo antes de entrar en reposo.
float physics/jolt_physics_3d/simulation/sleep_velocity_threshold = 0.03 🔗
La velocidad lineal de puntos específicos en la caja delimitadora de un RigidBody3D, por debajo de la cual puede ser puesto a dormir, en metros por segundo. Estos puntos ayudan a capturar tanto el movimiento lineal como angular de un RigidBody3D.
float physics/jolt_physics_3d/simulation/soft_body_point_radius = 0.01 🔗
Qué tan grandes son los puntos de un SoftBody3D, en metros. Un valor más alto puede evitar comportamientos como que la tela quede perfectamente al ras de otras superficies y cause Z-fighting.
float physics/jolt_physics_3d/simulation/speculative_contact_distance = 0.02 🔗
Radio alrededor de los cuerpos físicos, dentro del cual se detectarán puntos de contacto especulativos, en metros. Esto se utiliza principalmente para evitar la tunelización/penetración de los nodos RigidBody3D durante la simulación.
Nota: Establecer esto demasiado alto puede resultar en colisiones fantasma, ya que los contactos especulativos se basan en los puntos más cercanos durante el paso de detección de colisiones, que pueden no ser los puntos más cercanos reales cuando los dos cuerpos chocan.
bool physics/jolt_physics_3d/simulation/use_enhanced_internal_edge_removal = true 🔗
Si es true, habilita la eliminación de bordes internos mejorada de Jolt para RigidBody3D. Esto puede ayudar a aliviar las colisiones fantasma cuando, por ejemplo, un RigidBody3D colisiona con los bordes de dos BoxShape3D perfectamente unidos. La eliminación solo se aplica a los bordes internos de un solo cuerpo, lo que significa que los bordes entre cuerpos separados aún pueden causar colisiones fantasma.
int physics/jolt_physics_3d/simulation/velocity_steps = 10 🔗
Número de iteraciones de velocidad del solucionador. Cuanto mayor sea el número de iteraciones, más precisa será la simulación, a costa del rendimiento de la CPU.
Nota: Esto debe ser al menos 2 para que la fricción funcione, ya que la fricción se aplica utilizando el impulso de no penetración de la iteración anterior.
int rendering/2d/batching/item_buffer_size = 16384 🔗
Maximum number of canvas item commands that can be batched into a single draw call.
int rendering/2d/batching/uniform_set_cache_size = 4096 🔗
Número máximo de conjuntos uniformes que la renderización 2D almacenará en caché al procesar llamadas de dibujo por lotes.
Nota: Aumentar este valor puede mejorar el rendimiento si el proyecto renderiza muchas texturas de sprite únicas cada fotograma.
int rendering/2d/sdf/oversize = 1 🔗
Controls how much of the original viewport size should be covered by the 2D signed distance field. This SDF can be sampled in CanvasItem shaders and is used for GPUParticles2D collision. Higher values allow portions of occluders located outside the viewport to still be taken into account in the generated signed distance field, at the cost of performance. If you notice particles falling through LightOccluder2Ds as the occluders leave the viewport, increase this setting.
The percentage specified is added on each axis and on both sides. For example, with the default setting of 120%, the signed distance field will cover 20% of the viewport's size outside the viewport on each side (top, right, bottom, left).
Note: This property is only read when the project starts. To change the 2D SDF oversizing percentage at runtime, use RenderingServer.viewport_set_sdf_oversize_and_scale() instead.
int rendering/2d/sdf/scale = 1 🔗
La escala de resolución a usar para el campo de distancia firmado 2D. Los valores más altos conducen a un campo de distancia firmado más preciso y estable a medida que la cámara se mueve, a costa del rendimiento. El valor predeterminado (50%) se renderiza a la mitad de la resolución del tamaño de la ventana gráfica en cada eje, lo que significa que el SDF se genera con el 25% del recuento de píxeles de la ventana gráfica.
Nota: Esta propiedad solo se lee cuando se inicia el proyecto. Para cambiar la escala de resolución SDF 2D en tiempo de ejecución, usa RenderingServer.viewport_set_sdf_oversize_and_scale() en su lugar.
int rendering/2d/shadow_atlas/size = 2048 🔗
El tamaño del atlas de sombras 2D en píxeles. Los valores más altos dan como resultado sombras Light2D más precisas, a costa del rendimiento y el uso de memoria de vídeo. El valor especificado se redondea a la potencia de 2 más cercana.
Nota: Esta propiedad solo se lee cuando se inicia el proyecto. Para cambiar el tamaño del atlas de sombras 2D en tiempo de ejecución, usa RenderingServer.canvas_set_shadow_texture_size() en su lugar.
bool rendering/2d/snap/snap_2d_transforms_to_pixel = false 🔗
If true, CanvasItem nodes will internally snap to full pixels. Useful for low-resolution pixel art games. Their position can still be sub-pixel, but the decimals will not have effect as the position is rounded. This can lead to a crisper appearance at the cost of less smooth movement, especially when Camera2D smoothing is enabled.
Note: This property is only read when the project starts. To toggle 2D transform snapping at runtime, use RenderingServer.viewport_set_snap_2d_transforms_to_pixel() on the root Viewport instead.
Note: Control nodes are snapped to the nearest pixel by default. This is controlled by gui/common/snap_controls_to_pixels.
Note: It is not recommended to use this setting together with rendering/2d/snap/snap_2d_vertices_to_pixel, as movement may appear even less smooth. Prefer only enabling this setting instead.
bool rendering/2d/snap/snap_2d_vertices_to_pixel = false 🔗
If true, vertices of CanvasItem nodes will snap to full pixels. Useful for low-resolution pixel art games. Only affects the final vertex positions, not the transforms. This can lead to a crisper appearance at the cost of less smooth movement, especially when Camera2D smoothing is enabled.
Note: This property is only read when the project starts. To toggle 2D vertex snapping at runtime, use RenderingServer.viewport_set_snap_2d_vertices_to_pixel() on the root Viewport instead.
Note: Control nodes are snapped to the nearest pixel by default. This is controlled by gui/common/snap_controls_to_pixels.
Note: It is not recommended to use this setting together with rendering/2d/snap/snap_2d_transforms_to_pixel, as movement may appear even less smooth. Prefer only enabling that setting instead.
int rendering/anti_aliasing/quality/msaa_2d = 0 🔗
Sets the number of multisample antialiasing (MSAA) samples to use for 2D/Canvas rendering (as a power of two). MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA value results in smoother edges but can be significantly slower on some hardware, especially integrated graphics due to their limited memory bandwidth. This has no effect on shader-induced aliasing or texture aliasing.
Note: MSAA is only supported in the Forward+ and Mobile rendering methods, not Compatibility.
Note: This property is only read when the project starts. To set the number of 2D MSAA samples at runtime, set Viewport.msaa_2d or use RenderingServer.viewport_set_msaa_2d().
int rendering/anti_aliasing/quality/msaa_3d = 0 🔗
Sets the number of multisample antialiasing (MSAA) samples to use for 3D rendering (as a power of two). MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA value results in smoother edges but can be significantly slower on some hardware, especially integrated graphics due to their limited memory bandwidth. See also rendering/scaling_3d/mode for supersampling, which provides higher quality but is much more expensive. This has no effect on shader-induced aliasing or texture aliasing.
Note: This property is only read when the project starts. To set the number of 3D MSAA samples at runtime, set Viewport.msaa_3d or use RenderingServer.viewport_set_msaa_3d().
int rendering/anti_aliasing/quality/screen_space_aa = 0 🔗
Sets the screen-space antialiasing mode for the default screen Viewport. Screen-space antialiasing works by selectively blurring edges in a post-process shader. It differs from MSAA which takes multiple coverage samples while rendering objects. Screen-space AA methods are typically faster than MSAA and will smooth out specular aliasing, but tend to make scenes appear blurry. The blurriness is partially counteracted by automatically using a negative mipmap LOD bias (see rendering/textures/default_filters/texture_mipmap_bias).
Another way to combat specular aliasing is to enable rendering/anti_aliasing/screen_space_roughness_limiter/enabled.
Note: Screen-space antialiasing is only supported in the Forward+ and Mobile rendering methods, not Compatibility.
Note: This property is only read when the project starts. To set the screen-space antialiasing mode at runtime, set Viewport.screen_space_aa on the root Viewport instead, or use RenderingServer.viewport_set_screen_space_aa().
float rendering/anti_aliasing/quality/smaa_edge_detection_threshold = 0.05 🔗
Establece la sensibilidad a los bordes al usar SMAA para el antialiasing. Los valores más bajos captarán más bordes, a un costo de rendimiento potencialmente mayor.
Nota: Esta propiedad solo se lee cuando se inicia el proyecto. Actualmente no hay forma de cambiar esta configuración en tiempo de ejecución.
bool rendering/anti_aliasing/quality/use_debanding = false 🔗
If true, uses a fast post-processing filter to make banding significantly less visible. If rendering/viewport/hdr_2d is false, 2D rendering is not affected by debanding unless the Environment.background_mode is Environment.BG_CANVAS. If rendering/viewport/hdr_2d is true, debanding will affect all 2D and 3D rendering, including canvas items.
In some cases, debanding may introduce a slightly noticeable dithering pattern. It's recommended to enable debanding only when actually needed since the dithering pattern will make lossless-compressed screenshots larger.
Note: This property is only read when the project starts. To set debanding at runtime, set Viewport.use_debanding on the root Viewport instead, or use RenderingServer.viewport_set_use_debanding().
bool rendering/anti_aliasing/quality/use_taa = false 🔗
Enables temporal antialiasing for the default screen Viewport. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion. Enabling TAA can make the image blurrier, which is partially counteracted by automatically using a negative mipmap LOD bias (see rendering/textures/default_filters/texture_mipmap_bias).
Note: The implementation is not complete yet. Some visual instances such as particles and skinned meshes may show ghosting artifacts in motion.
Note: TAA is only supported in the Forward+ rendering method, not Mobile or Compatibility.
Note: This property is only read when the project starts. To set TAA at runtime, set Viewport.use_taa on the root Viewport instead, or use RenderingServer.viewport_set_use_taa().
float rendering/anti_aliasing/screen_space_roughness_limiter/amount = 0.25 🔗
Nota: Esta propiedad solo se lee cuando se inicia el proyecto. Para controlar el limitador de rugosidad del espacio de la pantalla en tiempo de ejecución, llama a RenderingServer.screen_space_roughness_limiter_set_active() en su lugar.
bool rendering/anti_aliasing/screen_space_roughness_limiter/enabled = true 🔗
If true, enables a spatial filter to limit roughness in areas with high-frequency detail. This can help reduce specular aliasing to an extent, though not as much as enabling rendering/anti_aliasing/quality/use_taa. This filter has a small performance cost, so consider disabling it if it doesn't benefit your scene noticeably.
Note: The screen-space roughness limiter is only supported in the Forward+ and Mobile rendering methods, not Compatibility.
Note: This property is only read when the project starts. To control the screen-space roughness limiter at runtime, call RenderingServer.screen_space_roughness_limiter_set_active() instead.
float rendering/anti_aliasing/screen_space_roughness_limiter/limit = 0.18 🔗
Nota: Esta propiedad solo se lee cuando se inicia el proyecto. Para controlar el limitador de rugosidad del espacio de la pantalla en tiempo de ejecución, llama a RenderingServer.screen_space_roughness_limiter_set_active() en su lugar.
int rendering/camera/depth_of_field/depth_of_field_bokeh_quality = 1 🔗
Establece la calidad del efecto de profundidad de campo. Una mayor calidad toma más muestras, lo que es más lento pero se ve más suave.
int rendering/camera/depth_of_field/depth_of_field_bokeh_shape = 1 🔗
Sets the depth of field shape. Can be Box, Hexagon, or Circle. Box is the fastest. Circle is the most realistic, but also the most expensive to compute.
bool rendering/camera/depth_of_field/depth_of_field_use_jitter = false 🔗
Si es true, aplica fluctuación a las muestras DOF para que el efecto sea ligeramente más borroso y oculte las líneas creadas a partir de bajas tasas de muestreo. Esto puede resultar en una apariencia ligeramente granulada cuando se usa con un número bajo de muestras.
String rendering/driver/depth_prepass/disable_for_vendors = "PowerVR,Mali,Adreno,Apple" 🔗
Deshabilita rendering/driver/depth_prepass/enable condicionalmente para ciertos proveedores. Por defecto, deshabilita el pre-pase de profundidad para dispositivos móviles, ya que estos no se benefician de él debido a su arquitectura única.
bool rendering/driver/depth_prepass/enable = true 🔗
If true, performs a previous depth pass before rendering 3D materials. This increases performance significantly in scenes with high overdraw, when complex materials and lighting are used. However, in scenes with few occluded surfaces, the depth prepass may reduce performance. If your game is viewed from a fixed angle that makes it easy to avoid overdraw (such as top-down or side-scrolling perspective), consider disabling the depth prepass to improve performance. This setting can be changed at run-time to optimize performance depending on the scene currently being viewed.
Note: Depth prepass is only supported when using the Forward+ or Compatibility rendering method. When using the Mobile rendering method, there is no depth prepass performed.
int rendering/driver/threads/thread_model = 1 🔗
Experimental: This setting has several known bugs which can lead to crashing, especially when using particles or resizing the window. Not recommended for use in production at this stage.
The thread model to use for rendering. Rendering on a thread may improve performance, but synchronizing to the main thread can cause a bit more jitter.
Color rendering/environment/defaults/default_clear_color = Color(0.3, 0.3, 0.3, 1) 🔗
Default background clear color. Overridable per Viewport using its Environment. See Environment.background_mode and Environment.background_color in particular. To change this default color programmatically, use RenderingServer.set_default_clear_color().
String rendering/environment/defaults/default_environment = "" 🔗
Environment that will be used as a fallback environment in case a scene does not specify its own environment. The default environment is loaded in at scene load time regardless of whether you have set an environment or not. If you do not rely on the fallback environment, you do not need to set this property.
int rendering/environment/glow/upscale_mode = 1 🔗
Sets how the glow effect is upscaled before being copied onto the screen. Linear is faster, but looks blocky. Bicubic is slower but looks smooth.
Note: rendering/environment/glow/upscale_mode is only effective when using the Forward+ or Mobile rendering methods, as Compatibility uses a different glow implementation.
int rendering/environment/glow/upscale_mode.mobile = 0 🔗
Lower-end override for rendering/environment/glow/upscale_mode on mobile devices, due to performance concerns or driver support.
int rendering/environment/screen_space_reflection/roughness_quality = 1 🔗
Sets the quality for rough screen-space reflections. Turning off will make all screen space reflections sharp, while higher values make rough reflections look better.
float rendering/environment/ssao/adaptive_target = 0.5 🔗
Quality target to use when rendering/environment/ssao/quality is set to Ultra. A value of 0.0 provides a quality and speed similar to Medium while a value of 1.0 provides much higher quality than any of the other settings at the cost of performance.
int rendering/environment/ssao/blur_passes = 2 🔗
Number of blur passes to use when computing screen-space ambient occlusion. A higher number will result in a smoother look, but will be slower to compute and will have less high-frequency detail.
float rendering/environment/ssao/fadeout_from = 50.0 🔗
Distancia a la que el efecto de oclusión ambiental en espacio de pantalla comienza a desvanecerse. Usa esto para ocultar la oclusión ambiental desde lejos.
float rendering/environment/ssao/fadeout_to = 300.0 🔗
Distancia a la que la oclusión ambiental en espacio de pantalla está completamente desvanecida. Usa esto para ocultar la oclusión ambiental desde lejos.
bool rendering/environment/ssao/half_size = true 🔗
Si true, la oclusión ambiental en espacio de pantalla se renderizará a la mitad de tamaño y luego se aumentará antes de agregarse a la escena. Esto es significativamente más rápido pero puede perder pequeños detalles. Si false, la oclusión ambiental en espacio de pantalla se renderizará a tamaño completo.
int rendering/environment/ssao/quality = 2 🔗
Establece la calidad del efecto de oclusión ambiental en espacio de pantalla. Los valores más altos toman más muestras y, por lo tanto, resultarán en una mejor calidad, a costa del rendimiento. Establecer en Ultra utilizará el ajuste rendering/environment/ssao/adaptive_target.
float rendering/environment/ssil/adaptive_target = 0.5 🔗
Objetivo de calidad a utilizar cuando rendering/environment/ssil/quality está establecido en Ultra. Un valor de 0.0 proporciona una calidad y velocidad similar a Medium mientras que un valor de 1.0 proporciona una calidad mucho mayor que cualquiera de los otros ajustes a costa del rendimiento. Cuando se utiliza el objetivo adaptativo, el coste de rendimiento se escala con la complejidad de la escena.
int rendering/environment/ssil/blur_passes = 4 🔗
Número de pases de desenfoque a utilizar al calcular la iluminación indirecta en espacio de pantalla. Un número mayor resultará en un aspecto más suave, pero será más lento de calcular y tendrá menos detalles de alta frecuencia.
float rendering/environment/ssil/fadeout_from = 50.0 🔗
Distancia a la que el efecto de iluminación indirecta en espacio de pantalla comienza a desvanecerse. Usa esto para ocultar la iluminación indirecta en espacio de pantalla desde lejos.
float rendering/environment/ssil/fadeout_to = 300.0 🔗
Distancia a la que la iluminación indirecta en espacio de pantalla está completamente desvanecida. Usa esto para ocultar la iluminación indirecta en espacio de pantalla desde lejos.
bool rendering/environment/ssil/half_size = true 🔗
Si true, la iluminación indirecta en espacio de pantalla se renderizará a la mitad de tamaño y luego se aumentará antes de agregarse a la escena. Esto es significativamente más rápido pero puede perder pequeños detalles y puede hacer que algunos objetos parezcan brillar en sus bordes.
int rendering/environment/ssil/quality = 2 🔗
Establece la calidad del efecto de iluminación indirecta en espacio de pantalla. Los valores más altos toman más muestras y, por lo tanto, resultarán en una mejor calidad, a costa del rendimiento. Establecer en Ultra utilizará el ajuste rendering/environment/ssil/adaptive_target.
float rendering/environment/subsurface_scattering/subsurface_scattering_depth_scale = 0.01 🔗
Scales the depth over which the subsurface scattering effect is applied. A high value may allow light to scatter into a part of the mesh or another mesh that is close in screen space but far in depth. See also rendering/environment/subsurface_scattering/subsurface_scattering_scale.
Note: This property is only read when the project starts. To set the subsurface scattering depth scale at runtime, call RenderingServer.sub_surface_scattering_set_scale() instead.
int rendering/environment/subsurface_scattering/subsurface_scattering_quality = 1 🔗
Sets the quality of the subsurface scattering effect. Higher values are slower but look nicer. This affects the rendering of materials that have BaseMaterial3D.subsurf_scatter_enabled set to true, along with ShaderMaterials that set SSS_STRENGTH.
Note: This property is only read when the project starts. To set the subsurface scattering quality at runtime, call RenderingServer.sub_surface_scattering_set_quality() instead.
float rendering/environment/subsurface_scattering/subsurface_scattering_scale = 0.05 🔗
Scales the distance over which samples are taken for subsurface scattering effect. Changing this does not impact performance, but higher values will result in significant artifacts as the samples will become obviously spread out. A lower value results in a smaller spread of scattered light. See also rendering/environment/subsurface_scattering/subsurface_scattering_depth_scale.
Note: This property is only read when the project starts. To set the subsurface scattering scale at runtime, call RenderingServer.sub_surface_scattering_set_scale() instead.
int rendering/environment/volumetric_fog/use_filter = 1 🔗
Activa el filtrado del efecto de niebla volumétrica antes de la integración. Esto difumina sustancialmente la niebla, lo que reduce los detalles finos, pero también suaviza los bordes ásperos y los artefactos de aliasing. Desactiva esta opción cuando se requieran más detalles.
int rendering/environment/volumetric_fog/volume_depth = 64 🔗
Número de cortes a utilizar a lo largo de la profundidad del búfer de fróxeles para la niebla volumétrica. Un número menor será más eficiente, pero puede provocar la aparición de artefactos durante el movimiento de la cámara. Véase también Environment.volumetric_fog_length.
int rendering/environment/volumetric_fog/volume_size = 64 🔗
Tamaño base utilizado para determinar el tamaño del búfer de fróxeles en el eje X y el eje Y de la cámara. El tamaño final se escala según la relación de aspecto de la pantalla, por lo que los valores reales pueden diferir de los establecidos. Establece un tamaño mayor para una niebla más detallada, establece un tamaño menor para un mejor rendimiento.
String rendering/gl_compatibility/driver = "opengl3" 🔗
Sets the driver to be used by the renderer when using the Compatibility renderer. Editing this property has no effect in the default configuration, as first-party platforms each have platform-specific overrides. Use those overrides to configure the driver for each platform.
This can be overridden using the --rendering-driver <driver> command line argument.
Supported values are:
opengl3, OpenGL 3.3 on desktop platforms, OpenGL ES 3.0 on mobile platforms, WebGL 2.0 on web.opengl3_angle, OpenGL ES 3.0 using the ANGLE compatibility layer, supported on macOS (over native OpenGL) and Windows (over Direct3D 11).opengl3_es, OpenGL ES 3.0 on Linux/BSD.
Note: The availability of these options depends on whether the engine was compiled with support for them (determined by SCons options opengl3 and angle_libs).
Note: The actual rendering driver may be automatically changed by the engine as a result of a fallback, or a user-specified command line argument. To get the actual rendering driver that is used at runtime, use RenderingServer.get_current_rendering_driver_name() instead of reading this project setting's value.
String rendering/gl_compatibility/driver.android = "opengl3" 🔗
Sobrescritura de Android para rendering/gl_compatibility/driver.
Solo se admite una opción:
opengl3, OpenGL ES 3.0 de controladores nativos.
String rendering/gl_compatibility/driver.ios = "opengl3" 🔗
Sobrescritura de iOS para rendering/gl_compatibility/driver.
Solo se admite una opción:
opengl3, OpenGL ES 3.0 de controladores nativos.
String rendering/gl_compatibility/driver.linuxbsd = "opengl3" 🔗
Sobrescritura de LinuxBSD para rendering/gl_compatibility/driver.
Se admiten dos opciones:
opengl3(predeterminado), OpenGL 3.3 de controladores nativos.opengl3_es, OpenGL ES 3.0 de controladores nativos. Si rendering/gl_compatibility/fallback_to_gles está habilitado, esto se utiliza como alternativa si OpenGL 3.3 no es compatible.
String rendering/gl_compatibility/driver.macos = "opengl3" 🔗
macOS override for rendering/gl_compatibility/driver.
Two options are supported:
opengl3(default), OpenGL 3.3 from native drivers. If rendering/gl_compatibility/fallback_to_native is enabled, this is used as a fallback if ANGLE is configured as the preferred driver but not supported.opengl3_angle, OpenGL ES 3.0 using the ANGLE compatibility layer over native OpenGL drivers. If rendering/gl_compatibility/fallback_to_angle is enabled, this is used as a fallback if OpenGL 3.3 is not supported.
String rendering/gl_compatibility/driver.web = "opengl3" 🔗
Web override for rendering/gl_compatibility/driver.
Only one option is supported:
opengl3, WebGL 2.0. The underlying native API depends on the target OS, browser, and browser configuration.
String rendering/gl_compatibility/driver.windows = "opengl3" 🔗
Windows override for rendering/gl_compatibility/driver.
Two options are supported:
opengl3(default), OpenGL 3.3 from native drivers. If rendering/gl_compatibility/fallback_to_native is enabled, this is used as a fallback if ANGLE is configured as the preferred driver but not supported.opengl3_angle, OpenGL ES 3.0 using the ANGLE compatibility layer over native Direct3D 11 drivers. If rendering/gl_compatibility/fallback_to_angle is enabled, this is used as a fallback if OpenGL 3.3 is not supported. By default, ANGLE is used as the default driver for some devices listed in rendering/gl_compatibility/force_angle_on_devices.
bool rendering/gl_compatibility/fallback_to_angle = true 🔗
Si es true, el renderizador de Compatibilidad recurrirá a ANGLE si OpenGL nativo no es compatible o si el dispositivo aparece en rendering/gl_compatibility/force_angle_on_devices.
Nota: Este ajuste solo se implementa en Windows.
bool rendering/gl_compatibility/fallback_to_gles = true 🔗
Si es true, el renderizador de Compatibilidad recurrirá a OpenGLES si OpenGL de escritorio no es compatible.
Nota: Este ajuste solo se implementa en Linux/X11.
bool rendering/gl_compatibility/fallback_to_native = true 🔗
Si es true, el renderizador Compatibility recurrirá a OpenGL nativo si ANGLE no es compatible o no se encuentran las bibliotecas dinámicas de ANGLE.
Nota: Este ajuste se implementa en macOS y Windows.
Array rendering/gl_compatibility/force_angle_on_devices 🔗
Un Array de dispositivos que siempre deberían usar el renderizador ANGLE.
Cada entrada es un Dictionary con las siguientes claves: vendor y name. name puede establecerse como * para añadir todos los dispositivos con el vendor especificado.
Nota: Este ajuste solo se implementa en Windows.
int rendering/gl_compatibility/item_buffer_size = 16384 🔗
Maximum number of canvas items commands that can be drawn in a single viewport update. If more render commands are issued they will be ignored. Decreasing this limit may improve performance on bandwidth limited devices. Increase this limit if you find that not all objects are being drawn in a frame.
bool rendering/gl_compatibility/nvidia_disable_threaded_optimization = true 🔗
If true, disables the threaded optimization feature from the NVIDIA drivers, which are known to cause stuttering in most OpenGL applications.
Note: This setting only works on Windows, as threaded optimization is disabled by default on other platforms.
bool rendering/global_illumination/gi/use_half_resolution = false 🔗
If true, renders VoxelGI and SDFGI (Environment.sdfgi_enabled) buffers at halved resolution (e.g. 960×540 when the viewport size is 1920×1080). This improves performance significantly when VoxelGI or SDFGI is enabled, at the cost of artifacts that may be visible on polygon edges. The loss in quality becomes less noticeable as the viewport resolution increases. LightmapGI rendering is not affected by this setting.
Note: This property is only read when the project starts. To set half-resolution GI at run-time, call RenderingServer.gi_set_use_half_resolution() instead.
int rendering/global_illumination/sdfgi/frames_to_converge = 5 🔗
The number of frames to use for converging signed distance field global illumination. Higher values lead to a less noisy result, at the cost of taking a longer time to fully converge. This means the scene's global illumination will be too dark for a longer period of time, especially when the camera moves fast. The actual convergence speed depends on rendered framerate. For example, with the default setting of 30 frames, rendering at 60 FPS will make SDFGI fully converge after 0.5 seconds. See also rendering/global_illumination/sdfgi/frames_to_update_lights and rendering/global_illumination/sdfgi/probe_ray_count.
Note: This property is only read when the project starts. To control SDFGI convergence speed at runtime, call RenderingServer.environment_set_sdfgi_frames_to_converge() instead.
int rendering/global_illumination/sdfgi/frames_to_update_lights = 2 🔗
The number of frames over which dynamic lights should be updated in signed distance field global illumination. Higher values take more time to update indirect lighting coming from dynamic lights, but result in better performance when many dynamic lights are present. See also rendering/global_illumination/sdfgi/frames_to_converge and rendering/global_illumination/sdfgi/probe_ray_count.
Note: This only affects Light3D nodes whose Light3D.light_bake_mode is Light3D.BAKE_DYNAMIC (which is the default). Consider making non-moving lights use the Light3D.BAKE_STATIC bake mode to improve performance.
Note: This property is only read when the project starts. To control SDFGI light update speed at runtime, call RenderingServer.environment_set_sdfgi_frames_to_update_light() instead.
int rendering/global_illumination/sdfgi/probe_ray_count = 1 🔗
The number of rays to throw per frame when computing signed distance field global illumination. Higher values lead to a less noisy result, at the cost of performance. See also rendering/global_illumination/sdfgi/frames_to_converge and rendering/global_illumination/sdfgi/frames_to_update_lights.
Note: This property is only read when the project starts. To control SDFGI quality at runtime, call RenderingServer.environment_set_sdfgi_ray_count() instead.
int rendering/global_illumination/voxel_gi/quality = 0 🔗
The VoxelGI quality to use. High quality leads to more precise lighting and better reflections, but is slower to render. This setting does not affect the baked data and doesn't require baking the VoxelGI again to apply.
Note: This property is only read when the project starts. To control VoxelGI quality at runtime, call RenderingServer.voxel_gi_set_quality() instead.
int rendering/lightmapping/bake_performance/max_rays_per_pass = 4 🔗
The maximum number of rays that can be thrown per pass when baking lightmaps with LightmapGI. Depending on the scene, adjusting this value may result in higher GPU utilization when baking lightmaps, leading to faster bake times.
Note: Using a value that is too high for your system can cause crashes due to the GPU being unresponsive for long periods of time, and the graphics driver being reset by the OS.
int rendering/lightmapping/bake_performance/max_rays_per_probe_pass = 64 🔗
The maximum number of rays that can be thrown per pass when baking dynamic object lighting in LightmapProbes with LightmapGI. Depending on the scene, adjusting this value may result in higher GPU utilization when baking lightmaps, leading to faster bake times.
Note: Using a value that is too high for your system can cause crashes due to the GPU being unresponsive for long periods of time, and the graphics driver being reset by the OS.
int rendering/lightmapping/bake_performance/max_transparency_rays = 8 🔗
The maximum number of retry rays that can be thrown per pass when hitting a transparent surface when baking lightmaps with LightmapGI. Depending on the scene, reducing this value may lead to faster bake times.
Note: Using a value that is too high for your system can cause crashes due to the GPU being unresponsive for long periods of time, and the graphics driver being reset by the OS.
int rendering/lightmapping/bake_performance/region_size = 512 🔗
The region size to use when baking lightmaps with LightmapGI. The specified value is rounded up to the nearest power of 2.
Note: Using a value that is too high for your system can cause crashes due to the GPU being unresponsive for long periods of time, and the graphics driver being reset by the OS.
int rendering/lightmapping/bake_quality/high_quality_probe_ray_count = 512 🔗
The number of rays to use for baking dynamic object lighting in LightmapProbes when LightmapGI.quality is LightmapGI.BAKE_QUALITY_HIGH.
int rendering/lightmapping/bake_quality/high_quality_ray_count = 512 🔗
The number of rays to use for baking lightmaps with LightmapGI when LightmapGI.quality is LightmapGI.BAKE_QUALITY_HIGH.
int rendering/lightmapping/bake_quality/low_quality_probe_ray_count = 64 🔗
The number of rays to use for baking dynamic object lighting in LightmapProbes when LightmapGI.quality is LightmapGI.BAKE_QUALITY_LOW.
int rendering/lightmapping/bake_quality/low_quality_ray_count = 32 🔗
The number of rays to use for baking lightmaps with LightmapGI when LightmapGI.quality is LightmapGI.BAKE_QUALITY_LOW.
int rendering/lightmapping/bake_quality/medium_quality_probe_ray_count = 256 🔗
El número de rayos a usar para procesar la iluminación de objetos dinámicos en LightmapProbes cuando LightmapGI.quality es LightmapGI.BAKE_QUALITY_MEDIUM.
int rendering/lightmapping/bake_quality/medium_quality_ray_count = 128 🔗
El número de rayos a usar para procesar lightmaps con LightmapGI cuando LightmapGI.quality es LightmapGI.BAKE_QUALITY_MEDIUM.
int rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count = 2048 🔗
El número de rayos a usar para procesar la iluminación de objetos dinámicos en LightmapProbes cuando LightmapGI.quality es LightmapGI.BAKE_QUALITY_ULTRA.
int rendering/lightmapping/bake_quality/ultra_quality_ray_count = 2048 🔗
El número de rayos a usar para procesar lightmaps con LightmapGI cuando LightmapGI.quality es LightmapGI.BAKE_QUALITY_ULTRA.
int rendering/lightmapping/denoising/denoiser = 0 🔗
Denoiser tool used for denoising lightmaps.
Using OpenImageDenoise (OIDN) requires configuring a path to an OIDN executable in the editor settings at EditorSettings.filesystem/tools/oidn/oidn_denoise_path. OIDN can be downloaded from OpenImageDenoise's downloads page.
OIDN will use GPU acceleration when available. Unlike JNLM which uses compute shaders for acceleration, OIDN uses vendor-specific acceleration methods. For GPU acceleration to be available, the following libraries must be installed on the system depending on your GPU:
NVIDIA GPUs: CUDA libraries
AMD GPUs: HIP libraries
Intel GPUs: SYCL libraries
If no GPU acceleration is configured on the system, multi-threaded CPU-based denoising will be performed instead. This CPU-based denoising is significantly slower than the JNLM denoiser in most cases.
bool rendering/lightmapping/lightmap_gi/use_bicubic_filter = true 🔗
If true, applies a bicubic filter during lightmap sampling. This makes lightmaps look much smoother, at a moderate performance cost.
Note: The bicubic filter exaggerates the 'bleeding' effect that occurs when a lightmap's resolution is low enough.
float rendering/lightmapping/primitive_meshes/texel_size = 0.2 🔗
El texel_size que se utiliza para calcular el Mesh.lightmap_size_hint en los recursos PrimitiveMesh si PrimitiveMesh.add_uv2 está habilitado.
float rendering/lightmapping/probe_capture/update_speed = 15 🔗
The framerate-independent update speed when representing dynamic object lighting from LightmapProbes. Higher values make dynamic object lighting update faster. Higher values can prevent fast-moving objects from having "outdated" indirect lighting displayed on them, at the cost of possible flickering when an object moves from a bright area to a shaded area.
bool rendering/lights_and_shadows/directional_shadow/16_bits = true 🔗
Use 16 bits for the directional shadow depth map. Enabling this results in shadows having less precision and may result in shadow acne, but can lead to performance improvements on some devices.
int rendering/lights_and_shadows/directional_shadow/size = 4096 🔗
The directional shadow's size in pixels. Higher values will result in sharper shadows, at the cost of performance. The value is rounded up to the nearest power of 2.
int rendering/lights_and_shadows/directional_shadow/size.mobile = 2048 🔗
Lower-end override for rendering/lights_and_shadows/directional_shadow/size on mobile devices, due to performance concerns or driver support.
int rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality = 2 🔗
Quality setting for shadows cast by DirectionalLight3Ds. Higher quality settings use more samples when reading from shadow maps and are thus slower. Low quality settings may result in shadows looking grainy.
Note: The Soft Very Low setting will automatically multiply constant shadow blur by 0.75x to reduce the amount of noise visible. This automatic blur change only affects the constant blur factor defined in Light3D.shadow_blur, not the variable blur performed by DirectionalLight3Ds' Light3D.light_angular_distance.
Note: The Soft High and Soft Ultra settings will automatically multiply constant shadow blur by 1.5× and 2× respectively to make better use of the increased sample count. This increased blur also improves stability of dynamic object shadows.
int rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality.mobile = 0 🔗
Lower-end override for rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality on mobile devices, due to performance concerns or driver support.
bool rendering/lights_and_shadows/positional_shadow/atlas_16_bits = true 🔗
Use 16 bits for the omni/spot shadow depth map. Enabling this results in shadows having less precision and may result in shadow acne, but can lead to performance improvements on some devices.
int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_0_subdiv = 2 🔗
The subdivision amount of the first quadrant on the shadow atlas. See the documentation for more information.
int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_1_subdiv = 2 🔗
The subdivision amount of the second quadrant on the shadow atlas. See the documentation for more information.
int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_2_subdiv = 3 🔗
The subdivision amount of the third quadrant on the shadow atlas. See the documentation for more information.
int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_3_subdiv = 4 🔗
The subdivision amount of the fourth quadrant on the shadow atlas. See the documentation for more information.
int rendering/lights_and_shadows/positional_shadow/atlas_size = 4096 🔗
The size of the shadow atlas used for OmniLight3D and SpotLight3D nodes. See the documentation for more information.
int rendering/lights_and_shadows/positional_shadow/atlas_size.mobile = 2048 🔗
Lower-end override for rendering/lights_and_shadows/positional_shadow/atlas_size on mobile devices, due to performance concerns or driver support.
int rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality = 2 🔗
Quality setting for shadows cast by OmniLight3Ds and SpotLight3Ds. Higher quality settings use more samples when reading from shadow maps and are thus slower. Low quality settings may result in shadows looking grainy.
Note: The Soft Very Low setting will automatically multiply constant shadow blur by 0.75x to reduce the amount of noise visible. This automatic blur change only affects the constant blur factor defined in Light3D.shadow_blur, not the variable blur performed by DirectionalLight3Ds' Light3D.light_angular_distance.
Note: The Soft High and Soft Ultra settings will automatically multiply shadow blur by 1.5× and 2× respectively to make better use of the increased sample count. This increased blur also improves stability of dynamic object shadows.
int rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality.mobile = 0 🔗
Lower-end override for rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality on mobile devices, due to performance concerns or driver support.
bool rendering/lights_and_shadows/tighter_shadow_caster_culling = true 🔗
If true, items that cannot cast shadows into the view frustum will not be rendered into shadow maps.
This can increase performance.
bool rendering/lights_and_shadows/use_physical_light_units = false 🔗
Enables the use of physically based units for light sources. Physically based units tend to be much larger than the arbitrary units used by Godot, but they can be used to match lighting within Godot to real-world lighting. Due to the large dynamic range of lighting conditions present in nature, Godot bakes exposure into the various lighting quantities before rendering. Most light sources bake exposure automatically at run time based on the active CameraAttributes resource, but LightmapGI and VoxelGI require a CameraAttributes resource to be set at bake time to reduce the dynamic range. At run time, Godot will automatically reconcile the baked exposure with the active exposure to ensure lighting remains consistent.
float rendering/limits/cluster_builder/max_clustered_elements = 512 🔗
The maximum number of clustered elements (OmniLight3D + SpotLight3D + Decal + ReflectionProbe) that can be rendered at once in the camera view. If there are more clustered elements present in the camera view, some of them will not be rendered (leading to pop-in during camera movement). Enabling distance fade on lights and decals (Light3D.distance_fade_enabled, Decal.distance_fade_enabled) can help avoid reaching this limit.
Decreasing this value may improve GPU performance on certain setups, even if the maximum number of clustered elements is never reached in the project.
Note: This setting is only effective when using the Forward+ rendering method, not Mobile and Compatibility.
int rendering/limits/global_shader_variables/buffer_size = 65536 🔗
The maximum number of uniforms that can be used by the global shader uniform buffer. Each item takes up one slot. In other words, a single uniform float and a uniform vec4 will take the same amount of space in the buffer.
Note: When using the Compatibility renderer, most mobile devices (and all web exports) will be limited to a maximum size of 1024 due to hardware constraints.
int rendering/limits/opengl/max_lights_per_object = 8 🔗
Max number of omnilights and spotlights renderable per object. At the default value of 8, this means that each surface can be affected by up to 8 omnilights and 8 spotlights. This is further limited by hardware support and rendering/limits/opengl/max_renderable_lights. Setting this low will slightly reduce memory usage, may decrease shader compile times, and may result in faster rendering on low-end, mobile, or web devices.
Note: This setting is only effective when using the Compatibility rendering method, not Forward+ and Mobile.
int rendering/limits/opengl/max_renderable_elements = 65536 🔗
Max number of elements renderable in a frame. If more elements than this are visible per frame, they will not be drawn. Keep in mind elements refer to mesh surfaces and not meshes themselves. Setting this low will slightly reduce memory usage and may decrease shader compile times, particularly on web. For most uses, the default value is suitable, but consider lowering as much as possible on web export.
Note: This setting is only effective when using the Compatibility rendering method, not Forward+ and Mobile.
int rendering/limits/opengl/max_renderable_lights = 32 🔗
Max number of positional lights renderable in a frame. If more lights than this number are used, they will be ignored. Setting this low will slightly reduce memory usage and may decrease shader compile times, particularly on web. For most uses, the default value is suitable, but consider lowering as much as possible on web export.
Note: This setting is only effective when using the Compatibility rendering method, not Forward+ and Mobile.
int rendering/limits/spatial_indexer/threaded_cull_minimum_instances = 1000 🔗
The minimum number of instances that must be present in a scene to enable culling computations on multiple threads. If a scene has fewer instances than this number, culling is done on a single thread.
int rendering/limits/spatial_indexer/update_iterations_per_frame = 10 🔗
There is currently no description for this property. Please help us by contributing one!
float rendering/limits/time/time_rollover_secs = 3600 🔗
Maximum time (in seconds) before the TIME shader built-in variable rolls over. The TIME variable increments by delta each frame, and when it exceeds this value, it rolls over to 0.0. Since large floating-point values are less precise than small floating-point values, this should be set as low as possible to maximize the precision of the TIME built-in variable in shaders. This is especially important on mobile platforms where precision in shaders is significantly reduced. However, if this is set too low, shader animations may appear to restart from the beginning while the project is running.
On desktop platforms, values below 4096 are recommended, ideally below 2048. On mobile platforms, values below 64 are recommended, ideally below 32.
float rendering/mesh_lod/lod_change/threshold_pixels = 1.0 🔗
The automatic LOD bias to use for meshes rendered within the ReflectionProbe. Higher values will use less detailed versions of meshes that have LOD variations generated. If set to 0.0, automatic LOD is disabled. Increase rendering/mesh_lod/lod_change/threshold_pixels to improve performance at the cost of geometry detail.
Note: rendering/mesh_lod/lod_change/threshold_pixels does not affect GeometryInstance3D visibility ranges (also known as "manual" LOD or hierarchical LOD).
Note: This property is only read when the project starts. To adjust the automatic LOD threshold at runtime, set Viewport.mesh_lod_threshold on the root Viewport.
int rendering/occlusion_culling/bvh_build_quality = 2 🔗
The Bounding Volume Hierarchy quality to use when rendering the occlusion culling buffer. Higher values will result in more accurate occlusion culling, at the cost of higher CPU usage. See also rendering/occlusion_culling/occlusion_rays_per_thread.
Note: This property is only read when the project starts. To adjust the BVH build quality at runtime, use RenderingServer.viewport_set_occlusion_culling_build_quality().
bool rendering/occlusion_culling/jitter_projection = true 🔗
If true, the projection used for rendering the occlusion buffer will be jittered. This can help prevent objects being incorrectly culled when visible through small gaps.
int rendering/occlusion_culling/occlusion_rays_per_thread = 512 🔗
The number of occlusion rays traced per CPU thread. Higher values will result in more accurate occlusion culling, at the cost of higher CPU usage. The occlusion culling buffer's pixel count is roughly equal to occlusion_rays_per_thread * number_of_logical_cpu_cores, so it will depend on the system's CPU. Therefore, CPUs with fewer cores will use a lower resolution to attempt keeping performance costs even across devices. See also rendering/occlusion_culling/bvh_build_quality.
Note: This property is only read when the project starts. To adjust the number of occlusion rays traced per thread at runtime, use RenderingServer.viewport_set_occlusion_rays_per_thread().
bool rendering/occlusion_culling/use_occlusion_culling = false 🔗
If true, OccluderInstance3D nodes will be usable for occlusion culling in 3D in the root viewport. In custom viewports, Viewport.use_occlusion_culling must be set to true instead.
Note: Enabling occlusion culling has a cost on the CPU. Only enable occlusion culling if you actually plan to use it. Large open scenes with few or no objects blocking the view will generally not benefit much from occlusion culling. Large open scenes generally benefit more from mesh LOD and visibility ranges (GeometryInstance3D.visibility_range_begin and GeometryInstance3D.visibility_range_end) compared to occlusion culling.
Note: Due to memory constraints, occlusion culling is not supported by default in Web export templates. It can be enabled by compiling custom Web export templates with module_raycast_enabled=yes.
int rendering/reflections/reflection_atlas/reflection_count = 64 🔗
Number of cubemaps to store in the reflection atlas. The number of ReflectionProbes in a scene will be limited by this amount. A higher number requires more VRAM.
int rendering/reflections/reflection_atlas/reflection_size = 256 🔗
Size of cubemap faces for ReflectionProbes. A higher number requires more VRAM and may make reflection probe updating slower.
int rendering/reflections/reflection_atlas/reflection_size.mobile = 128 🔗
Lower-end override for rendering/reflections/reflection_atlas/reflection_size on mobile devices, due to performance concerns or driver support.
bool rendering/reflections/sky_reflections/fast_filter_high_quality = false 🔗
Use a higher quality variant of the fast filtering algorithm. Significantly slower than using default quality, but results in smoother reflections. Should only be used when the scene is especially detailed.
int rendering/reflections/sky_reflections/ggx_samples = 32 🔗
Sets the number of samples to take when using importance sampling for Skys and ReflectionProbes. A higher value will result in smoother, higher quality reflections, but increases time to calculate radiance maps. In general, fewer samples are needed for simpler, low dynamic range environments while more samples are needed for HDR environments and environments with a high level of detail.
int rendering/reflections/sky_reflections/ggx_samples.mobile = 16 🔗
Lower-end override for rendering/reflections/sky_reflections/ggx_samples on mobile devices, due to performance concerns or driver support.
int rendering/reflections/sky_reflections/roughness_layers = 8 🔗
Limits the number of layers to use in radiance maps when using importance sampling. A lower number will be slightly faster and take up less VRAM.
bool rendering/reflections/sky_reflections/texture_array_reflections = true 🔗
If true, uses texture arrays instead of mipmaps for reflection probes and panorama backgrounds (sky). This reduces jitter noise and upscaling artifacts on reflections, but is significantly slower to compute and uses rendering/reflections/sky_reflections/roughness_layers times more memory.
Note: Texture array reflections are always disabled on macOS on Intel GPUs due to driver bugs.
bool rendering/reflections/sky_reflections/texture_array_reflections.mobile = false 🔗
Lower-end override for rendering/reflections/sky_reflections/texture_array_reflections on mobile devices, due to performance concerns or driver support.
bool rendering/reflections/specular_occlusion/enabled = true 🔗
If true, reduces reflections based on ambient light.
String rendering/renderer/rendering_method = "forward_plus" 🔗
Sets the renderer that will be used by the project. Options are:
forward_plus (Forward+): High-end renderer designed for desktop devices. Has a higher base overhead, but scales well with complex scenes. Not suitable for older devices or mobile.
mobile (Mobile): Modern renderer designed for mobile devices. Has a lower base overhead than Forward+, but does not scale as well to large scenes with many elements.
gl_compatibility (Compatibility): Low-end renderer designed for older devices. Based on the limitations of the OpenGL 3.3 / OpenGL ES 3.0 / WebGL 2 APIs.
This can be overridden using the --rendering-method <method> command line argument.
Note: The actual rendering method may be automatically changed by the engine as a result of a fallback, or a user-specified command line argument. To get the actual rendering method that is used at runtime, use RenderingServer.get_current_rendering_method() instead of reading this project setting's value.
String rendering/renderer/rendering_method.mobile = "mobile" 🔗
Sobrescritura para rendering/renderer/rendering_method en dispositivos móviles.
String rendering/renderer/rendering_method.web = "gl_compatibility" 🔗
Sobrescritura para rendering/renderer/rendering_method en web.
int rendering/rendering_device/d3d12/agility_sdk_version = 613 🔗
Version code of the Direct3D 12 Agility SDK to use (D3D12SDKVersion). This must match the minor version that is installed next to the editor binary and in the export templates directory for the current editor version. For example, if you have 1.613.3 installed, you need to input 613 here.
int rendering/rendering_device/d3d12/max_misc_descriptors_per_frame = 512 🔗
El número de entradas en el bloque de descriptores misceláneos que el controlador de renderizado Direct3D 12 usa cada fotograma, utilizado para varias operaciones como limpiar una textura.
Dependiendo de la complejidad de las escenas, este valor puede ser reducido o puede necesitar aumentarse.
int rendering/rendering_device/d3d12/max_resource_descriptors_per_frame = 16384 🔗
El número de entradas en el bloque de descriptores de recursos que el controlador de renderizado Direct3D 12 usa cada fotograma, utilizado para la mayoría de las operaciones de renderizado.
Dependiendo de la complejidad de las escenas, este valor puede ser reducido o puede necesitar aumentarse.
int rendering/rendering_device/d3d12/max_sampler_descriptors_per_frame = 1024 🔗
El número de entradas en el bloque de descriptores de sampler que el controlador de renderizado Direct3D 12 usa cada fotograma, utilizado para la mayoría de las operaciones de renderizado.
Dependiendo de la complejidad de las escenas, este valor puede ser reducido o puede necesitar aumentarse.
String rendering/rendering_device/driver = "vulkan" 🔗
Sets the driver to be used by the renderer when using a RenderingDevice-based renderer like the Forward+ or Mobile renderers. Editing this property has no effect in the default configuration, as first-party platforms each have platform-specific overrides. Use those overrides to configure the driver for each platform.
This can be overridden using the --rendering-driver <driver> command line argument.
Supported values are:
metal, Metal (supported on Apple Silicon Macs and iOS).vulkan, Vulkan (supported on all desktop and mobile platforms).d3d12, Direct3D 12 (supported on Windows).
Note: The availability of these options depends on whether the engine was compiled with support for them (determined by SCons options vulkan, metal, and d3d12).
Note: If a given platform has no registered drivers, it can fall back to the Compatibility renderer (OpenGL 3) if rendering/rendering_device/fallback_to_opengl3 is enabled. This fallback happens automatically for the Web platform regardless of that property.
Note: The actual rendering driver may be automatically changed by the engine as a result of a fallback, or a user-specified command line argument. To get the actual rendering driver that is used at runtime, use RenderingServer.get_current_rendering_driver_name() instead of reading this project setting's value.
String rendering/rendering_device/driver.android = "vulkan" 🔗
Android override for rendering/rendering_device/driver.
Only one option is supported:
vulkan, Vulkan from native drivers.
Note: If Vulkan was disabled at compile time, there is no alternative RenderingDevice driver.
String rendering/rendering_device/driver.ios = "metal" 🔗
Sobrescritura de iOS para rendering/rendering_device/driver.
Se admiten dos opciones:
metal(predeterminado), Metal de controladores nativos.vulkan, Vulkan sobre Metal a través de MoltenVK.
String rendering/rendering_device/driver.linuxbsd = "vulkan" 🔗
Sobrescritura de LinuxBSD para rendering/rendering_device/driver.
Solo se admite una opción:
vulkan, Vulkan de controladores nativos.
Nota: Si Vulkan se desactivó en tiempo de compilación, no hay ningún controlador RenderingDevice alternativo.
String rendering/rendering_device/driver.macos = "metal" 🔗
Sobrescritura de macOS para rendering/rendering_device/driver.
Se admiten dos opciones:
metal(predeterminado), Metal de controladores nativos, solo se admite en Macs de silicio de Apple. En Macs de Intel, volverá automáticamente avulkan, ya que la compatibilidad con Metal no está implementada.vulkan, Vulkan sobre Metal a través de MoltenVK, compatible tanto con Macs de silicio de Apple como con Macs de Intel.
String rendering/rendering_device/driver.visionos = "metal" 🔗
Sobrescritura de visionOS para rendering/rendering_device/driver.
Solo se admite una opción:
metal(predeterminado), Metal de controladores nativos.
String rendering/rendering_device/driver.windows = "vulkan" 🔗
Sobrescritura de Windows para rendering/rendering_device/driver.
Se admiten dos opciones:
vulkan(predeterminado), Vulkan de controladores nativos. Si rendering/rendering_device/fallback_to_vulkan está habilitado, se utiliza como alternativa si Direct3D 12 no es compatible.d3d12, Direct3D 12 de controladores nativos. Si rendering/rendering_device/fallback_to_d3d12 está habilitado, se utiliza como alternativa si Vulkan no es compatible.
bool rendering/rendering_device/fallback_to_d3d12 = true 🔗
Si es true, el renderizador Forward recurrirá a Direct3D 12 si Vulkan no es compatible. La alternativa siempre se intenta independientemente de esta configuración si la compatibilidad con el controlador Vulkan se deshabilitó en tiempo de compilación.
Nota: Esta configuración solo se implementa en Windows.
bool rendering/rendering_device/fallback_to_opengl3 = true 🔗
Si es true, el renderizador Forward recurrirá a OpenGL 3 si Direct3D 12, Metal y Vulkan no son compatibles.
Nota: Esta configuración se implementa en Windows, Android, macOS, iOS y Linux/X11.
bool rendering/rendering_device/fallback_to_vulkan = true 🔗
Si es true, el renderizador Forward recurrirá a Vulkan si Direct3D 12 (en Windows) o Metal (en macOS x86_64) no son compatibles. El recurso siempre se intenta independientemente de este ajuste si la compatibilidad del controlador de Direct3D 12 (Windows) o Metal (macOS) se desactivó en el momento de la compilación.
Nota: Este ajuste se implementa en Windows y macOS.
bool rendering/rendering_device/pipeline_cache/enable = true 🔗
Enable the pipeline cache that is saved to disk if the graphics API supports it.
Note: This property is unable to control the pipeline caching the GPU driver itself does. Only turn this off along with deleting the contents of the driver's cache if you wish to simulate the experience a user will get when starting the game for the first time.
float rendering/rendering_device/pipeline_cache/save_chunk_size_mb = 3.0 🔗
Determines at which interval pipeline cache is saved to disk. The lower the value, the more often it is saved.
int rendering/rendering_device/staging_buffer/block_size_kb = 256 🔗
The size of a block allocated in the staging buffers. Staging buffers are the intermediate resources the engine uses to upload or download data to the GPU. This setting determines the max amount of data that can be transferred in a copy operation. Increasing this will result in faster data transfers at the cost of extra memory.
Note: This property is only read when the project starts. There is currently no way to change this value at run-time.
int rendering/rendering_device/staging_buffer/max_size_mb = 128 🔗
The maximum amount of memory allowed to be used by staging buffers. If the amount of data being uploaded or downloaded exceeds this amount, the GPU will stall and wait for previous frames to finish.
Note: This property is only read when the project starts. There is currently no way to change this value at run-time.
int rendering/rendering_device/staging_buffer/texture_download_region_size_px = 64 🔗
The region size in pixels used to download texture data from the GPU when using methods like RenderingDevice.texture_get_data_async().
Note: This property's upper limit is controlled by rendering/rendering_device/staging_buffer/block_size_kb and whether it's possible to allocate a single block of texture data with this region size in the format that is requested.
Note: This property is only read when the project starts. There is currently no way to change this value at run-time.
int rendering/rendering_device/staging_buffer/texture_upload_region_size_px = 64 🔗
The region size in pixels used to upload texture data from the GPU when using methods like RenderingDevice.texture_update().
Note: This property's upper limit is controlled by rendering/rendering_device/staging_buffer/block_size_kb and whether it's possible to allocate a single block of texture data with this region size in the format that is requested.
Note: This property is only read when the project starts. There is currently no way to change this value at run-time.
int rendering/rendering_device/vsync/frame_queue_size = 2 🔗
The number of frames to track on the CPU side before stalling to wait for the GPU.
Try the V-Sync Simulator, an interactive interface that simulates presentation to better understand how it is affected by different variables under various conditions.
Note: This property is only read when the project starts. There is currently no way to change this value at run-time.
int rendering/rendering_device/vsync/swapchain_image_count = 3 🔗
The number of images the swapchain will consist of (back buffers + front buffer).
2 corresponds to double-buffering and 3 to triple-buffering.
Double-buffering may give you the lowest lag/latency but if V-Sync is on and the system can't render at 60 fps, the framerate will go down in multiples of it (e.g. 30 fps, 15, 7.5, etc.). Triple buffering gives you higher framerate (specially if the system can't reach a constant 60 fps) at the cost of up to 1 frame of latency, with DisplayServer.VSYNC_ENABLED (FIFO).
Use double-buffering with DisplayServer.VSYNC_ENABLED. Triple-buffering is a must if you plan on using DisplayServer.VSYNC_MAILBOX mode.
Try the V-Sync Simulator, an interactive interface that simulates presentation to better understand how it is affected by different variables under various conditions.
Note: This property is only read when the project starts. There is currently no way to change this value at run-time.
Note: Some platforms may restrict the actual value.
int rendering/rendering_device/vulkan/max_descriptors_per_pool = 64 🔗
The number of descriptors per pool. Godot's Vulkan backend uses linear pools for descriptors that will be created and destroyed within a single frame. Instead of destroying every single descriptor every frame, they all can be destroyed at once by resetting the pool they belong to.
A larger number is more efficient up to a limit, after that it will only waste RAM (maximum efficiency is achieved when there is no more than 1 pool per frame). A small number could end up with one pool per descriptor, which negatively impacts performance.
Note: Changing this property requires a restart to take effect.
float rendering/scaling_3d/fsr_sharpness = 0.2 🔗
Determines how sharp the upscaled image will be when using the FSR upscaling mode. Sharpness halves with every whole number. Values go from 0.0 (sharpest) to 2.0. Values above 2.0 won't make a visible difference.
int rendering/scaling_3d/mode = 0 🔗
Sets the scaling 3D mode. Bilinear scaling renders at different resolution to either undersample or supersample the viewport. FidelityFX Super Resolution 1.0, abbreviated to FSR, is an upscaling technology that produces high quality images at fast framerates by using a spatially-aware upscaling algorithm. FSR is slightly more expensive than bilinear, but it produces significantly higher image quality. On particularly low-end GPUs, the added cost of FSR may not be worth it (compared to using bilinear scaling with a slightly higher resolution scale to match performance).
Note: FSR is only effective when using the Forward+ rendering method, not Mobile or Compatibility. If using an incompatible rendering method, FSR will fall back to bilinear scaling.
int rendering/scaling_3d/mode.ios 🔗
iOS override for rendering/scaling_3d/mode. This allows selecting the MetalFX spatial and MetalFX temporal scaling modes, which are exclusive to platforms where the Metal rendering driver is used.
int rendering/scaling_3d/mode.macos 🔗
macOS override for rendering/scaling_3d/mode. This allows selecting the MetalFX spatial and MetalFX temporal scaling modes, which are exclusive to platforms where the Metal rendering driver is used.
float rendering/scaling_3d/scale = 1.0 🔗
Scales the 3D render buffer based on the viewport size uses an image filter specified in rendering/scaling_3d/mode to scale the output image to the full viewport size. Values lower than 1.0 can be used to speed up 3D rendering at the cost of quality (undersampling). Values greater than 1.0 are only valid for bilinear mode and can be used to improve 3D rendering quality at a high performance cost (supersampling). See also rendering/anti_aliasing/quality/msaa_3d for multi-sample antialiasing, which is significantly cheaper but only smooths the edges of polygons.
bool rendering/shader_compiler/shader_cache/compress = true 🔗
There is currently no description for this property. Please help us by contributing one!
bool rendering/shader_compiler/shader_cache/enabled = true 🔗
Enable the shader cache, which stores compiled shaders to disk to prevent stuttering from shader compilation the next time the shader is needed.
bool rendering/shader_compiler/shader_cache/strip_debug = false 🔗
There is currently no description for this property. Please help us by contributing one!
bool rendering/shader_compiler/shader_cache/strip_debug.release = true 🔗
There is currently no description for this property. Please help us by contributing one!
bool rendering/shader_compiler/shader_cache/use_zstd_compression = true 🔗
There is currently no description for this property. Please help us by contributing one!
bool rendering/shading/overrides/force_lambert_over_burley = false 🔗
Si es true, utiliza un modelo de iluminación de material Lambert más rápido pero de menor calidad en lugar del Burley.
bool rendering/shading/overrides/force_lambert_over_burley.mobile = true 🔗
Lower-end override for rendering/shading/overrides/force_lambert_over_burley on mobile devices, due to performance concerns or driver support.
bool rendering/shading/overrides/force_vertex_shading = false 🔗
If true, forces vertex shading for all rendering. This can increase performance a lot, but also reduces quality immensely. Can be used to optimize performance on low-end mobile devices.
int rendering/textures/basis_universal/rdo_dict_size = 1024 🔗
The dictionary size for Rate-Distortion Optimization (RDO) when importing textures as Basis Universal and when RDO is enabled, ranging from 64 to 65536. Higher values reduce the file sizes further, but make encoding times significantly longer.
bool rendering/textures/basis_universal/zstd_supercompression = true 🔗
If true, enables Zstandard supercompression to reduce file size when importing textures as Basis Universal.
Note: Basis Universal textures need to be compressed to gain the benefit of smaller file sizes, otherwise they are as large as VRAM-compressed textures.
int rendering/textures/basis_universal/zstd_supercompression_level = 6 🔗
Specify the compression level for Basis Universal Zstandard supercompression, ranging from 1 to 22.
int rendering/textures/canvas_textures/default_texture_filter = 1 🔗
The default texture filtering mode to use for CanvasItems built-in texture. In shaders, this texture is accessed as TEXTURE.
Note: For pixel art aesthetics, see also rendering/2d/snap/snap_2d_vertices_to_pixel and rendering/2d/snap/snap_2d_transforms_to_pixel.
int rendering/textures/canvas_textures/default_texture_repeat = 0 🔗
The default texture repeating mode to use for CanvasItems built-in texture. In shaders, this texture is accessed as TEXTURE.
int rendering/textures/decals/filter = 3 🔗
The filtering quality to use for Decal nodes. When using one of the anisotropic filtering modes, the anisotropic filtering level is controlled by rendering/textures/default_filters/anisotropic_filtering_level.
int rendering/textures/default_filters/anisotropic_filtering_level = 2 🔗
Sets the maximum number of samples to take when using anisotropic filtering on textures (as a power of two). A higher sample count will result in sharper textures at oblique angles, but is more expensive to compute. A value of 0 forcibly disables anisotropic filtering, even on materials where it is enabled.
The anisotropic filtering level also affects decals and light projectors if they are configured to use anisotropic filtering. See rendering/textures/decals/filter and rendering/textures/light_projectors/filter.
Note: In 3D, for this setting to have an effect, set BaseMaterial3D.texture_filter to BaseMaterial3D.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC or BaseMaterial3D.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC on materials.
Note: In 2D, for this setting to have an effect, set CanvasItem.texture_filter to CanvasItem.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC or CanvasItem.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC on the CanvasItem node displaying the texture (or in CanvasTexture). However, anisotropic filtering is rarely useful in 2D, so only enable it for textures in 2D if it makes a meaningful visual difference.
Note: This property is only read when the project starts. To change the anisotropic filtering level at runtime, set Viewport.anisotropic_filtering_level on the root Viewport instead.
float rendering/textures/default_filters/texture_mipmap_bias = 0.0 🔗
Affects the final texture sharpness by reading from a lower or higher mipmap (also called "texture LOD bias"). Negative values make mipmapped textures sharper but grainier when viewed at a distance, while positive values make mipmapped textures blurrier (even when up close).
Enabling temporal antialiasing (rendering/anti_aliasing/quality/use_taa) will automatically apply a -0.5 offset to this value, while enabling FXAA (rendering/anti_aliasing/quality/screen_space_aa) will automatically apply a -0.25 offset to this value. If both TAA and FXAA are enabled at the same time, an offset of -0.75 is applied to this value.
Note: If rendering/scaling_3d/scale is lower than 1.0 (exclusive), rendering/textures/default_filters/texture_mipmap_bias is used to adjust the automatic mipmap bias which is calculated internally based on the scale factor. The formula for this is log2(scaling_3d_scale) + mipmap_bias.
bool rendering/textures/default_filters/use_nearest_mipmap_filter = false 🔗
If true, uses nearest-neighbor mipmap filtering when using mipmaps (also called "bilinear filtering"), which will result in visible seams appearing between mipmap stages. This may increase performance in mobile as less memory bandwidth is used. If false, linear mipmap filtering (also called "trilinear filtering") is used.
Note: This property is only read when the project starts. There is currently no way to change this setting at run-time.
int rendering/textures/light_projectors/filter = 3 🔗
The filtering quality to use for OmniLight3D and SpotLight3D projectors. When using one of the anisotropic filtering modes, the anisotropic filtering level is controlled by rendering/textures/default_filters/anisotropic_filtering_level.
bool rendering/textures/lossless_compression/force_png = false 🔗
If true, the texture importer will import lossless textures using the PNG format. Otherwise, it will default to using WebP.
bool rendering/textures/vram_compression/cache_gpu_compressor = true 🔗
If true, the GPU texture compressor will cache the local RenderingDevice and its resources (shaders and pipelines), allowing for faster subsequent imports at a memory cost.
bool rendering/textures/vram_compression/compress_with_gpu = true 🔗
If true, the texture importer will utilize the GPU for compressing textures, improving the import time of large images.
Note: This only functions on a device which supports either Vulkan, Direct3D 12, or Metal as a rendering driver.
Note: Currently this only affects certain compressed formats (BC1, BC3, BC4, BC5, and BC6), all of which are exclusive to desktop platforms and consoles.
bool rendering/textures/vram_compression/import_etc2_astc = false 🔗
If true, the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression 2 algorithm for lower quality textures and normal maps and Adaptable Scalable Texture Compression algorithm for high quality textures (in 4×4 block size).
Note: This setting is an override. The texture importer will always import the format the host platform needs, even if this is set to false.
Note: Changing this setting does not impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the .godot/imported/ folder located inside the project folder then restart the editor (see application/config/use_hidden_project_data_directory).
bool rendering/textures/vram_compression/import_s3tc_bptc = false 🔗
If true, the texture importer will import VRAM-compressed textures using the S3 Texture Compression algorithm (DXT1-5) for lower quality textures and the BPTC algorithm (BC6H and BC7) for high quality textures. This algorithm is only supported on PC desktop platforms and consoles.
Note: This setting is an override. The texture importer will always import the format the host platform needs, even if this is set to false.
Note: Changing this setting does not impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the .godot/imported/ folder located inside the project folder then restart the editor (see application/config/use_hidden_project_data_directory).
int rendering/textures/webp_compression/compression_method = 2 🔗
The default compression method for WebP. Affects both lossy and lossless WebP. A higher value results in smaller files at the cost of compression speed. Decompression speed is mostly unaffected by the compression method. Supported values are 0 to 6. Note that compression methods above 4 are very slow and offer very little savings.
float rendering/textures/webp_compression/lossless_compression_factor = 25 🔗
The default compression factor for lossless WebP. Decompression speed is mostly unaffected by the compression factor. Supported values are 0 to 100.
bool rendering/viewport/hdr_2d = false 🔗
If true, enables Viewport.use_hdr_2d on the root viewport. 2D rendering will use a high dynamic range (HDR) format framebuffer matching the bit depth of the 3D framebuffer. When using the Forward+ or Compatibility renderer, this will be an RGBA16 framebuffer. When using the Mobile renderer, it will be an RGB10_A2 framebuffer.
Additionally, 2D rendering will take place in linear color space and will be converted to sRGB space immediately before blitting to the screen (if the Viewport is attached to the screen).
Practically speaking, this means that the end result of the Viewport will not be clamped to the 0-1 range and can be used in 3D rendering without color space adjustments. This allows 2D rendering to take advantage of effects requiring high dynamic range (e.g. 2D glow) as well as substantially improves the appearance of effects requiring highly detailed gradients.
Note: This property is only read when the project starts. To toggle HDR 2D at runtime, set Viewport.use_hdr_2d on the root Viewport.
bool rendering/viewport/transparent_background = false 🔗
Si es true, habilita Viewport.transparent_bg en el viewport raíz. Esto permite que la transparencia por píxel sea efectiva después de habilitar también display/window/size/transparent y display/window/per_pixel_transparency/allowed.
Establece el modo predeterminado de Sombreado de Tasa Variable (VRS) para el viewport principal. Véase Viewport.vrs_mode para cambiar esto en tiempo de ejecución, y VRSMode para los valores posibles.
String rendering/vrs/texture = "" 🔗
If rendering/vrs/mode is set to Texture, this is the path to default texture loaded as the VRS image.
The texture must use a lossless compression format so that colors can be matched precisely. The following VRS densities are mapped to various colors, with brighter colors representing a lower level of shading precision:
- 1×1 = rgb(0, 0, 0) - #000000
- 1×2 = rgb(0, 85, 0) - #005500
- 2×1 = rgb(85, 0, 0) - #550000
- 2×2 = rgb(85, 85, 0) - #555500
- 2×4 = rgb(85, 170, 0) - #55aa00
- 4×2 = rgb(170, 85, 0) - #aa5500
- 4×4 = rgb(170, 170, 0) - #aaaa00
- 4×8 = rgb(170, 255, 0) - #aaff00 - Not supported on most hardware
- 8×4 = rgb(255, 170, 0) - #ffaa00 - Not supported on most hardware
- 8×8 = rgb(255, 255, 0) - #ffff00 - Not supported on most hardware
float threading/worker_pool/low_priority_thread_ratio = 0.3 🔗
The ratio of WorkerThreadPool's threads that will be reserved for low-priority tasks. For example, if 10 threads are available and this value is set to 0.3, 3 of the worker threads will be reserved for low-priority tasks. The actual value won't exceed the number of CPU cores minus one, and if possible, at least one worker thread will be dedicated to low-priority tasks.
int threading/worker_pool/max_threads = -1 🔗
Número máximo de hilos a ser usados por WorkerThreadPool. Un valor de -1 significa 1 en la Web, o el número de núcleos de CPU lógicos disponibles en otras plataformas (véase OS.get_processor_count()).
bool xr/openxr/binding_modifiers/analog_threshold = false 🔗
Si es true, habilita el modificador de vinculación del umbral analógico si es soportado por el tiempo de ejecución de XR.
bool xr/openxr/binding_modifiers/dpad_binding = false 🔗
Si es true, habilita el modificador de vinculación del D-pad si es soportado por el tiempo de ejecución de XR.
String xr/openxr/default_action_map = "res://openxr_action_map.tres" 🔗
Configuración del mapa de acciones a cargar por defecto.
bool xr/openxr/enabled = false 🔗
Si es true, Godot configurará e inicializará OpenXR al inicio.
int xr/openxr/environment_blend_mode = "0" 🔗
Especifica cómo OpenXR debe mezclarse con el entorno. Esto es específico para ciertos dispositivos de RA y de paso donde las imágenes de la cámara son mezcladas por el compositor de XR.
int xr/openxr/extensions/debug_message_types = "15" 🔗
Especifica los tipos de mensajes para los cuales solicitamos mensajes de depuración. Requiere que xr/openxr/extensions/debug_utils esté establecido y que la extensión sea soportada por el tiempo de ejecución de XR.
int xr/openxr/extensions/debug_utils = "0" 🔗
Habilita las utilidades de depuración en los tiempos de ejecución de XR que soportan la extensión de utilidades de depuración. Establece la severidad máxima a ser reportada (0 = desactivado, 1 = error, 2 = advertencia, 3 = información, 4 = verboso).
bool xr/openxr/extensions/eye_gaze_interaction = false 🔗
Especifica si se debe habilitar el seguimiento ocular para este proyecto. Dependiendo de la plataforma, puede ser necesaria una configuración de exportación adicional.
bool xr/openxr/extensions/hand_interaction_profile = false 🔗
Si es true, la extensión del perfil de interacción de mano se activará si es soportada por la plataforma.
bool xr/openxr/extensions/hand_tracking = false 🔗
If true, the hand tracking extension is enabled if available.
Note: By default hand tracking will only work for data sources chosen by the XR runtime. For SteamVR this is the controller inferred data source, for most other runtimes this is the unobstructed data source. There is no way to query this. If a runtime supports the OpenXR data source extension you can use the xr/openxr/extensions/hand_tracking_controller_data_source and/or xr/openxr/extensions/hand_tracking_unobstructed_data_source to indicate you wish to enable these data sources. If neither is selected the data source extension is not enabled and the XR runtimes default behavior persists.
bool xr/openxr/extensions/hand_tracking_controller_data_source = false 🔗
If true, support for the controller inferred data source is requested. If supported, you will receive hand tracking data even if the user has a controller in hand, with finger positions automatically inferred from controller input and/or sensors.
Note: This requires the OpenXR data source extension and controller inferred handtracking to be supported by the XR runtime. If not supported this setting will be ignored. xr/openxr/extensions/hand_tracking must be enabled for this setting to be used.
bool xr/openxr/extensions/hand_tracking_unobstructed_data_source = false 🔗
If true, support for the unobstructed data source is requested. If supported, you will receive hand tracking data based on the actual finger positions of the user often determined by optical tracking.
Note: This requires the OpenXR data source extension and unobstructed handtracking to be supported by the XR runtime. If not supported this setting will be ignored. xr/openxr/extensions/hand_tracking must be enabled for this setting to be used.
bool xr/openxr/extensions/render_model = false 🔗
If true we enable the render model extension if available.
Note: This relates to the core OpenXR render model extension and has no relation to any vendor render model extensions.
int xr/openxr/form_factor = "0" 🔗
Especifica si OpenXR debe configurarse para un HMD o un dispositivo de mano.
bool xr/openxr/foveation_dynamic = false 🔗
Si es true y la foveación es compatible, ajustará automáticamente el nivel de foveación en función de la velocidad de fotogramas hasta el nivel establecido en xr/openxr/foveation_level.
int xr/openxr/foveation_level = "0" 🔗
Nivel de foveación aplicado si es compatible: 0 = desactivado, 1 = bajo, 2 = medio, 3 = alto.
Nota: En plataformas distintas de Android, si rendering/anti_aliasing/quality/msaa_3d está habilitado, esta característica se deshabilitará.
int xr/openxr/reference_space = "1" 🔗
Especifica el espacio de referencia por defecto.
bool xr/openxr/startup_alert = true 🔗
Si es true, Godot mostrará un modal de alerta cuando la inicialización de OpenXR falle al iniciar.
bool xr/openxr/submit_depth_buffer = false 🔗
Si es true, OpenXR gestionará el búfer de profundidad y lo usará para la reproyección avanzada, siempre que sea compatible con el runtime de XR. Ten en cuenta que algunas características de renderizado de Godot no se pueden usar con esta función.
int xr/openxr/view_configuration = "1" 🔗
Especifica la configuración de la vista con la que configurar OpenXR, estableciendo un renderizado Mono o Estéreo.
bool xr/shaders/enabled = false 🔗
Si es true, Godot compilará los shaders necesarios para XR.
Descripciones de Métodos
void add_property_info(hint: Dictionary) 🔗
Adds a custom property info to a property. The dictionary must contain:
"name": String (the property's name)"type": int (see Variant.Type)optionally
"hint": int (see PropertyHint) and"hint_string": String
ProjectSettings.set("category/property_name", 0)
var property_info = {
"name": "category/property_name",
"type": TYPE_INT,
"hint": PROPERTY_HINT_ENUM,
"hint_string": "one,two,three"
}
ProjectSettings.add_property_info(property_info)
ProjectSettings.Singleton.Set("category/property_name", 0);
var propertyInfo = new Godot.Collections.Dictionary
{
{ "name", "category/propertyName" },
{ "type", (int)Variant.Type.Int },
{ "hint", (int)PropertyHint.Enum },
{ "hint_string", "one,two,three" },
};
ProjectSettings.AddPropertyInfo(propertyInfo);
Note: Setting "usage" for the property is not supported. Use set_as_basic(), set_restart_if_changed(), and set_as_internal() to modify usage flags.
Despeja toda la configuración (no recomendado, puede romper cosas).
Array[Dictionary] get_global_class_list() 🔗
Returns an Array of registered global classes. Each global class is represented as a Dictionary that contains the following entries:
baseis a name of the base class;classis a name of the registered global class;iconis a path to a custom icon of the global class, if it has any;languageis a name of a programming language in which the global class is written;pathis a path to a file containing the global class.
Note: Both the script and the icon paths are local to the project filesystem, i.e. they start with res://.
int get_order(name: String) const 🔗
Devuelve el orden de un valor de configuración (influye cuando se guarda en el archivo de configuración).
Variant get_setting(name: String, default_value: Variant = null) const 🔗
Returns the value of the setting identified by name. If the setting doesn't exist and default_value is specified, the value of default_value is returned. Otherwise, null is returned.
print(ProjectSettings.get_setting("application/config/name"))
print(ProjectSettings.get_setting("application/config/custom_description", "No description specified."))
GD.Print(ProjectSettings.GetSetting("application/config/name"));
GD.Print(ProjectSettings.GetSetting("application/config/custom_description", "No description specified."));
Note: This method doesn't take potential feature overrides into account automatically. Use get_setting_with_override() to handle seamlessly.
See also has_setting() to check whether a setting exists.
Variant get_setting_with_override(name: StringName) const 🔗
Similar to get_setting(), but applies feature tag overrides if any exists and is valid.
Example: If the setting override "application/config/name.windows" exists, and the following code is executed on a Windows operating system, the overridden setting is printed instead:
print(ProjectSettings.get_setting_with_override("application/config/name"))
GD.Print(ProjectSettings.GetSettingWithOverride("application/config/name"));
Variant get_setting_with_override_and_custom_features(name: StringName, features: PackedStringArray) const 🔗
Similar a get_setting_with_override(), pero aplica anulaciones de etiquetas de características en lugar de características del sistema operativo actual.
String globalize_path(path: String) const 🔗
Returns the absolute, native OS path corresponding to the localized path (starting with res:// or user://). The returned path will vary depending on the operating system and user preferences. See File paths in Godot projects to see what those paths convert to. See also localize_path().
Note: globalize_path() with res:// will not work in an exported project. Instead, prepend the executable's base directory to the path when running from an exported project:
var path = ""
if OS.has_feature("editor"):
# Running from an editor binary.
# `path` will contain the absolute path to `hello.txt` located in the project root.
path = ProjectSettings.globalize_path("res://hello.txt")
else:
# Running from an exported project.
# `path` will contain the absolute path to `hello.txt` next to the executable.
# This is *not* identical to using `ProjectSettings.globalize_path()` with a `res://` path,
# but is close enough in spirit.
path = OS.get_executable_path().get_base_dir().path_join("hello.txt")
bool has_setting(name: String) const 🔗
Returns true if a configuration value is present.
Note: In order to be be detected, custom settings have to be either defined with set_setting(), or exist in the project.godot file. This is especially relevant when using set_initial_value().
bool load_resource_pack(pack: String, replace_files: bool = true, offset: int = 0) 🔗
Carga el contenido del archivo (.pck o .zip) especificado por pack al sistema de archivos de recursos (res://). Devuelve true si tiene éxito.
Nota: Si un archivo de pack comparte la ruta de otro que ya está en dicho sistema de archivos, al intentar cargar ese archivo, se usará el de pack a menos que replace_files esté configurado como false.
Nota: El parámetro opcional offset se puede usar para especificar el desplazamiento en bytes al inicio del paquete de recursos. Solo sirve con archivos en .pck.
Nota: DirAccess no mostrará los cambios hechos al contenido en res:// tras llamar esta función.
String localize_path(path: String) const 🔗
Returns the localized path (starting with res://) corresponding to the absolute, native OS path. See also globalize_path().
Saves the configuration to the project.godot file.
Note: This method is intended to be used by editor plugins, as modified ProjectSettings can't be loaded back in the running app. If you want to change project settings in exported projects, use save_custom() to save override.cfg file.
Error save_custom(file: String) 🔗
Saves the configuration to a custom file. The file extension must be .godot (to save in text-based ConfigFile format) or .binary (to save in binary format). You can also save override.cfg file, which is also text, but can be used in exported projects unlike other formats.
void set_as_basic(name: String, basic: bool) 🔗
Defines if the specified setting is considered basic or advanced. Basic settings will always be shown in the project settings. Advanced settings will only be shown if the user enables the "Advanced Settings" option.
void set_as_internal(name: String, internal: bool) 🔗
Defines if the specified setting is considered internal. An internal setting won't show up in the Project Settings dialog. This is mostly useful for addons that need to store their own internal settings without exposing them directly to the user.
void set_initial_value(name: String, value: Variant) 🔗
Sets the specified setting's initial value. This is the value the setting reverts to. The setting should already exist before calling this method. Note that project settings equal to their default value are not saved, so your code needs to account for that.
extends EditorPlugin
const SETTING_NAME = "addons/my_setting"
const SETTING_DEFAULT = 10.0
func _enter_tree():
if not ProjectSettings.has_setting(SETTING_NAME):
ProjectSettings.set_setting(SETTING_NAME, SETTING_DEFAULT)
ProjectSettings.set_initial_value(SETTING_NAME, SETTING_DEFAULT)
If you have a project setting defined by an EditorPlugin, but want to use it in a running project, you will need a similar code at runtime.
void set_order(name: String, position: int) 🔗
Establece el orden de un valor de configuración (influye cuando se guarda en el archivo de configuración).
void set_restart_if_changed(name: String, restart: bool) 🔗
Sets whether a setting requires restarting the editor to properly take effect.
Note: This is just a hint to display to the user that the editor must be restarted for changes to take effect. Enabling set_restart_if_changed() does not delay the setting being set when changed.
void set_setting(name: String, value: Variant) 🔗
Sets the value of a setting.
ProjectSettings.set_setting("application/config/name", "Example")
ProjectSettings.SetSetting("application/config/name", "Example");
This can also be used to erase custom project settings. To do this change the setting value to null.