this post was submitted on 07 Aug 2025
28 points (96.7% liked)

Godot

7064 readers
223 users here now

Welcome to the programming.dev Godot community!

This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.

Make sure to follow the Godot CoC while chatting

We have a matrix room that can be used for chatting with other members of the community here

Links

Other Communities

Rules

We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent

Wormhole

!roguelikedev@programming.dev

Credits

founded 2 years ago
MODERATORS
 

Hello, as the title says, I am very new to Godot. I just finished following the 2D Game Tutorial, and I have a question on this part: https://github.com/godotengine/godot-demo-projects/blob/bf4d1038d623c355f3b49e613a2c9b686eebb312/2d/dodge_the_creeps/main.gd#L44

Basically, I had the idea to play around and try to give the mob a curved path, so I tried mob. in Godot's script editor looking for the completion engine to find me things similar to .linear_velocity only to find nothing, and also that linear_velocity didn't even show up as an autocomplete suggestion. No errors or warnings, and the code runs fine.

Question 1: Why does linear_velocity not get suggested? How can I change that, so I can have the editor help me learn the language and APIs?


Question 2: Unrelated to the above. I like Vim motions. Any suggestions on either:

  • Installing a Godot plugin to get Vim bindings?
  • Setting up Godot to use Neovim as my external editor?
  • Just using Neovim externally to edit my GD scripts?

Just looking for thoughts on what people use and like.

you are viewing a single comment's thread
view the rest of the comments
[–] un_ax@lemmy.sdf.org 19 points 1 month ago* (last edited 1 month ago) (2 children)

Question 1: The editor gives hints when it knows the type. You can use static typing. For the demo, you'd want something like var mob: Node2d = mob_scene.instantiate(). or RigidBody2D? Depending on what it actually is.

I'm not sure if there is a vim binding plugin. Editing in an external editor without integration works fine, you just have to confirm to reload when you focus godot.

For neovim integration you'd have to use the external editor feature. You just set up a command to run with the proper args when you choose to edit a file. In practice you set up neovim to listen over a pipe, and godot sends the command to open a file and go to a line. It's not trivial to set up but it's possible.

This tutorial seems good: https://simondalvai.org/blog/godot-neovim/

For beginner godot tutorials, I recommend Brackeys: https://www.youtube.com/playlist?list=PLPV2KyIb3jR7ecat0FBEMv2EZgsDg6Wcv

[–] spacemanspiffy@lemmy.world 5 points 1 month ago (1 children)

Thank you so much! This is enormously helpful.

[–] TechieDamien@lemmy.ml 8 points 1 month ago

I'm the same vein, it is highly recommended to type literally everything: variables, arguments, return types, etc. This not only makes the autocomplete better, but also helps the editor identify bugs before you even run your game!

[–] spacemanspiffy@lemmy.world 2 points 3 weeks ago

As a very late follow up to this, I was able to combine the tutorial you provided plus this https://github.com/niscolas/nvim-godot/blob/bab4677b1bed9c2d90424dc810e2922e1aff119a/nvim_config/lua/package_manager_config.lua#L377 to get LSP and DAP working perfectly within my setup.

I can launch the game from nvim or from Godot, set breakpoints, use the repl. It all works!