diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml
index 59f9fb8f3bc..5a100e5eba4 100644
--- a/doc/classes/ArrayMesh.xml
+++ b/doc/classes/ArrayMesh.xml
@@ -26,7 +26,7 @@
[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-OpenGL/Face-culling]winding order[/url] for front faces of triangle primitive modes.
- https://docs.godotengine.org/en/3.4/tutorials/content/procedural_geometry/arraymesh.html
+ https://docs.godotengine.org/en/3.4/tutorials/3d/procedural_geometry/arraymesh.html
diff --git a/doc/classes/CharFXTransform.xml b/doc/classes/CharFXTransform.xml
index 8029b4eb5a3..537a0d67a12 100644
--- a/doc/classes/CharFXTransform.xml
+++ b/doc/classes/CharFXTransform.xml
@@ -7,7 +7,7 @@
By setting various properties on this object, you can control how individual characters will be displayed in a [RichTextEffect].
- https://docs.godotengine.org/en/3.4/tutorials/gui/bbcode_in_richtextlabel.html
+ https://docs.godotengine.org/en/3.4/tutorials/ui/bbcode_in_richtextlabel.html
https://github.com/Eoin-ONeill-Yokai/Godot-Rich-Text-Effect-Test-Project
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index 18c2db33bd6..017c4a5235e 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -14,9 +14,9 @@
[b]Note:[/b] Theme items are [i]not[/i] [Object] properties. This means you can't access their values using [method Object.get] and [method Object.set]. Instead, use [method get_color], [method get_constant], [method get_font], [method get_icon], [method get_stylebox], and the [code]add_*_override[/code] methods provided by this class.
- https://docs.godotengine.org/en/3.4/tutorials/gui/index.html
+ https://docs.godotengine.org/en/3.4/tutorials/ui/index.html
https://docs.godotengine.org/en/3.4/tutorials/2d/custom_drawing_in_2d.html
- https://docs.godotengine.org/en/3.4/tutorials/gui/control_node_gallery.html
+ https://docs.godotengine.org/en/3.4/tutorials/ui/control_node_gallery.html
https://github.com/godotengine/godot-demo-projects/tree/master/gui
@@ -790,7 +790,7 @@
The node's scale, relative to its [member rect_size]. Change this property to scale the node around its [member rect_pivot_offset]. The Control's [member hint_tooltip] will also scale according to this value.
- [b]Note:[/b] This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the [url=https://docs.godotengine.org/en/3.4/tutorials/viewports/multiple_resolutions.html]documentation[/url] instead of scaling Controls individually.
+ [b]Note:[/b] This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the [url=https://docs.godotengine.org/en/3.4/tutorials/rendering/multiple_resolutions.html]documentation[/url] instead of scaling Controls individually.
[b]Note:[/b] If the Control node is a child of a [Container] node, the scale will be reset to [code]Vector2(1, 1)[/code] when the scene is instanced. To set the Control's scale when it's instanced, wait for one frame using [code]yield(get_tree(), "idle_frame")[/code] then set its [member rect_scale] property.
diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml
index 691c0ea9455..0bb8e7b2e10 100644
--- a/doc/classes/Dictionary.xml
+++ b/doc/classes/Dictionary.xml
@@ -84,7 +84,7 @@
[b]Note:[/b] When declaring a dictionary with [code]const[/code], the dictionary itself can still be mutated by defining the values of individual keys. Using [code]const[/code] will only prevent assigning the constant with another value after it was initialized.
- https://docs.godotengine.org/en/3.4/getting_started/scripting/gdscript/gdscript_basics.html#dictionary
+ https://docs.godotengine.org/en/3.4/tutorials/scripting/gdscript/gdscript_basics.html#dictionary
https://godotengine.org/asset-library/asset/676
https://godotengine.org/asset-library/asset/677
diff --git a/doc/classes/Directory.xml b/doc/classes/Directory.xml
index f6a25b0e868..87683158f14 100644
--- a/doc/classes/Directory.xml
+++ b/doc/classes/Directory.xml
@@ -25,7 +25,7 @@
[/codeblock]
- https://docs.godotengine.org/en/3.4/getting_started/step_by_step/filesystem.html
+ https://docs.godotengine.org/en/3.4/tutorials/scripting/filesystem.html
diff --git a/doc/classes/EditorScenePostImport.xml b/doc/classes/EditorScenePostImport.xml
index da483d80cdc..2ac664411d5 100644
--- a/doc/classes/EditorScenePostImport.xml
+++ b/doc/classes/EditorScenePostImport.xml
@@ -26,7 +26,7 @@
[/codeblock]
- https://docs.godotengine.org/en/3.4/getting_started/workflow/assets/importing_scenes.html#custom-script
+ https://docs.godotengine.org/en/3.4/tutorials/assets_pipeline/importing_scenes.html#custom-script
diff --git a/doc/classes/File.xml b/doc/classes/File.xml
index 20f8c8e88de..3b3d784c059 100644
--- a/doc/classes/File.xml
+++ b/doc/classes/File.xml
@@ -25,7 +25,7 @@
[b]Note:[/b] Files are automatically closed only if the process exits "normally" (such as by clicking the window manager's close button or pressing [b]Alt + F4[/b]). If you stop the project execution by pressing [b]F8[/b] while the project is running, the file won't be closed as the game process will be killed. You can work around this by calling [method flush] at regular intervals.
- https://docs.godotengine.org/en/3.4/getting_started/step_by_step/filesystem.html
+ https://docs.godotengine.org/en/3.4/tutorials/scripting/filesystem.html
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml
index f1dafc03682..4a209c4f795 100644
--- a/doc/classes/Image.xml
+++ b/doc/classes/Image.xml
@@ -9,7 +9,7 @@
[b]Note:[/b] The maximum image size is 16384×16384 pixels due to graphics hardware limitations. Larger images may fail to import.
- https://docs.godotengine.org/en/3.4/getting_started/workflow/assets/importing_images.html
+ https://docs.godotengine.org/en/3.4/tutorials/assets_pipeline/importing_images.html
diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml
index 48717f95406..229d5e6d7f0 100644
--- a/doc/classes/ImageTexture.xml
+++ b/doc/classes/ImageTexture.xml
@@ -28,7 +28,7 @@
[b]Note:[/b] The maximum texture size is 16384×16384 pixels due to graphics hardware limitations.
- https://docs.godotengine.org/en/3.4/getting_started/workflow/assets/importing_images.html
+ https://docs.godotengine.org/en/3.4/tutorials/assets_pipeline/importing_images.html
diff --git a/doc/classes/JNISingleton.xml b/doc/classes/JNISingleton.xml
index e6f87bfb713..8e6f82b7d5e 100644
--- a/doc/classes/JNISingleton.xml
+++ b/doc/classes/JNISingleton.xml
@@ -7,7 +7,7 @@
The JNISingleton is implemented only in the Android export. It's used to call methods and connect signals from an Android plugin written in Java or Kotlin. Methods and signals can be called and connected to the JNISingleton as if it is a Node. See [url=https://en.wikipedia.org/wiki/Java_Native_Interface]Java Native Interface - Wikipedia[/url] for more information.
- https://docs.godotengine.org/en/3.4/tutorials/plugins/android/android_plugin.html
+ https://docs.godotengine.org/en/3.4/tutorials/platform/android/android_plugin.html
diff --git a/doc/classes/JavaScript.xml b/doc/classes/JavaScript.xml
index 06bbed7b8e3..005949a3218 100644
--- a/doc/classes/JavaScript.xml
+++ b/doc/classes/JavaScript.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] This singleton can be disabled at build-time to improve security. By default, the JavaScript singleton is enabled. Official export templates also have the JavaScript singleton enabled. See [url=https://docs.godotengine.org/en/3.4/development/compiling/compiling_for_web.html]Compiling for the Web[/url] in the documentation for more information.
- https://docs.godotengine.org/en/3.4/getting_started/workflow/export/exporting_for_web.html#calling-javascript-from-script
+ https://docs.godotengine.org/en/3.4/tutorials/export/exporting_for_web.html#calling-javascript-from-script
diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml
index a78304361b0..9becb443f5f 100644
--- a/doc/classes/MultiMesh.xml
+++ b/doc/classes/MultiMesh.xml
@@ -10,8 +10,8 @@
Since instances may have any behavior, the AABB used for visibility must be provided by the user.
- https://docs.godotengine.org/en/3.4/tutorials/3d/vertex_animation/animating_thousands_of_fish.html
- https://docs.godotengine.org/en/3.4/tutorials/optimization/using_multimesh.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/vertex_animation/animating_thousands_of_fish.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/using_multimesh.html
diff --git a/doc/classes/MultiMeshInstance.xml b/doc/classes/MultiMeshInstance.xml
index a769c0c7743..2b4e9b971ae 100644
--- a/doc/classes/MultiMeshInstance.xml
+++ b/doc/classes/MultiMeshInstance.xml
@@ -8,9 +8,9 @@
This is useful to optimize the rendering of a high amount of instances of a given mesh (for example trees in a forest or grass strands).
- https://docs.godotengine.org/en/3.4/tutorials/3d/vertex_animation/animating_thousands_of_fish.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/vertex_animation/animating_thousands_of_fish.html
https://docs.godotengine.org/en/3.4/tutorials/3d/using_multi_mesh_instance.html
- https://docs.godotengine.org/en/3.4/tutorials/optimization/using_multimesh.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/using_multimesh.html
diff --git a/doc/classes/Mutex.xml b/doc/classes/Mutex.xml
index 4fef90deb39..f464a9cd1ea 100644
--- a/doc/classes/Mutex.xml
+++ b/doc/classes/Mutex.xml
@@ -7,7 +7,7 @@
A synchronization mutex (mutual exclusion). This is used to synchronize multiple [Thread]s, and is equivalent to a binary [Semaphore]. It guarantees that only one thread can ever acquire the lock at a time. A mutex can be used to protect a critical section; however, be careful to avoid deadlocks.
- https://docs.godotengine.org/en/3.4/tutorials/threads/using_multiple_threads.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/threads/using_multiple_threads.html
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 5a1fd5af140..c68d4ad4f25 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -17,7 +17,7 @@
[b]Networking with nodes:[/b] After connecting to a server (or making one, see [NetworkedMultiplayerENet]), it is possible to use the built-in RPC (remote procedure call) system to communicate over the network. By calling [method rpc] with a method name, it will be called locally and in all connected peers (peers = clients and the server that accepts connections). To identify which node receives the RPC call, Godot will use its [NodePath] (make sure node names are the same on all peers). Also, take a look at the high-level networking tutorial and corresponding demos.
- https://docs.godotengine.org/en/3.4/getting_started/step_by_step/scenes_and_nodes.html
+ https://docs.godotengine.org/en/3.4/getting_started/step_by_step/nodes_and_scenes.html
https://github.com/godotengine/godot-demo-projects/
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index 3ee64394eec..9f385a0f474 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -591,7 +591,7 @@
- Returns [code]true[/code] if the feature for the given feature tag is supported in the currently running instance, depending on the platform, build etc. Can be used to check whether you're currently running a debug build, on a certain platform or arch, etc. Refer to the [url=https://docs.godotengine.org/en/3.4/getting_started/workflow/export/feature_tags.html]Feature Tags[/url] documentation for more details.
+ Returns [code]true[/code] if the feature for the given feature tag is supported in the currently running instance, depending on the platform, build etc. Can be used to check whether you're currently running a debug build, on a certain platform or arch, etc. Refer to the [url=https://docs.godotengine.org/en/3.4/tutorials/export/feature_tags.html]Feature Tags[/url] documentation for more details.
[b]Note:[/b] Tag names are case-sensitive.
diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml
index a10e94e1db6..9ca59d0c9d0 100644
--- a/doc/classes/Object.xml
+++ b/doc/classes/Object.xml
@@ -21,8 +21,8 @@
[b]Note:[/b] Due to a bug, you can't create a "plain" Object using [code]Object.new()[/code]. Instead, use [code]ClassDB.instance("Object")[/code]. This bug only applies to Object itself, not any of its descendents like [Reference].
- https://docs.godotengine.org/en/3.4/getting_started/workflow/best_practices/node_alternatives.html
- https://docs.godotengine.org/en/3.4/getting_started/scripting/gdscript/gdscript_exports.html#advanced-exports
+ https://docs.godotengine.org/en/3.4/tutorials/best_practices/node_alternatives.html
+ https://docs.godotengine.org/en/3.4/tutorials/scripting/gdscript/gdscript_exports.html#advanced-exports
diff --git a/doc/classes/Particles.xml b/doc/classes/Particles.xml
index da104046b25..1640b490fd3 100644
--- a/doc/classes/Particles.xml
+++ b/doc/classes/Particles.xml
@@ -10,7 +10,7 @@
[b]Note:[/b] After working on a Particles node, remember to update its [member visibility_aabb] by selecting it, clicking the [b]Particles[/b] menu at the top of the 3D editor viewport then choose [b]Generate Visibility AABB[/b]. Otherwise, particles may suddenly disappear depending on the camera position and angle.
- https://docs.godotengine.org/en/3.4/tutorials/3d/vertex_animation/controlling_thousands_of_fish.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/vertex_animation/controlling_thousands_of_fish.html
https://godotengine.org/asset-library/asset/678
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index d60e0c05860..ed055c6ebb8 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -6,8 +6,8 @@
Contains global variables accessible from everywhere. Use [method get_setting], [method set_setting] or [method has_setting] to access them. Variables stored in [code]project.godot[/code] 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, [code]"application/config/name"[/code] for the project name. Category and property names can be viewed in the Project Settings dialog.
- [b]Feature tags:[/b] Project settings can be overridden for specific platforms and configurations (debug, release, ...) using [url=https://docs.godotengine.org/en/latest/tutorials/export/feature_tags.html]feature tags[/url].
- [b]Overriding:[/b] Any project setting can be overridden by creating a file named [code]override.cfg[/code] 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' [url=https://docs.godotengine.org/en/latest/tutorials/export/feature_tags.html]feature tags[/url] in account. Therefore, make sure to [i]also[/i] override the setting with the desired feature tags if you want them to override base project settings on all platforms and configurations.
+ [b]Feature tags:[/b] Project settings can be overridden for specific platforms and configurations (debug, release, ...) using [url=https://docs.godotengine.org/en/3.4/tutorials/export/feature_tags.html]feature tags[/url].
+ [b]Overriding:[/b] Any project setting can be overridden by creating a file named [code]override.cfg[/code] 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' [url=https://docs.godotengine.org/en/3.4/tutorials/export/feature_tags.html]feature tags[/url] in account. Therefore, make sure to [i]also[/i] override the setting with the desired feature tags if you want them to override base project settings on all platforms and configurations.
https://godotengine.org/asset-library/asset/675
diff --git a/doc/classes/Reference.xml b/doc/classes/Reference.xml
index 01eefb3675e..444e03148ac 100644
--- a/doc/classes/Reference.xml
+++ b/doc/classes/Reference.xml
@@ -10,7 +10,7 @@
[b]Note:[/b] In C#, references will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free references that are no longer in use. This means that unused references will linger on for a while before being removed.
- https://docs.godotengine.org/en/3.4/getting_started/workflow/best_practices/node_alternatives.html
+ https://docs.godotengine.org/en/3.4/tutorials/best_practices/node_alternatives.html
diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml
index 3c606bc999d..bd80c52935d 100644
--- a/doc/classes/Resource.xml
+++ b/doc/classes/Resource.xml
@@ -8,8 +8,8 @@
[b]Note:[/b] In C#, resources will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free resources that are no longer in use. This means that unused resources will linger on for a while before being removed.
- https://docs.godotengine.org/en/3.4/getting_started/step_by_step/resources.html
- https://docs.godotengine.org/en/3.4/getting_started/workflow/best_practices/node_alternatives.html
+ https://docs.godotengine.org/en/3.4/tutorials/scripting/resources.html
+ https://docs.godotengine.org/en/3.4/tutorials/best_practices/node_alternatives.html
diff --git a/doc/classes/RichTextEffect.xml b/doc/classes/RichTextEffect.xml
index 41f07363605..d24d7abb38f 100644
--- a/doc/classes/RichTextEffect.xml
+++ b/doc/classes/RichTextEffect.xml
@@ -13,7 +13,7 @@
[b]Note:[/b] As soon as a [RichTextLabel] contains at least one [RichTextEffect], it will continuously process the effect unless the project is paused. This may impact battery life negatively.
- https://docs.godotengine.org/en/3.4/tutorials/gui/bbcode_in_richtextlabel.html
+ https://docs.godotengine.org/en/3.4/tutorials/ui/bbcode_in_richtextlabel.html
https://github.com/Eoin-ONeill-Yokai/Godot-Rich-Text-Effect-Test-Project
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index dad9770a3b6..08adbbef296 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -12,7 +12,7 @@
[b]Note:[/b] Unicode characters after [code]0xffff[/code] (such as most emoji) are [i]not[/i] supported on Windows. They will display as unknown characters instead. This will be resolved in Godot 4.0.
- https://docs.godotengine.org/en/3.4/tutorials/gui/bbcode_in_richtextlabel.html
+ https://docs.godotengine.org/en/3.4/tutorials/ui/bbcode_in_richtextlabel.html
https://godotengine.org/asset-library/asset/132
https://godotengine.org/asset-library/asset/677
diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml
index e8c09a9f980..57f04e0ac91 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -9,8 +9,8 @@
[SceneTree] is the default [MainLoop] implementation used by scenes, and is thus in charge of the game loop.
- https://docs.godotengine.org/en/3.4/getting_started/step_by_step/scene_tree.html
- https://docs.godotengine.org/en/3.4/tutorials/viewports/multiple_resolutions.html
+ https://docs.godotengine.org/en/3.4/tutorials/scripting/scene_tree.html
+ https://docs.godotengine.org/en/3.4/tutorials/rendering/multiple_resolutions.html
diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml
index 5ae561edc4f..c4897f6ba55 100644
--- a/doc/classes/Script.xml
+++ b/doc/classes/Script.xml
@@ -8,7 +8,7 @@
The [code]new[/code] method of a script subclass creates a new instance. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes.
- https://docs.godotengine.org/en/3.4/getting_started/step_by_step/scripting.html
+ https://docs.godotengine.org/en/3.4/tutorials/scripting/index.html
diff --git a/doc/classes/Semaphore.xml b/doc/classes/Semaphore.xml
index 221cd28fee3..037d871e8ec 100644
--- a/doc/classes/Semaphore.xml
+++ b/doc/classes/Semaphore.xml
@@ -7,7 +7,7 @@
A synchronization semaphore which can be used to synchronize multiple [Thread]s. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see [Mutex].
- https://docs.godotengine.org/en/3.4/tutorials/threads/using_multiple_threads.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/threads/using_multiple_threads.html
diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml
index 6aaef916e43..87679b61cf7 100644
--- a/doc/classes/Shader.xml
+++ b/doc/classes/Shader.xml
@@ -7,8 +7,8 @@
This class allows you to define a custom shader program that can be used by a [ShaderMaterial]. Shaders allow you to write your own custom behavior for rendering objects or updating particle information. For a detailed explanation and usage, please see the tutorials linked below.
- https://docs.godotengine.org/en/3.4/tutorials/shading/index.html
- https://docs.godotengine.org/en/3.4/tutorials/shading/your_first_shader/what_are_shaders.html
+ https://docs.godotengine.org/en/3.4/tutorials/shaders/index.html
+ https://docs.godotengine.org/en/3.4/tutorials/shaders/introduction_to_shaders.html
diff --git a/doc/classes/ShaderMaterial.xml b/doc/classes/ShaderMaterial.xml
index 9d3cdd3fb85..07308544bde 100644
--- a/doc/classes/ShaderMaterial.xml
+++ b/doc/classes/ShaderMaterial.xml
@@ -8,7 +8,7 @@
[b]Note:[/b] Due to a renderer limitation, emissive [ShaderMaterial]s cannot emit light when used in a [GIProbe]. Only emissive [SpatialMaterial]s can emit light in a [GIProbe].
- https://docs.godotengine.org/en/3.4/tutorials/shading/index.html
+ https://docs.godotengine.org/en/3.4/tutorials/shaders/index.html
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index 7d17bb1897b..50bc9e66e71 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -7,7 +7,7 @@
This is the built-in string class (and the one used by GDScript). It supports Unicode and provides all necessary means for string handling. Strings are reference-counted and use a copy-on-write approach, so passing them around is cheap in resources.
- https://docs.godotengine.org/en/3.4/getting_started/scripting/gdscript/gdscript_format_string.html
+ https://docs.godotengine.org/en/3.4/tutorials/scripting/gdscript/gdscript_format_string.html
diff --git a/doc/classes/Theme.xml b/doc/classes/Theme.xml
index 74b0f187a6a..31777588704 100644
--- a/doc/classes/Theme.xml
+++ b/doc/classes/Theme.xml
@@ -8,7 +8,7 @@
Theme resources can alternatively be loaded by writing them in a [code].theme[/code] file, see the documentation for more information.
- https://docs.godotengine.org/en/3.4/tutorials/gui/gui_skinning.html
+ https://docs.godotengine.org/en/3.4/tutorials/ui/gui_skinning.html
diff --git a/doc/classes/Thread.xml b/doc/classes/Thread.xml
index c71115ea4a9..5013cfdea6e 100644
--- a/doc/classes/Thread.xml
+++ b/doc/classes/Thread.xml
@@ -8,8 +8,8 @@
[b]Note:[/b] Breakpoints won't break on code if it's running in a thread. This is a current limitation of the GDScript debugger.
- https://docs.godotengine.org/en/3.4/tutorials/threads/using_multiple_threads.html
- https://docs.godotengine.org/en/3.4/tutorials/threads/thread_safe_apis.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/threads/using_multiple_threads.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/threads/thread_safe_apis.html
https://godotengine.org/asset-library/asset/676
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index 4ff037c793a..3f30a8b0ff2 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -13,7 +13,7 @@
https://docs.godotengine.org/en/3.4/tutorials/2d/2d_transforms.html
- https://docs.godotengine.org/en/3.4/tutorials/viewports/index.html
+ https://docs.godotengine.org/en/3.4/tutorials/rendering/index.html
https://godotengine.org/asset-library/asset/127
https://godotengine.org/asset-library/asset/128
https://godotengine.org/asset-library/asset/129
diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml
index 65511558956..f86d5e07784 100644
--- a/doc/classes/VisualServer.xml
+++ b/doc/classes/VisualServer.xml
@@ -15,7 +15,7 @@
In 2D, all visible objects are some form of canvas item. In order to be visible, a canvas item needs to be the child of a canvas attached to a viewport, or it needs to be the child of another canvas item that is eventually attached to the canvas.
- https://docs.godotengine.org/en/3.4/tutorials/optimization/using_servers.html
+ https://docs.godotengine.org/en/3.4/tutorials/performance/using_servers.html
diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml
index 63d8cb143ee..c6652127766 100644
--- a/doc/classes/VisualShaderNode.xml
+++ b/doc/classes/VisualShaderNode.xml
@@ -7,7 +7,7 @@
Visual shader graphs consist of various nodes. Each node in the graph is a separate object and they are represented as a rectangular boxes with title and a set of properties. Each node has also connection ports that allow to connect it to another nodes and control the flow of the shader.
- https://docs.godotengine.org/en/3.4/tutorials/shading/visual_shaders.html
+ https://docs.godotengine.org/en/3.4/tutorials/shaders/visual_shaders.html
diff --git a/doc/classes/VisualShaderNodeInput.xml b/doc/classes/VisualShaderNodeInput.xml
index 96cb9121de4..eb49d1eaf3a 100644
--- a/doc/classes/VisualShaderNodeInput.xml
+++ b/doc/classes/VisualShaderNodeInput.xml
@@ -6,7 +6,7 @@
Gives access to input variables (built-ins) available for the shader. See the shading reference for the list of available built-ins for each shader type (check [code]Tutorials[/code] section for link).
- https://docs.godotengine.org/en/3.4/tutorials/shading/shading_reference/index.html
+ https://docs.godotengine.org/en/3.4/tutorials/shaders/shader_reference/index.html