godotengine / godotengine/godot-docs

"Your first 3D game" issues

Open
#6,744 15 comments 13 reactions 0 assignees View on GitHub
area:getting started bug enhancement
Dominant language
reStructuredText
Stars
5.7k
Forks
3.8k
Avg merge
1d 20h
Merged PRs (30d)
25

Description

There's a bunch of weird things I ran into while trying to follow the "Squash the Creeps" tutorial in Godot 4. I'm not a Godot expert and don't know how to fix some of these things, so I don't want to make a pull request, but I hope this list can help other contributors improve the documentation.

### Common

The screenshots are inconsistent:

* some taken in Godot 3, some in Godot 4
* some use names in PascalCase, some in snake_case
* some nodes have the "3D" suffix (Godot 4), some don't (Godot 3), some have the lowercase "3d" suffix (beta1?)
* some screenshots are in PNG format, some are JPG, some are WebP (and I think WebP is worse than PNG), and they vary in quality and UI scale

Perhaps it would be a good idea to recreate all the screenshots after the first release candidate?

### Your first 3D game

* [x] ~~[`index.rst:34`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/index.rst?plain=1#L34)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))
This link (https://github.com/GDQuest/godot-3d-dodge-the-creeps) redirects to https://github.com/godotengine/godot-3d-dodge-the-creeps — I think it would be nice to fix this unnecessary redirect.
I also found this link in three other places:
* [`index.rst:45`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/index.rst?plain=1#L45)
* [`01.game_setup.rst:12`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/01.game_setup.rst?plain=1#L12)
* [`going_further.rst:20`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/going_further.rst?plain=1#L20)

### Setting up the game area

* [x] ~~[`01.game_setup.rst:42`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/01.game_setup.rst?plain=1#L42)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> click the *Add Node* button represented by a "+" icon

This button is actually "Add **Child** Node" even when there are no nodes in the scene

* [x] ~~[`01.game_setup.rst:43`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/01.game_setup.rst?plain=1#L43)~~ (fixed in [#6876](https://github.com/godotengine/godot-docs/pull/6876))

> Name the node `Main`.

It seems this page doesn't explain how to rename nodes. Mentioning `RMB>Rename` or `F2` would be good

* [x] ~~[`01.game_setup.rst:48`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/01.game_setup.rst?plain=1#L48)~~ (fixed in [#7370](https://github.com/godotengine/godot-docs/pull/7370))

> Save the scene as `Main.tscn`

Godot 4 suggests to name it `main.tscn` instead. If I understand correctly, Godot 4 uses snake_case by default after https://github.com/godotengine/godot/pull/52597

Same with other scenes (`MusicPlayer.tscn` → `music_player.tscn` etc.)

Note that if you decide to rename the scenes in this tutorial, you will have to rewrite all the text and recreate all the screenshots, because these names are visible almost everywhere.

* [x] ~~[`01.game_setup.rst:67`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/01.game_setup.rst?plain=1#L67)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> Create a new *Box Shape3D*.

Unnecessary space: *Box Shape3D* → *BoxShape3D*

* [x] ~~[`01.game_setup.rst:89`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/01.game_setup.rst?plain=1#L89)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> ``create a `BoxMesh ` resource``

Broken rst link?

* [x] ~~[`img/01.game_setup/13.move_gizmo_y_axis.png`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/img/01.game_setup/13.move_gizmo_y_axis.png)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

The `MeshInstance3D` is not rendered on this screenshot, which may confuse some users

* [x] ~~[`01.game_setup.rst:131`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/01.game_setup.rst?plain=1#L131) and [`01.game_setup.rst:135`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/01.game_setup.rst?plain=1#L135)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> add a child node `DirectionalLight`
> We need to move and rotate the `DirectionalLight` node.

Renamed to `DirectionalLight3D`

By the way: unlike Godot 3, the ground is not white in Godot 4. Can we tweak something to make the lighting identical to Godot 3?

### Player scene and input actions

* [ ] [`02.player_input.rst:65`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/02.player_input.rst?plain=1#L65) and related screenshot [`img/02.player_input/04.sphere_shape.png`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/img/02.player_input/04.sphere_shape.png)

> The sphere's wireframe appears below the character.

It doesn't appear in Godot 4 because it's too small by default and fits completely inside the model. I have to set the radius to 0.75 to see the wireframe

* [x] ~~[`02.player_input.rst:70`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/02.player_input.rst?plain=1#L70)~~ (Fixed in [#9438](https://github.com/godotengine/godot-docs/pull/9438))

> Shrink it a bit by dragging the orange dot in the viewport.

We should now enlarge it instead (from `0.5` to `0.8`)

* [x] ~~[`02.player_input.rst:106`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/02.player_input.rst?plain=1#L106)~~ (fixed in [#10807](https://github.com/godotengine/godot-docs/pull/10807)) and related screenshot [`img/02.player_input/07.input_map_tab.png`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/img/02.player_input/07.input_map_tab.png)

> Godot projects come with some predefined actions

They are no longer visible by default, we need to click *Show Built-in Actions* to see them

* [x] ~~[`02.player_input.rst:130`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/02.player_input.rst?plain=1#L130)~~ (Fixed in [#10807](https://github.com/godotengine/godot-docs/pull/10807)) and related screenshots

> select *Manual Selection -> Joypad Axes*.

The *Manual Selection* tab no longer exists, everything is in one window now

* [x] ~~[`02.player_input.rst:151`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/02.player_input.rst?plain=1#L151)~~ (Fixed in [#10807](https://github.com/godotengine/godot-docs/pull/10807))

> Bind the Space key and the gamepad's A button.

It's not obvious what is "the gamepad's A button", all gamepads are different. Maybe just mention "Joypad Button 0" instead?

### Moving the player with code

* [x] ~~[`03.player_movement_code.rst:50`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/03.player_movement_code.rst?plain=1#L50)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> The `velocity` is a 3D vector

It has been renamed to `target_velocity` to prevent collision with the builtin `velocity` property (the related code snippets are correct)

* [x] ~~[`03.player_movement_code.rst:190`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/03.player_movement_code.rst?plain=1#L190)~~

> ```gdscript
> if not is_on_floor(): # If in the air, fall towards the floor. Literally gravity
> target_velocity.y = target_velocity.y - (fall_acceleration * delta)
> ```

This line is rendered with incorrect indentation because the rst source mixes tabs and spaces

* [x] ~~[`03.player_movement_code.rst:235`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/03.player_movement_code.rst?plain=1#L235)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> Here is the complete `Player.gd` code for reference.

* Inconsistent comment: "while in the air" / "when in the air"
* Incorrect 5-space indentation, starting from `if direction != Vector3.ZERO:`

* [ ] [`img/03.player_movement_code/13.camera3d_values.webp`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/img/03.player_movement_code/13.camera3d_values.webp)

This screenshot doesn't highlight *Projection: Orthogonal* for some reason

### Designing the mob scene

* [x] ~~[`04.mob_scene.rst:116`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/04.mob_scene.rst?plain=1#L116)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> ```gdscript
> func _physics_process(_delta):
> move_and_slide()
> ```

Incorrect 5-space indentation

* [x] ~~[`04.mob_scene.rst:153`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/04.mob_scene.rst?plain=1#L153)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> Below, `rand_range()` outputs a random value

Renamed to `randf_range()`

* [x] ~~[`04.mob_scene.rst:251`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/04.mob_scene.rst?plain=1#L251)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> Here is the complete `Mob.gd` script for reference.

Again, incorrect 5-space indentation

### Spawning monsters

* [x] ~~[`05.spawning_mobs.rst:14`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/05.spawning_mobs.rst?plain=1#L14)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> Our game has a default window size of `1024x600`.

I see `1152x648`, I don't know why. Is this the new default value in Godot 4?

* [ ] [`05.spawning_mobs.rst:97`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/05.spawning_mobs.rst?plain=1#L97)

> We can update all four cylinders at once. Select all the mesh instances in the Scene dock.

This step is not needed because all cylinders share the same MeshInstance3D. Simply select any mesh instance

* [x] ~~[`05.spawning_mobs.rst:161`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/05.spawning_mobs.rst?plain=1#L161)~~ (fixed in [#6811](https://github.com/godotengine/godot-docs/pull/6811))

> Then, as we're going to spawn the monsters procedurally, we want to randomize numbers every time we play the game. If we don't do that, the monsters will always spawn following the same sequence.

It seems it's not needed, see https://github.com/godotengine/godot/pull/43330

### Jumping and squashing monsters

* [x] ~~[`06.jump_and_squash.rst:239`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/06.jump_and_squash.rst?plain=1#L239)~~ (Fixed)

> With this code, if no collisions occurred on a given frame, the loop won't run.

Again, incorrect 5-space indentation

* [x] ~~[`06.jump_and_squash.rst:291`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/06.jump_and_squash.rst?plain=1#L291)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> `collision.get_collider(index).is_in_group("mob")`

Typo, `index` is not needed here

### Killing the player

* [x] ~~[`07.killing_player.rst:109`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/07.killing_player.rst?plain=1#L109)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> `var player_position = $Player.transform.origin`

Renamed to `$Player.position`, see [`05.spawning_mobs.rst:253`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/05.spawning_mobs.rst?plain=1#L253)

* [x] ~~[`07.killing_player.rst:272`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/07.killing_player.rst?plain=1#L272)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

Incorrect 3-space indentation after `func squash():`

* [x] ~~[`07.killing_player.rst:324`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/07.killing_player.rst?plain=1#L324)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

The `extends CharacterBody3D` line from `Player.gd` is not visible in html. I'm not a rst expert, but I guess there is a missing empty line before this line

* [x] ~~[`07.killing_player.rst:332`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/07.killing_player.rst?plain=1#L332)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

Missing comment `# Vertical impulse applied to the character upon jumping in meters per second.`

* [ ] [`07.killing_player.rst:346`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/07.killing_player.rst?plain=1#L346) and related lines

> `direction.x = direction.x + 1`

[`03.player_movement_code.rst:72`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/03.player_movement_code.rst?plain=1#L72) suggests to use `direction.x += 1` instead (same with `z`)

* [x] ~~[`07.killing_player.rst:359`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/07.killing_player.rst?plain=1#L359)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> `$Pivot.look_at(position + direction,Vector3.UP)`

Missing space before `Vector3.UP`

* [x] ~~[`07.killing_player.rst:366`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/07.killing_player.rst?plain=1#L366)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> `if not is_on_floor(): # If in the air, fall towards the floor`

Missing `Literally gravity` comment, see [`03.player_movement_code.rst:189`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/03.player_movement_code.rst?plain=1#L189)

* [ ] [`07.killing_player.rst:401`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/07.killing_player.rst?plain=1#L401)

> `func _on_mob_detector_body_entered(body):`

`Line 12 (UNUSED_PARAMETER): The parameter 'body' is never used in the function '_on_mob_detector_body_entered'. If this is intended, prefix it with an underscore: '_body'`

### Score and replay

* [x] ~~[`08.score_and_replay.rst:68`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/08.score_and_replay.rst?plain=1#L68) and [`08.score_and_replay.rst:76`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/08.score_and_replay.rst?plain=1#L76)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> There, you will see an empty _Font Data_ field.
> drag the `Montserrat-Medium.ttf` file we included in the project onto the *Font Data*.

*Font Data* has been renamed to *Base Font* (the related screenshots are correct)

* [x] ~~[`08.score_and_replay.rst:79`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/08.score_and_replay.rst?plain=1#L79)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763) and [#6807](https://github.com/godotengine/godot-docs/pull/6807))

> Set the *Settings -> Size* to ``22`` pixels

It has been renamed to *Default Font Size* (the related screenshot is correct)

* [x] ~~[`08.score_and_replay.rst:129`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/08.score_and_replay.rst?plain=1#L129)~~ (fixed in [#6807](https://github.com/godotengine/godot-docs/pull/6807))

Again, incorrect 5-space indentation

* [x] ~~[`08.score_and_replay.rst:176`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/08.score_and_replay.rst?plain=1#L176)~~ (fixed in [#7370](https://github.com/godotengine/godot-docs/pull/7370))

> If you get an error when you squash a mob check your capital letters in the signal "\_on_Mob_squashed"

Is this note still relevant? The only important thing is that `Main.gd` and `ScoreLabel.gd` must use the same name. I tried renaming it to `_dfg3f85f4fgbdfg` and it works just fine.

* [x] ~~[`08.score_and_replay.rst:203`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/08.score_and_replay.rst?plain=1#L203) and related lines and screenshots~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763) and [#6807](https://github.com/godotengine/godot-docs/pull/6807))

> you can use the *Layout* menu in the toolbar.

It has been renamed to *Anchor preset*, the related screenshots need to be updated

* [x] ~~[`13.retry_color_picker.png`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/img/08.score_and_replay/13.retry_color_picker.png)~~ (fixed in [#6807](https://github.com/godotengine/godot-docs/pull/6807))

This screenshot is outdated, the hex value has been changed from `78000000` (ARGB) to `00000078` (RGBA)

* [x] ~~[`08.score_and_replay.rst:270`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/08.score_and_replay.rst?plain=1#L270)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> `func _on_Player_hit():`

Renamed to `_on_player_hit`, see [`07.killing_player.rst:134`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/07.killing_player.rst?plain=1#L134)

### Character animation

* [x] ~~[`09.adding_animations.rst:96`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/09.adding_animations.rst?plain=1#L96)~~ (Fixed in [#8282](https://github.com/godotengine/godot-docs/pull/8282)) and related screenshots

> Move the translation key to `0.2` seconds

All the related screenshots show `0.3` instead, which is incorrect

* [x] ~~[`09.adding_animations.rst:185`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/09.adding_animations.rst?plain=1#L185)~~ (fixed in [#7890](https://github.com/godotengine/godot-docs/pull/7890) and [#10829](https://github.com/godotengine/godot-docs/pull/10829))

> If the creature is a little too close to the floor, you can move the `Pivot` up to offset it.

Not really. When I move `Pivot` up, the player model starts looking at the ground because `Pivot` is rotated with `$Pivot.look_at(position + direction, Vector3.UP)`. This will be fixed below by changing `$Pivot.rotation.x`, but at this point in the tutorial, moving `Pivot` gives strange results.

* [x] ~~[`09.adding_animations.rst:208`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/09.adding_animations.rst?plain=1#L208)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> `$AnimationPlayer.playback_speed = 4`

It has been renamed to `speed_scale` recently: https://github.com/godotengine/godot/pull/71907

* [X] ~~[`09.adding_animations.rst:261`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/09.adding_animations.rst?plain=1#L261)~~ (Fixed in #8955)

> Next, click on Animation > Copy.

This menu doesn't exist in Godot 4. It seems we should use Animtion > Manage Animations, but I'm not sure.

* [x] ~~[`09.adding_animations.rst:262`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/09.adding_animations.rst?plain=1#L262)~~ (Fixed in #8955)

> That's it; all monsters will now play the float animation.

We also need to enable autoplay, which is disabled by default

* [x] ~~[`09.adding_animations.rst:274`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/09.adding_animations.rst?plain=1#L274)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

> `$AnimationPlayer.playback_speed = random_speed / min_speed`

Again, renamed to `speed_scale`

* [x] ~~[`09.adding_animations.rst:296`](https://github.com/godotengine/godot-docs/blob/8a19f445324806e0da2b22bd079bd4470a108887/getting_started/first_3d_game/09.adding_animations.rst?plain=1#L296)~~ (fixed in [#6763](https://github.com/godotengine/godot-docs/pull/6763))

Again, the `extends CharacterBody3D` is not visible in html. In general, all these reference scripts also have the previously mentioned issues

P.S. I didn't test C#

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.