diff --git a/core/object/class_db.cpp b/core/object/class_db.cpp
index 0863dea05366..afde6863a3af 100644
--- a/core/object/class_db.cpp
+++ b/core/object/class_db.cpp
@@ -1460,7 +1460,7 @@ Variant ClassDB::class_get_default_property_value(const StringName &p_class, con
if (Engine::get_singleton()->has_singleton(p_class)) {
c = Engine::get_singleton()->get_singleton_object(p_class);
cleanup_c = false;
- } else if (ClassDB::can_instantiate(p_class) && !ClassDB::is_virtual(p_class)) {
+ } else if (ClassDB::can_instantiate(p_class)) { // Keep this condition in sync with doc_tools.cpp get_documentation_default_value.
c = ClassDB::instantiate(p_class);
cleanup_c = true;
}
diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml
index 638934bc9ec8..c92e39e08a39 100644
--- a/doc/classes/BaseButton.xml
+++ b/doc/classes/BaseButton.xml
@@ -44,37 +44,38 @@
-
+
Determines when the button is considered clicked, one of the [enum ActionMode] constants.
The [ButtonGroup] associated with the button. Not to be confused with node groups.
-
+
Binary mask to choose which mouse buttons this button will respond to.
To allow both left-click and right-click, use [code]MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT[/code].
-
+
If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if [member toggle_mode] is active). Only works if [member toggle_mode] is [code]true[/code].
[b]Note:[/b] Setting [member button_pressed] will result in [signal toggled] to be emitted. If you want to change the pressed state without emitting that signal, use [method set_pressed_no_signal].
-
+
If [code]true[/code], the button is in disabled state and can't be clicked or toggled.
-
+
+
If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it.
[b]Note:[/b] This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.
[Shortcut] associated to the button.
-
+
If [code]true[/code], the button will appear pressed when its shortcut is activated. If [code]false[/code] and [member toggle_mode] is [code]false[/code], the shortcut will activate the button without appearing to press the button.
-
+
If [code]true[/code], the button will add information about its shortcut in the tooltip.
-
+
If [code]true[/code], the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
diff --git a/doc/classes/CameraAttributes.xml b/doc/classes/CameraAttributes.xml
index a741728c147b..23dc2120691e 100644
--- a/doc/classes/CameraAttributes.xml
+++ b/doc/classes/CameraAttributes.xml
@@ -12,19 +12,19 @@
-
+
If [code]true[/code], enables the tonemapping auto exposure mode of the scene renderer. If [code]true[/code], the renderer will automatically determine the exposure setting to adapt to the scene's illumination and the observed light.
-
+
The scale of the auto exposure effect. Affects the intensity of auto exposure.
-
+
The speed of the auto exposure effect. Affects the time needed for the camera to perform auto exposure.
-
+
Multiplier for the exposure amount. A higher value results in a brighter image.
-
+
Sensitivity of camera sensors, measured in ISO. A higher sensitivity results in a brighter image. Only available when [member ProjectSettings.rendering/lights_and_shadows/use_physical_light_units] is enabled. When [member auto_exposure_enabled] this can be used as a method of exposure compensation, doubling the value will increase the exposure value (measured in EV100) by 1 stop.
diff --git a/doc/classes/EditorSpinSlider.xml b/doc/classes/EditorSpinSlider.xml
index 9961e11f7d81..784a3c1214e6 100644
--- a/doc/classes/EditorSpinSlider.xml
+++ b/doc/classes/EditorSpinSlider.xml
@@ -12,6 +12,7 @@
If [code]true[/code], the slider will not draw background.
+
If [code]true[/code], the slider is hidden.
diff --git a/doc/classes/GeometryInstance3D.xml b/doc/classes/GeometryInstance3D.xml
index 4d8ab9171882..86d52ae9bed6 100644
--- a/doc/classes/GeometryInstance3D.xml
+++ b/doc/classes/GeometryInstance3D.xml
@@ -31,22 +31,22 @@
-
+
The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values.
-
+
The extra distance added to the GeometryInstance3D's bounding box ([AABB]) to increase its cull box.
-
+
The texel density to use for lightmapping in [LightmapGI]. Greater scale values provide higher resolution in the lightmap, which can result in sharper shadows for lights that have both direct and indirect light baked. However, greater scale values will also increase the space taken by the mesh in the lightmap texture, which increases the memory, storage, and bake time requirements. When using a single mesh at different scales, consider adjusting this value to keep the lightmap texel density consistent across meshes.
-
+
The global illumination mode to use for the whole geometry. To avoid inconsistent results, use a mode that matches the purpose of the mesh during gameplay (static/dynamic).
[b]Note:[/b] Lights' bake mode will also affect the global illumination rendering. See [member Light3D.light_bake_mode].
-
+
-
+
The material overlay for the whole geometry.
@@ -56,26 +56,26 @@
The material override for the whole geometry.
If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.
-
+
The transparency applied to the whole geometry (as a multiplier of the materials' existing transparency). [code]0.0[/code] is fully opaque, while [code]1.0[/code] is fully transparent. Values greater than [code]0.0[/code] (exclusive) will force the geometry's materials to go through the transparent pipeline, which is slower to render and can exhibit rendering issues due to incorrect transparency sorting. However, unlike using a transparent material, setting [member transparency] to a value greater than [code]0.0[/code] (exclusive) will [i]not[/i] disable shadow rendering.
In spatial shaders, [code]1.0 - transparency[/code] is set as the default value of the [code]ALPHA[/code] built-in.
[b]Note:[/b] [member transparency] is clamped between [code]0.0[/code] and [code]1.0[/code], so this property cannot be used to make transparent materials more opaque than they originally are.
-
+
Starting distance from which the GeometryInstance3D will be visible, taking [member visibility_range_begin_margin] into account as well. The default value of 0 is used to disable the range check.
-
+
Margin for the [member visibility_range_begin] threshold. The GeometryInstance3D will only change its visibility state when it goes over or under the [member visibility_range_begin] threshold by this amount.
If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade transition distance and must be set to a value greater than [code]0.0[/code] for the effect to be noticeable.
-
+
Distance from which the GeometryInstance3D will be hidden, taking [member visibility_range_end_margin] into account as well. The default value of 0 is used to disable the range check.
-
+
Margin for the [member visibility_range_end] threshold. The GeometryInstance3D will only change its visibility state when it goes over or under the [member visibility_range_end] threshold by this amount.
If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade transition distance and must be set to a value greater than [code]0.0[/code] for the effect to be noticeable.
-
+
Controls which instances will be faded when approaching the limits of the visibility range. See [enum VisibilityRangeFadeMode] for possible values.
diff --git a/doc/classes/Label3D.xml b/doc/classes/Label3D.xml
index b741dc6e6410..0cbca2224ea7 100644
--- a/doc/classes/Label3D.xml
+++ b/doc/classes/Label3D.xml
@@ -44,6 +44,7 @@
The billboard mode to use for the label. See [enum BaseMaterial3D.BillboardMode] for possible values.
+
If [code]true[/code], text can be seen from the back as well, if [code]false[/code], it is invisible when looking at it from behind.
@@ -57,6 +58,7 @@
Font size of the [Label3D]'s text. To make the font look more detailed when up close, increase [member font_size] while decreasing [member pixel_size] at the same time.
Higher font sizes require more time to render new characters, which can cause stuttering during gameplay.
+
Controls the text's horizontal alignment. Supports left, center, right, and fill, or justify. Set it to one of the [enum HorizontalAlignment] constants.
diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml
index 7c6ff2d4e1d9..d7701ea184eb 100644
--- a/doc/classes/LinkButton.xml
+++ b/doc/classes/LinkButton.xml
@@ -10,9 +10,11 @@
+
Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
+
Set BiDi algorithm override for the structured text.
diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml
index facbe5fd0fb0..640fa9efec89 100644
--- a/doc/classes/Mesh.xml
+++ b/doc/classes/Mesh.xml
@@ -176,7 +176,7 @@
-
+
Sets a hint to be used for lightmap resolution.
diff --git a/doc/classes/PhysicsDirectBodyState2D.xml b/doc/classes/PhysicsDirectBodyState2D.xml
index fdc3a44e9de9..80afe3b7849f 100644
--- a/doc/classes/PhysicsDirectBodyState2D.xml
+++ b/doc/classes/PhysicsDirectBodyState2D.xml
@@ -207,40 +207,40 @@
-
+
The body's rotational velocity in [i]radians[/i] per second.
-
+
The body's center of mass position relative to the body's center in the global coordinate system.
-
+
The body's center of mass position in the body's local coordinate system.
-
+
The inverse of the inertia of the body.
-
+
The inverse of the mass of the body.
-
+
The body's linear velocity in pixels per second.
-
+
If [code]true[/code], this body is currently sleeping (not active).
-
+
The timestep (delta) used for the simulation.
-
+
The rate at which the body stops rotating, if there are not any other forces moving it.
-
+
The total gravity vector being currently applied to this body.
-
+
The rate at which the body stops moving, if there are not any other forces moving it.
-
+
The body's transformation matrix.
diff --git a/doc/classes/PhysicsDirectBodyState3D.xml b/doc/classes/PhysicsDirectBodyState3D.xml
index 04087cbfb649..3266c02a1e1e 100644
--- a/doc/classes/PhysicsDirectBodyState3D.xml
+++ b/doc/classes/PhysicsDirectBodyState3D.xml
@@ -214,45 +214,45 @@
-
+
The body's rotational velocity in [i]radians[/i] per second.
-
+
The body's center of mass position relative to the body's center in the global coordinate system.
-
+
The body's center of mass position in the body's local coordinate system.
-
+
The inverse of the inertia of the body.
-
+
The inverse of the inertia tensor of the body.
-
+
The inverse of the mass of the body.
-
+
The body's linear velocity in units per second.
-
+
-
+
If [code]true[/code], this body is currently sleeping (not active).
-
+
The timestep (delta) used for the simulation.
-
+
The rate at which the body stops rotating, if there are not any other forces moving it.
-
+
The total gravity vector being currently applied to this body.
-
+
The rate at which the body stops moving, if there are not any other forces moving it.
-
+
The body's transformation matrix.
diff --git a/doc/classes/PrimitiveMesh.xml b/doc/classes/PrimitiveMesh.xml
index 1b9ecdbfa09d..7a411b27ac1b 100644
--- a/doc/classes/PrimitiveMesh.xml
+++ b/doc/classes/PrimitiveMesh.xml
@@ -34,10 +34,10 @@
-
+
Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.
-
+
If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn.
This gives the same result as using [constant BaseMaterial3D.CULL_FRONT] in [member BaseMaterial3D.cull_mode].
diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml
index 510b8d5bd10b..f8c5dc0e1f07 100644
--- a/doc/classes/ProgressBar.xml
+++ b/doc/classes/ProgressBar.xml
@@ -15,6 +15,8 @@
If [code]true[/code], the fill percentage is displayed on the bar.
+
+
diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml
index 9764318ee4a0..8aa89015c616 100644
--- a/doc/classes/Range.xml
+++ b/doc/classes/Range.xml
@@ -38,34 +38,34 @@
-
+
If [code]true[/code], [member value] may be greater than [member max_value].
-
+
If [code]true[/code], [member value] may be less than [member min_value].
-
+
If [code]true[/code], and [code]min_value[/code] is greater than 0, [code]value[/code] will be represented exponentially rather than linearly.
-
+
Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code].
-
+
Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code].
-
+
Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size multiplied by [code]page[/code] over the difference between [code]min_value[/code] and [code]max_value[/code].
The value mapped between 0 and 1.
-
+
If [code]true[/code], [code]value[/code] will always be rounded to the nearest integer.
-
+
If greater than 0, [code]value[/code] will always be rounded to a multiple of [code]step[/code]. If [code]rounded[/code] is also [code]true[/code], [code]value[/code] will first be rounded to a multiple of [code]step[/code] then rounded to the nearest integer.
-
+
Range's current value. Changing this property (even via code) will trigger [signal value_changed] signal. Use [method set_value_no_signal] if you want to avoid it.
diff --git a/doc/classes/ScrollBar.xml b/doc/classes/ScrollBar.xml
index d0dd69408e99..266787c9c84f 100644
--- a/doc/classes/ScrollBar.xml
+++ b/doc/classes/ScrollBar.xml
@@ -12,6 +12,8 @@
Overrides the step used when clicking increment and decrement buttons or when using arrow keys when the [ScrollBar] is focused.
+
+
diff --git a/doc/classes/Slider.xml b/doc/classes/Slider.xml
index c3dbd69e59bf..0e626842bd99 100644
--- a/doc/classes/Slider.xml
+++ b/doc/classes/Slider.xml
@@ -13,9 +13,11 @@
If [code]true[/code], the slider can be interacted with. If [code]false[/code], the value can be changed only by code.
+
If [code]true[/code], the value can be changed using the mouse wheel.
+
Number of ticks displayed on the slider, including border ticks. Ticks are uniformly-distributed value markers.
diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml
index 8656cde4a0ba..ff6d4d8821c2 100644
--- a/doc/classes/StyleBox.xml
+++ b/doc/classes/StyleBox.xml
@@ -114,21 +114,21 @@
-
+
The bottom margin for the contents of this style box. Increasing this value reduces the space available to the contents from the bottom.
If this value is negative, it is ignored and a child-specific margin is used instead. For example for [StyleBoxFlat] the border thickness (if any) is used instead.
It is up to the code using this style box to decide what these contents are: for example, a [Button] respects this content margin for the textual contents of the button.
[method get_margin] should be used to fetch this value as consumer instead of reading these properties directly. This is because it correctly respects negative values and the fallback mentioned above.
-
+
The left margin for the contents of this style box. Increasing this value reduces the space available to the contents from the left.
Refer to [member content_margin_bottom] for extra considerations.
-
+
The right margin for the contents of this style box. Increasing this value reduces the space available to the contents from the right.
Refer to [member content_margin_bottom] for extra considerations.
-
+
The top margin for the contents of this style box. Increasing this value reduces the space available to the contents from the top.
Refer to [member content_margin_bottom] for extra considerations.
diff --git a/doc/classes/TextureProgressBar.xml b/doc/classes/TextureProgressBar.xml
index fcdb18e10d01..ded4dac7da57 100644
--- a/doc/classes/TextureProgressBar.xml
+++ b/doc/classes/TextureProgressBar.xml
@@ -27,6 +27,7 @@
The fill direction. See [enum FillMode] for possible values.
+
If [code]true[/code], Godot treats the bar's textures like in [NinePatchRect]. Use the [code]stretch_margin_*[/code] properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid. When using a radial [member fill_mode], this setting will enable stretching.
diff --git a/doc/classes/ViewportTexture.xml b/doc/classes/ViewportTexture.xml
index 6bd64a50bb4a..955f054cea9b 100644
--- a/doc/classes/ViewportTexture.xml
+++ b/doc/classes/ViewportTexture.xml
@@ -15,6 +15,7 @@
https://godotengine.org/asset-library/asset/586
+
The path to the [Viewport] node to display. This is relative to the scene root, not to the node which uses the texture.
diff --git a/doc/classes/VisualInstance3D.xml b/doc/classes/VisualInstance3D.xml
index 94e8c2566023..31811f817bbd 100644
--- a/doc/classes/VisualInstance3D.xml
+++ b/doc/classes/VisualInstance3D.xml
@@ -56,7 +56,7 @@
-
+
The render layer(s) this [VisualInstance3D] is drawn on.
This object will only be visible for [Camera3D]s whose cull mask includes the render object this [VisualInstance3D] is set to.
For [Light3D]s, this can be used to control which [VisualInstance3D]s are affected by a specific light. For [GPUParticles3D], this can be used to control which particles are effected by a specific attractor. For [Decal]s, this can be used to control which [VisualInstance3D]s are affected by a specific decal.
diff --git a/editor/doc_tools.cpp b/editor/doc_tools.cpp
index 7d6eb186dc4e..6e6416e3cada 100644
--- a/editor/doc_tools.cpp
+++ b/editor/doc_tools.cpp
@@ -335,7 +335,7 @@ static Variant get_documentation_default_value(const StringName &p_class_name, c
Variant default_value = Variant();
r_default_value_valid = false;
- if (ClassDB::can_instantiate(p_class_name)) {
+ if (ClassDB::can_instantiate(p_class_name)) { // Keep this condition in sync with ClassDB::class_get_default_property_value.
default_value = ClassDB::class_get_default_property_value(p_class_name, p_property_name, &r_default_value_valid);
} else {
// Cannot get default value of classes that can't be instantiated