@@ -67,29 +67,48 @@ Editor
6767**Features: **
6868
6969- Scene tree editor.
70- - Built-in script editor.
70+ - Built-in script editor. Also supports editing text files and using custom
71+ syntax highlighters.
7172- Support for :ref: `external script editors <doc_external_editor >` such as
7273 Visual Studio Code or Vim.
7374- GDScript :ref: `debugger <doc_debugger_panel >`.
7475
75- - Support for debugging in threads is available since 4.2.
76+ - Supports debugging in threads.
77+
7678- Visual profiler with CPU and GPU time indications for each step of the
7779 rendering pipeline.
7880- Performance monitoring tools, including
7981 :ref: `custom performance monitors <doc_custom_performance_monitors >`.
82+ - Supports :ref: `tracing profilers <doc_tracing_profilers >` like
83+ :ref: `doc_profiler_tracy ` and :ref: `doc_profiler_perfetto ` for deeper optimization tasks.
84+ - Any script can be :ref: `run in the editor <doc_running_code_in_the_editor >`
85+ and provide custom functionality such as clickable buttons in the inspector,
86+ without needing to create an editor plugin.
8087- Live script reloading.
8188- Live scene editing.
8289
83- - Changes will reflect in the editor and will be kept after closing the running project.
90+ - Changes *will * reflect in the editor and *will * be kept after closing the running project.
91+
92+ - Live camera replication (disabled by default).
93+
94+ - Move the in-editor camera and see the result in the running project.
8495
8596- Remote inspector.
8697
87- - Changes won't reflect in the editor and won't be kept after closing the running project.
98+ - Changes * won't * reflect in the editor and * won't * be kept after closing the running project.
8899
89- - Live camera replication.
100+ - Run multiple simultaneous project instances from a single editor instance
101+ (useful for client/server testing).
102+ - Optional :ref: `game embedding <doc_game_embedding >` to run the project in a panel within the editor.
90103
91- - Move the in-editor camera and see the result in the running project.
104+ - Select 2D and 3D nodes in the project's viewport to inspect them in the editor.
105+ - Move the camera within the project using the 2D and 3D camera overrides.
106+ - Supports time scale adjustments, pausing, and frame advance.
107+ - Supports muting the project.
92108
109+ - Ruler tool to measure distances in 2D and 3D.
110+ - Vertex snapping support in 3D.
111+ - Support for following the selection as it moves in 3D by using Focus Selection twice.
93112- Built-in offline class reference documentation.
94113- Use the editor in dozens of languages contributed by the community.
95114
@@ -118,7 +137,9 @@ Godot 4 includes three renderers:
118137 renderer, suited for low-end desktop and mobile platforms. Used by default on
119138 the web platform. This renderer uses **OpenGL ** as the rendering driver.
120139
121- See :ref: `doc_renderers ` for a detailed comparison of the rendering methods.
140+ .. seealso ::
141+
142+ See :ref: `doc_renderers ` for a detailed comparison of the rendering methods.
122143
1231442D graphics
124145-----------
@@ -171,6 +192,8 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
171192- CPU-based particles.
172193- Optional :ref: `2D HDR rendering <doc_environment_and_post_processing_using_glow_in_2d >`
173194 for better glow capabilities.
195+ - Optional debanding to reduce banding artifacts in gradients.
196+ - :ref: `HDR output <doc_hdr_output >` on supported platforms and renderers.
174197
1751982D tools
176199--------
@@ -195,6 +218,7 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
195218- Character bodies.
196219- Joints.
197220- Areas to detect bodies entering or leaving it.
221+ - :ref: `Physics interpolation <doc_physics_interpolation >`.
198222
199223**Collision detection: **
200224
@@ -204,7 +228,9 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
2042283D graphics
205229-----------
206230
207- - HDR rendering with sRGB.
231+ - Linear HDR internal lighting calculations.
232+ - Optional debanding to reduce banding artifacts in gradients.
233+ - :ref: `HDR output <doc_hdr_output >` on supported platforms and renderers.
208234- Perspective, orthographic and frustum-offset cameras.
209235- When using the Forward+ renderer, a depth prepass is used to improve
210236 performance in complex scenes by reducing the cost of overdraw.
@@ -229,30 +255,36 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
229255
230256**Real-time lighting: **
231257
232- - Directional lights (sun/moon). Up to 4 per scene.
233- - Omnidirectional lights.
234- - Spot lights with adjustable cone angle and attenuation.
258+ - :ref: `Directional lights <doc_lights_and_shadows_directional_light >` (sun/moon).
259+ - :ref: `Omnidirectional lights <doc_lights_and_shadows_omni_light >`.
260+ - :ref: `Spot lights <doc_lights_and_shadows_spot_light >` with adjustable cone angle and attenuation.
261+ - :ref: `Rectangular area lights <doc_lights_and_shadows_area_light >` with an optional texture
262+ to determine the shape and color.
235263- Specular, indirect light, and volumetric fog energy can be adjusted on a per-light basis.
236- - Adjustable light "size" for fake area lights (will also make shadows blurrier).
264+ - Adjustable light "size" for spherical omni and disc spot lights (will also make shadows
265+ blurrier with variable penumbra).
237266- Optional distance fade system to fade distant lights and their shadows, improving performance.
238267- When using the Forward+ renderer (default on desktop), lights are
239268 rendered with clustered forward optimizations to decrease their individual cost.
240269 Clustered rendering also lifts any limits on the number of lights that can be used on a mesh.
241- - When using the Mobile renderer, up to 8 omni lights and 8 spot lights can
270+ - When using the Mobile renderer, up to 8 omni lights, 8 spot lights, and 8 area lights can
242271 be displayed per mesh resource. Baked lighting can be used to overcome this limit
243272 if needed.
244273
245274**Shadow mapping: **
246275
247- - *DirectionalLight : * Orthogonal (fastest), PSSM 2-split and 4-split.
276+ - *DirectionalLight3D : * Orthogonal (fastest), PSSM 2-split and 4-split.
248277 Supports blending between splits.
249- - *OmniLight : * Dual paraboloid (fast) or cubemap (slower but more accurate).
278+ - *OmniLight3D : * Dual paraboloid (fast) or cubemap (slower but more accurate).
250279 Supports colored projector textures in the form of panoramas.
251- - *SpotLight: * Single texture. Supports colored projector textures.
280+ - *SpotLight3D: * Single texture. Supports colored projector textures.
281+ - *AreaLight3D: * Single texture with dual paraboloid distortion to approximate
282+ the light's shape.
252283- Shadow normal offset bias and shadow pancaking to decrease the amount of
253284 visible shadow acne and peter-panning.
254285- :abbr: `PCSS ( Percentage Closer Soft Shadows ) `-like shadow blur based on the
255- light size and distance from the surface the shadow is cast on.
286+ light size and distance from the surface the shadow is cast on. Supported for
287+ all light types.
256288- Adjustable shadow blur on a per-light basis.
257289
258290**Global illumination with indirect lighting: **
@@ -263,13 +295,17 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
263295 The bake mode can be adjusted on a per-light basis to allow for hybrid light
264296 baking setups.
265297 - Supports lighting dynamic objects using automatic and manually placed probes.
266- - Optionally supports directional lighting and rough reflections based on spherical
267- harmonics.
268- - Lightmaps are baked on the GPU using compute shaders (much faster compared
269- to CPU lightmapping). Baking can only be performed from the editor,
270- not in exported projects.
298+ - Optionally supports directional lighting based on spherical harmonics.
299+ - Optionally supports baking a shadowmask for distant static directional shadows.
300+ - Optional supersampling at bake-time to improve quality and reduce light leaking
301+ at the cost of increased bake times and memory usage during baking.
302+ - Lightmaps are baked on the GPU using compute shaders (much faster than
303+ CPU lightmapping). Baking can only be performed from the editor, not in
304+ exported projects.
271305 - Supports GPU-based :ref: `denoising <doc_using_lightmap_gi_denoising >`
272- with JNLM, or CPU/GPU-based denoising with OIDN.
306+ with JNLM out of the box, or higher-quality CPU/GPU-based denoising with
307+ OIDN (requires downloading OIDN separately).
308+ - Lightmaps are rendered with bicubic filtering to reduce scaling artifacts.
273309
274310- :ref: `Voxel-based GI probes <doc_using_voxel_gi >`. Supports
275311 dynamic lights *and * dynamic occluders, while also supporting reflections.
@@ -296,7 +332,8 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
296332- Reflection techniques can be mixed together for greater accuracy or scalability.
297333- When using the Forward+ renderer (default on desktop), reflection probes are
298334 rendered with clustered forward optimizations to decrease their individual cost.
299- Clustered rendering also lifts any limits on the number of reflection probes that can be used on a mesh.
335+ Clustered rendering also lifts any limits on the number of reflection probes
336+ that can be used on a mesh.
300337- When using the Mobile renderer, up to 8 reflection probes can be displayed per mesh
301338 resource. When using the Compatibility renderer, up to 2 reflection probes can
302339 be displayed per mesh resource.
@@ -380,12 +417,13 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
380417- Nearest, bilinear, trilinear or anisotropic filtering.
381418- Filtering options are defined on a per-use basis, not a per-texture basis.
382419
383- **Texture compression: **
420+ **Texture VRAM compression: **
384421
385- - Basis Universal (slow, but results in smaller files).
386- - BPTC for high-quality compression (not supported on macOS).
387- - ETC2 (not supported on macOS).
388- - S3TC (not supported on mobile/Web platforms).
422+ - BPTC (for high-quality compression targeting desktop platforms).
423+ - ASTC (for high-quality compression targeting mobile platforms).
424+ - ETC2 (for fast compression targeting mobile platforms).
425+ - S3TC (for fast compression targeting desktop platforms).
426+ - Basis Universal (slow, but only requires one encoding for all platforms).
389427
390428**Antialiasing: **
391429
@@ -402,8 +440,9 @@ See :ref:`doc_renderers` for a detailed comparison of the rendering methods.
402440- Support for :ref: `rendering 3D at a lower resolution <doc_resolution_scaling >`
403441 while keeping 2D rendering at the original scale. This can be used to improve
404442 performance on low-end systems or improve visuals on high-end systems.
405- - Resolution scaling uses bilinear filtering, AMD FidelityFX Super Resolution
406- 1.0 (FSR1) or AMD FidelityFX Super Resolution 2.2 (FSR2).
443+ - Resolution scaling uses nearest-neighbor filtering, bilinear filtering,
444+ AMD FidelityFX Super Resolution 1.0 (FSR1), or AMD FidelityFX Super Resolution 2.2.1
445+ (FSR2).
407446- Texture mipmap LOD bias is adjusted automatically to improve quality at lower
408447 resolution scales. It can also be modified with a manual offset.
409448
@@ -441,6 +480,7 @@ improve quality. This can be helpful when
441480- :ref: `Soft bodies <doc_soft_body >`.
442481- :ref: `Ragdolls <doc_ragdoll_system >`.
443482- Areas to detect bodies entering or leaving it.
483+ - :ref: `Physics interpolation <doc_physics_interpolation >`.
444484
445485**Collision detection: **
446486
@@ -452,8 +492,12 @@ Shaders
452492-------
453493
454494- *2D: * Custom vertex, fragment, and light shaders.
455- - *3D: * Custom vertex, fragment, light, and sky shaders.
495+ - *3D: * Custom vertex, fragment, light, sky, and fog shaders.
496+ - Custom shaders can procedurally generate and modify textures in real-time using
497+ :ref: `class_DrawableTexture2D `.
456498- Text-based shaders using a :ref: `shader language inspired by GLSL <doc_shading_language >`.
499+ - Syntax highlighting is provided on GitHub by using ``gdshader ``
500+ as the language name in a Markdown code block.
457501- Visual shader editor.
458502
459503 - Support for :ref: `visual shader plugins <doc_visual_shader_plugins >`.
@@ -473,7 +517,8 @@ Scripting
473517- :ref: `High-level interpreted language <doc_gdscript_reference >` with
474518 :ref: `optional static typing <doc_gdscript_static_typing >`.
475519- Syntax inspired by Python. However, GDScript is **not ** based on Python.
476- - Syntax highlighting is provided on GitHub.
520+ - Syntax highlighting is provided on GitHub by using ``gdscript ``
521+ as the language name in a Markdown code block.
477522- :ref: `Use threads <doc_using_multiple_threads >` to perform asynchronous actions
478523 or make use of multiple processor cores.
479524
@@ -484,7 +529,8 @@ Scripting
484529
485530 - Full support for the C# 12.0 syntax and features.
486531
487- - Supports Windows, Linux, and macOS. Since Godot 4.2, experimental support for Android and iOS is also available.
532+ - Supports Windows, Linux, and macOS. Since Godot 4.2, experimental support for
533+ Android and iOS is also available.
488534
489535 - On the iOS platform only some architectures are supported: ``arm64 ``.
490536 - The web platform is currently unsupported. To use C# on that platform,
@@ -494,7 +540,8 @@ Scripting
494540
495541**GDExtension (C, C++, Rust, D, ...): **
496542
497- - When you need it, link to native libraries for higher performance and third-party integrations.
543+ - When you need it, link to native libraries for higher performance and third-party
544+ integrations.
498545
499546 - For scripting game logic, GDScript or C# are recommended if their
500547 performance is suitable.
@@ -520,12 +567,14 @@ Audio
520567
521568- Support for re-routable :ref: `audio buses <doc_audio_buses >` and effects
522569 with dozens of effects included.
523- - Support for polyphony (playing several sounds from a single AudioStreamPlayer node).
570+ - Support for polyphony (playing several sounds from a single :ref: `class_AudioStreamPlayer `
571+ node).
524572- Support for random volume and pitch.
525573- Support for real-time pitch scaling.
526574- Support for sequential/random sample selection, including repetition prevention
527575 when using random sample selection.
528- - Listener2D and Listener3D nodes to listen from a position different than the camera.
576+ - :ref: `class_AudioListener2D ` and :ref: `class_AudioListener3D ` nodes to listen from a position
577+ different from the camera.
529578- Support for :ref: `procedural audio generation <class_AudioStreamGenerator >`.
530579- Audio input to record microphones.
531580- :ref: `Text to speech <doc_text_to_speech >` using platform-provided TTS engines.
@@ -549,7 +598,7 @@ Import
549598- *Images: * See :ref: `doc_importing_images `.
550599- *Audio: *
551600
552- - WAV with optional IMA-ADPCM compression.
601+ - WAV with optional :abbr: ` QOA ( Quite OK Audio ) ` or IMA-ADPCM compression.
553602 - Ogg Vorbis.
554603 - MP3.
555604
@@ -581,11 +630,20 @@ Input
581630- Mouse input.
582631
583632 - The mouse cursor can be visible, hidden, captured or confined within the window.
584- - When captured, raw input will be used on Windows and Linux to
585- sidestep the OS' mouse acceleration settings.
633+ - The mouse cursor's appearance can be changed to a custom image or one of the
634+ system cursors.
635+ - When captured, raw input is used on Windows and Linux to sidestep the OS'
636+ mouse acceleration settings.
637+
638+ - :ref: `Gamepad input <doc_controllers_gamepads_joysticks >`
639+ (up to 8 simultaneous controllers).
640+
641+ - Support for :ref: `changing the LED color <doc_controller_features_led_color >`
642+ on supported controllers.
643+ - Support for :ref: `reading motion sensors <doc_controller_features_motion_sensors >`
644+ on supported controllers (used to implement gyro aiming).
586645
587- - Gamepad input (up to 8 simultaneous controllers).
588- - Pen/tablet input with pressure support.
646+ - Pen/tablet input with pressure and tilt support.
589647
590648Navigation
591649----------
@@ -636,7 +694,8 @@ Internationalization
636694- Support for :ref: `bidirectional typesetting <doc_internationalizing_games_bidi >`,
637695 text shaping and OpenType localized forms.
638696- Automatic UI mirroring for right-to-left locales.
639- - Support for pseudolocalization to test your project for i18n-friendliness.
697+ - Support for :ref: `pseudolocalization <doc_pseudolocalization >` to test your project
698+ for i18n-friendliness.
640699
641700Windowing and OS integration
642701----------------------------
@@ -678,9 +737,12 @@ Windowing and OS integration
678737Mobile
679738------
680739
740+ - :ref: `Virtual joystick <class_VirtualJoystick >` and :ref: `buttons <class_TouchScreenButton >`
741+ for touch input.
681742- In-app purchases on :ref: `Android <doc_android_in_app_purchases >`
682743 and `iOS <https://github.com/godot-sdk-integrations/godot-storekit2 >`_.
683744- Support for advertisements using third-party modules.
745+ - Support for picture-in-picture mode on Android.
684746
685747.. _doc_xr_support :
686748
@@ -693,7 +755,7 @@ XR support (AR and VR)
693755
694756- Support for :ref: `Android-based headsets <doc_deploying_to_android >` using OpenXR through a plugin.
695757
696- - Including support for popular stand alone headsets like the Meta Quest 1/2/3 and Pro, Pico 4, Magic Leap 2, and Lynx R1.
758+ - Including support for popular standalone headsets like the Meta Quest 1/2/3 and Pro, Pico 4, Magic Leap 2, and Lynx R1.
697759
698760- Out of the box limited support for visionOS Apple headsets.
699761
@@ -713,17 +775,19 @@ The editor UI can easily be extended in many ways using add-ons.
713775
714776- Buttons.
715777- Checkboxes, check buttons, radio buttons.
716- - Text entry using :ref: `class_LineEdit ` (single line) and :ref: `class_TextEdit ` (multiple lines).
717- TextEdit also supports code editing features such as displaying line numbers
718- and syntax highlighting.
719- - Dropdown menus using :ref: `class_PopupMenu ` and :ref: `class_OptionButton `.
778+ - Text entry using :ref: `class_LineEdit ` (single line), :ref: `class_TextEdit `
779+ (multiple lines), and :ref: `class_CodeEdit ` (supports syntax highlighting,
780+ line numbers, and more).
781+ - Dropdown menus using :ref: `class_PopupMenu ` and :ref: `class_OptionButton `
782+ with support for an optional search bar.
720783- Scrollbars.
721784- Labels.
722785- RichTextLabel for :ref: `text formatted using BBCode <doc_bbcode_in_richtextlabel >`,
723786 with support for animated custom effects.
724787- Trees (can also be used to represent tables).
725- - Color picker with RGB and HSV modes.
788+ - Color picker with RGB, HSV, and OKHSL modes, as well as custom color palettes .
726789- Controls can be rotated and scaled.
790+ - Drag-and-drop support.
727791
728792**Sizing: **
729793
@@ -736,6 +800,7 @@ The editor UI can easily be extended in many ways using add-ons.
736800 - :ref: `Margin <class_MarginContainer >`, :ref: `centered <class_CenterContainer >`
737801 and :ref: `aspect ratio <class_AspectRatioContainer >` layouts.
738802 - :ref: `Draggable splitter <class_SplitContainer >` layouts.
803+ - :ref: `Foldable section <class_FoldableContainer >` layouts.
739804
740805- Scale to :ref: `multiple resolutions <doc_multiple_resolutions >` using the
741806 ``canvas_items `` or ``viewport `` stretch modes.
0 commit comments