Godot: Difference between revisions
m →Enabling VSCode Editor for Godot-Mono (C#): splitted dotnet specific part, from external editor part |
Export Templates |
||
| Line 11: | Line 11: | ||
Add either <code>pkgs.godot</code> (GDScript) or <code>pkgs.godot-mono</code> (GDScript + C#) to <code>environment.systemPackages</code>. | Add either <code>pkgs.godot</code> (GDScript) or <code>pkgs.godot-mono</code> (GDScript + C#) to <code>environment.systemPackages</code>. | ||
==== | == Export Templates == | ||
Automatically enable `godot-templates` in your host using: | |||
<code>home.file.".local/share/godot/export_templates/${pkgs.godot_4-export-templates.version}".source = pkgs.godot_4-export-templates;</code> | |||
Whenever Godot application is upgraded, the new template version will be automatically provisioned. | |||
For `godot-mono`, should reference `pkgs.godot-mono_4-export-templates` but package is still pending in nixpkgs. | |||
== Configuring VSCode Editor for Godot-Mono (C#) == | |||
As Godot editor has poor support for C#, VSCode editor is recommended. | As Godot editor has poor support for C#, VSCode editor is recommended. | ||
Revision as of 21:58, 10 April 2025
Godot is an open-source game engine, capable of creating both 2D and 3D games.
Usage in NixOS
Use steam-run to run a Godot exported project (without having to fix paths for Nix).
Installation
Add either pkgs.godot (GDScript) or pkgs.godot-mono (GDScript + C#) to environment.systemPackages.
Export Templates
Automatically enable `godot-templates` in your host using:
home.file.".local/share/godot/export_templates/${pkgs.godot_4-export-templates.version}".source = pkgs.godot_4-export-templates;
Whenever Godot application is upgraded, the new template version will be automatically provisioned.
For `godot-mono`, should reference `pkgs.godot-mono_4-export-templates` but package is still pending in nixpkgs.
Configuring VSCode Editor for Godot-Mono (C#)
As Godot editor has poor support for C#, VSCode editor is recommended.
Install and configure VSCode as such:
programs.vscode = {
enable = true;
package = pkgs.codium;
profiles.default = {
"godotTools.lsp.serverPort" = 6005; # port should match your Godot configuration
"dotnetAcquisitionExtension.sharedExistingDotnetPath" = "${pkgs.dotnet-sdk_8}/bin/dotnet";
"dotnetAcquisitionExtension.existingDotnetPath" = [
{
"extensionId" = "ms-dotnettools.csharp";
"path" = "${pkgs.dotnet-sdk_8}/bin/dotnet";
}
{
"extensionId" = "ms-dotnettools.csdevkit";
"path" = "${pkgs.dotnet-sdk_8}/bin/dotnet";
}
];
extensions = with pkgs.vscode-extensions; [
geequlim.godot-tools # For Godot GDScript
ms-dotnettools.csdevkit
ms-dotnettools.csharp
ms-dotnettools.vscode-dotnet-runtime
];
};
Configure Godot's Editor → Editor Settings menu:
- Set Dotnet -> Editor -> External Editor to Visual Studio Code.
Configure Godot 4 for External VSCode Integration
Click Editor [top menu] -> Editor Settings [menu item] -> General [Tab] -> Text Editor [Category] -> External [Sub-Category]:
- Exec Path -> Add the output of
which codium, on my case would be:/etc/profiles/per-user/REPLACE-USERNAME/bin/codium - Exec Flags ->
{project} --goto {file}:{line}:{col} - Use External Editor ->
On