diff --git a/core/variant/variant_call.cpp b/core/variant/variant_call.cpp
index 5f6eb8399a2..0332f57fba1 100644
--- a/core/variant/variant_call.cpp
+++ b/core/variant/variant_call.cpp
@@ -2421,6 +2421,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedByteArray, find, sarray("value", "from"), varray(0));
bind_method(PackedByteArray, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedByteArray, count, sarray("value"), varray());
+ bind_method(PackedByteArray, erase, sarray("value"), varray());
bind_function(PackedByteArray, get_string_from_ascii, _VariantCall::func_PackedByteArray_get_string_from_ascii, sarray(), varray());
bind_function(PackedByteArray, get_string_from_utf8, _VariantCall::func_PackedByteArray_get_string_from_utf8, sarray(), varray());
@@ -2488,6 +2489,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedInt32Array, find, sarray("value", "from"), varray(0));
bind_method(PackedInt32Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedInt32Array, count, sarray("value"), varray());
+ bind_method(PackedInt32Array, erase, sarray("value"), varray());
/* Int64 Array */
@@ -2512,6 +2514,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedInt64Array, find, sarray("value", "from"), varray(0));
bind_method(PackedInt64Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedInt64Array, count, sarray("value"), varray());
+ bind_method(PackedInt64Array, erase, sarray("value"), varray());
/* Float32 Array */
@@ -2536,6 +2539,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedFloat32Array, find, sarray("value", "from"), varray(0));
bind_method(PackedFloat32Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedFloat32Array, count, sarray("value"), varray());
+ bind_method(PackedFloat32Array, erase, sarray("value"), varray());
/* Float64 Array */
@@ -2560,6 +2564,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedFloat64Array, find, sarray("value", "from"), varray(0));
bind_method(PackedFloat64Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedFloat64Array, count, sarray("value"), varray());
+ bind_method(PackedFloat64Array, erase, sarray("value"), varray());
/* String Array */
@@ -2584,6 +2589,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedStringArray, find, sarray("value", "from"), varray(0));
bind_method(PackedStringArray, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedStringArray, count, sarray("value"), varray());
+ bind_method(PackedStringArray, erase, sarray("value"), varray());
/* Vector2 Array */
@@ -2608,6 +2614,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedVector2Array, find, sarray("value", "from"), varray(0));
bind_method(PackedVector2Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedVector2Array, count, sarray("value"), varray());
+ bind_method(PackedVector2Array, erase, sarray("value"), varray());
/* Vector3 Array */
@@ -2632,6 +2639,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedVector3Array, find, sarray("value", "from"), varray(0));
bind_method(PackedVector3Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedVector3Array, count, sarray("value"), varray());
+ bind_method(PackedVector3Array, erase, sarray("value"), varray());
/* Color Array */
@@ -2656,6 +2664,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedColorArray, find, sarray("value", "from"), varray(0));
bind_method(PackedColorArray, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedColorArray, count, sarray("value"), varray());
+ bind_method(PackedColorArray, erase, sarray("value"), varray());
/* Vector4 Array */
@@ -2680,6 +2689,7 @@ static void _register_variant_builtin_methods_array() {
bind_method(PackedVector4Array, find, sarray("value", "from"), varray(0));
bind_method(PackedVector4Array, rfind, sarray("value", "from"), varray(-1));
bind_method(PackedVector4Array, count, sarray("value"), varray());
+ bind_method(PackedVector4Array, erase, sarray("value"), varray());
}
static void _register_variant_builtin_constants() {
diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml
index 2f8e4889a7e..82f1f22d6f6 100644
--- a/doc/classes/PackedByteArray.xml
+++ b/doc/classes/PackedByteArray.xml
@@ -292,6 +292,13 @@
Encodes a [Variant] at the index of [param byte_offset] bytes. A sufficient space must be allocated, depending on the encoded variant's size. If [param allow_objects] is [code]false[/code], [Object]-derived values are not permitted and will instead be serialized as ID-only.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+
+
diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml
index b9cef0ead69..1a882a03380 100644
--- a/doc/classes/PackedColorArray.xml
+++ b/doc/classes/PackedColorArray.xml
@@ -79,6 +79,13 @@
Creates a copy of the array, and returns it.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+
+
diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml
index 237b659a522..bde684607bc 100644
--- a/doc/classes/PackedFloat32Array.xml
+++ b/doc/classes/PackedFloat32Array.xml
@@ -77,6 +77,14 @@
Creates a copy of the array, and returns it.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+ [b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
+
+
diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml
index 56cc08d8c40..474523cdc47 100644
--- a/doc/classes/PackedFloat64Array.xml
+++ b/doc/classes/PackedFloat64Array.xml
@@ -78,6 +78,14 @@
Creates a copy of the array, and returns it.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+ [b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included.
+
+
diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml
index 5bb2ea97ef9..272978f561e 100644
--- a/doc/classes/PackedInt32Array.xml
+++ b/doc/classes/PackedInt32Array.xml
@@ -75,6 +75,13 @@
Creates a copy of the array, and returns it.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+
+
diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml
index 2ed85489588..ec7a1099580 100644
--- a/doc/classes/PackedInt64Array.xml
+++ b/doc/classes/PackedInt64Array.xml
@@ -76,6 +76,13 @@
Creates a copy of the array, and returns it.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+
+
diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml
index 511850d6450..edc6b5be1e1 100644
--- a/doc/classes/PackedStringArray.xml
+++ b/doc/classes/PackedStringArray.xml
@@ -82,6 +82,13 @@
Creates a copy of the array, and returns it.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+
+
diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml
index 4d487b6dc29..022cec8c982 100644
--- a/doc/classes/PackedVector2Array.xml
+++ b/doc/classes/PackedVector2Array.xml
@@ -82,6 +82,14 @@
Creates a copy of the array, and returns it.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+ [b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
+
+
diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml
index d47f2f3cd1f..3963595de25 100644
--- a/doc/classes/PackedVector3Array.xml
+++ b/doc/classes/PackedVector3Array.xml
@@ -81,6 +81,14 @@
Creates a copy of the array, and returns it.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+ [b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
+
+
diff --git a/doc/classes/PackedVector4Array.xml b/doc/classes/PackedVector4Array.xml
index 7bebee79c71..94cffa5fa25 100644
--- a/doc/classes/PackedVector4Array.xml
+++ b/doc/classes/PackedVector4Array.xml
@@ -81,6 +81,14 @@
Creates a copy of the array, and returns it.
+
+
+
+
+ Removes the first occurrence of a value from the array and returns [code]true[/code]. If the value does not exist in the array, nothing happens and [code]false[/code] is returned. To remove an element by index, use [method remove_at] instead.
+ [b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included.
+
+