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

> Source: <https://dev.to/ziva/can-an-ai-assistant-fix-godot-c-build-errors-we-tested-ziva-on-a-net-project-4ja2>
> Published: 2026-11-04 14:22:46+00:00

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](https://ziva.sh/docs/godot-csharp), 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#](https://ziva.sh/docs/godot-csharp).

`Player` (`Sprite2D`) that moves with the arrow keys, one scene, and a `.csproj` that Godot created.
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.

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`.

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'.
```

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.

Ziva also runs as a local [MCP server](https://ziva.sh/docs/ziva-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'`.

The full page, kept up to date: [https://ziva.sh/docs/godot-csharp](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?
