godotengine / godotengine/godot

C# DLL not updated on rebuild after system time manipulation

Open
#112,902 10 comments 0 reactions 0 assignees View on GitHub
discussion needs testing topic:buildsystem topic:dotnet
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

- Reproduciable in v4.5.1.stable.mono.official [f62fdbde1]

### System information

Windows10 - Godot-v4.5.1.stable.mono.official [f62fdbde1]

### Issue description

I've encountered a potential bug in the Godot C# version where modifying the system time can prevent subsequent C# code changes from being reflected in the built DLL.

### Steps to reproduce

1. Have a Godot C# project with some existing C# scripts.
2. Change the system time on your local machine forward (e.g., from 2025-11-18 to 2025-11-20).
3. Make a trivial change to a C# script (e.g., add a comment, modify a variable) and build the project within Godot. Observe that the build succeeds.
4. Change the system time back to its original/correct time.
5. Make another distinct change to the same or a different C# script, for example, print "hello world" in '_Ready'. Build the project again.
6. Start the game in editor, no print showing in output panel.
7. Move to `.godot\mono\temp\bin\Debug` , the dll's last update time is 2025-11-20, not 2025-11-18

### Minimal reproduction project (MRP)

show in steps

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue in a Godot C# project using the system-time changes described, then inspect the build output under .godot\mono\temp\bin\Debug. Compare the generated DLL timestamp and runtime behavior after changing the clock back; done means subsequent C# edits are reflected in the built DLL and the expected output appears.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, godot
Domain
build-system, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.