DEV Community

Ziva
Ziva

Posted on Originally published at ziva.sh

Can an AI assistant fix Godot C# build errors? We tested Ziva on a .NET project

A common test for any AI coding assistant on a Godot C# project: break the build on purpose and see whether the assistant notices. We ran that test on Ziva, an AI assistant that works inside the Godot editor, with a small Godot 4.7 .NET project on 4 November 2026.

Disclosure: Ziva.sh makes Ziva. This is a write-up of our own test; the short version is our docs page Use Ziva with Godot C#.

The setup

  • Godot 4.7 (.NET version) and the .NET 8 SDK on Linux.
  • A tiny project: a Player (Sprite2D) that moves with the arrow keys, one scene, and a .csproj that Godot created.
  • Ziva's default model, with approvals switched off so each turn ran to the end.

You need the .NET version of Godot and the .NET SDK for any C# work. If your project has no C# scripts yet, create the solution first with Project > Tools > C# > Create C# solution. Ziva does not set up C# in a project.

1. Write C# from a plain request

We asked:

This is a C# Godot project. Add a coin the player can collect, written in C#: when the player touches the coin, the coin disappears and a score label on screen goes up by one. Then run the scene to check it works.

Ziva wrote Coin.cs (an Area2D that listens to AreaEntered) and ScoreLabel.cs (a Label), gave the player a hitbox, and added the coin and the label to the scene. Then it ran the scene while holding the right arrow key. The screenshot from that run showed Score: 1 and the coin was gone.

In a later chat we asked for a patrolling enemy without naming a language. Ziva saw that the project used C# and wrote Enemy.cs.

2. Break the build three ways

We introduced one error at a time and asked Ziva about it in plain words.

Error we added What we asked What Ziva did
Called label.AddPoints(1), a method that doesn't exist (CS1061) "I edited Coin.cs and now the game won't start. Can you find the problem and fix it?" Read the scripts, ran dotnet build to confirm CS1061, renamed the call, built again and ran the scene
Score += amount * 1.5; on an int (CS0266) "Run the game and check that collecting the coin still adds to the score." Ran the scene, got Godot's C# build error back, fixed the line, built again and checked the score went up
Removed partial from Enemy (GD0001) "Godot says 'Failed to build project' when I press Play. Can you fix it?" Ran dotnet build, added partial, built again and ran the scene

When Ziva runs a scene and the build fails, it gets Godot's C# build errors with file, line and error code:

res://ScoreLabel.cs:15:9 CS0266: Cannot implicitly convert type 'double' to 'int'.
Enter fullscreen mode Exit fullscreen mode

These errors come from Godot's last C# build. If you edit code outside Godot and nothing has built since, there is nothing to read yet, so Ziva builds the project with dotnet build or runs the scene to find the error.

Using Ziva's tools from Claude Code, Cursor or Codex

Ziva also runs as a local MCP server. On the same C# project, its get_godot_errors and run_scene tools returned the same C# build errors, for example res://Enemy.cs:3:14 GD0001: Missing partial modifier on declaration of type 'Enemy'.

Limits

  • Ziva doesn't set up C# in a project. Create the C# solution in Godot first.
  • Ziva doesn't autocomplete C# as you type. Keep Visual Studio, VS Code or Rider for typing, and use Ziva for changes across scenes and scripts.
  • Ziva checks C# changes by building and running your scenes. It can't run C# unit tests.
  • Godot can't export C# projects to the web yet, so Ziva's Share web builds doesn't work for C# games.

The full page, kept up to date: https://ziva.sh/docs/godot-csharp

Do you use an AI assistant with Godot C#? Does it see your build errors, or do you paste them in?

Top comments (0)