godotengine / godotengine/godot
C# DLL not updated on rebuild after system time manipulation
- 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
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