Godot 4.8 .NET 10 First Indie C Sharp Migrate Worksheet 2026
![]()
If you searched godot csharp net 10 after 4.8-dev7 raised the C# floor, you do not need another “install any recent SDK and hope” thread. You need a fill-in worksheet that locks six decisions before Discord invents a studio-wide “we already have .NET 8, ship the 4.8 C# eval tonight” sprint:
- Lab project only — disposable C# copy on a .NET / mono 4.8-dev build, not the production SKU
- SDK honesty — host shows .NET 10.0 or newer before you blame the engine
- Editor + template match — .NET Godot build and export templates from the same snapshot lane
- Restore / build smoke — NuGet restore + at least one script compile path actually run
- CI / second machine — laptop green is not fleet green
- Decision latch — LAB_MIGRATE, HOLD, or PAIR — refuse SHIP_NET8_48 and refuse PROD_PIN
This URL is that worksheet. It is not the live Stop Shipping Godot 4.8 C Sharp Projects Without .NET 10 (SDK floor refusal). It is not the Stop shipping production on 4.8-dev after feature freeze (Steam/export refusal). It is not the AccessKit mobile smoke worksheet. Those own refusal language, production pins, and a11y lab. This URL owns the first indie C#/.NET 10 migrate evening on a disposable project with gates outsiders can footnote.
Why this matters now
On September 29, 2026, Godot published Dev snapshot: Godot 4.8 dev 7 and the matching download archive. Feature freeze for 4.8 is real. The .NET build still includes C#. The archive note is explicit: .NET 10.0 or newer is required, changing the minimum supported version from .NET 8 to 10. C# call optimizations and TFM net10.0 show up in the same snapshot cycle — the toolchain intent matches the download footnote.
October 2026 is when C# indies either (a) install .NET 10, duplicate a lab project, prove restore/build, and file a receipt, or (b) paste “feature freeze means we’re done” into a stand-up while CI agents still only list .NET 8. Without a worksheet, teams mis-file “Godot C# is broken” bugs, thrash production checkouts, or claim migrate success from one IDE open that never restored NuGet.
Direct answer: Fill Sections A–F this week on a disposable 4.8-dev7 (or newer 4.8-dev) .NET project with a host that lists .NET 10+. Choose LAB_MIGRATE, HOLD, or PAIR. Do not treat SDK success as a Steam pin — read the production Stop first. Do not evaluate 4.8 C# on .NET 8 folklore — read the .NET 10 Stop if Discord is mid-argument.
Who fills this worksheet
| Audience | Outcome |
|---|---|
| Beginners | One evening: install .NET 10 → open disposable C# lab → restore/build once |
| Developers | SDK + TFM + CI honesty + fail taxonomy |
| Creators | Discord paste that stops “.NET 8 is fine for 4.8” |
| Companies | CapEx four-liner — lab migrate ≠ production pin |
Time: 45–90 minutes first migrate lab (SDK install dominates); 20 minutes to re-run after agent image changes.
Honest limit: Snapshot and archive pages are the authority for the .NET 10 floor. 4.8 remains pre-release — backups / VCS required. Re-read 4.8-dev7 and 4.8-dev7 downloads before arguing. Refusal-only language lives on the Stop sibling — this page is the fill-in smoke.
Non-repetition
| URL | Job |
|---|---|
| C# without .NET 10 Stop | SDK floor refusal |
| 4.8-dev production Stop | Refuse Steam/export pins on 4.8-dev |
| AccessKit mobile smoke worksheet | a11y lab sibling |
| 12 free animated decals tools | Rendering lab toolkit (live) |
| Symbol renaming lab worksheet | Experimental rename lab (live) |
| 4.8-dev1 July explainer | Earlier snapshot UX commentary |
| 4.6 floatable dock tools | Editor toolkit — different minor |
| Stop Spark closed beta as ship plan | Premature-lane cousin |
| Winter Sale prep worksheet | Seasonal clock |
| This URL | First indie C#/.NET 10 migrate fill-in worksheet |
Pair Godot craft with the Godot guide. Community paste: 25 free game development Discord servers. Production pins and SDK refusals stay on their Stops — not this smoke.
Official facts you must quote (not invent)
From Dev snapshot: Godot 4.8 dev 7 and the 4.8-dev7 download archive:
- 4.8-dev7 (29 Sept 2026) declares feature freeze for 4.8 and prepares the beta transition.
- The .NET build includes C# support.
- .NET 10.0 or newer is required for that build.
- The minimum supported version changed from .NET 8 to 10.
- Snapshot highlights call out C# call optimizations / TFM
net10.0in the same cycle — treat download notes as binding. - Snapshot builds are pre-release — use backups / VCS; not production pins.
- Builds: 4.8-dev7 archive (and later 4.8-dev / beta when published).
Pasteable diligence line:
We are evaluating Godot 4.8-dev C# on a disposable lab project with host SDK evidence for .NET 10+, a restore/build smoke, and a filed migrate receipt. Production SKUs stay on supported 4.7.x. We refuse SHIP_NET8_48 and refuse Steam pins from this lab.
Section A — Project + branch lock (fill in)
| Field | Your answer |
|---|---|
| Production project name | ____ |
| Lab project / branch name | ____ |
| Lab created at (local time) | ____ |
| Godot lab version string | 4.8-dev7 /.NET build / other: ____ |
| Production Godot pin (unchanged) | 4.7.x: ____ |
| Operator tonight | ____ |
| Decision goal | LAB_MIGRATE / HOLD / PAIR / (refuse SHIP_NET8_48 + PROD_PIN) |
A-gate: If lab path equals the only production checkout and you have no VCS backup, stop. Duplicate the project or branch first. If Discord wants a store upload tonight, open the production Stop and SIT OUT. If the team claims 4.8 C# without .NET 10 evidence, open the .NET 10 Stop and refuse SHIP_NET8_48.
Section B — SDK + host matrix (fill in)
| Field | Your answer |
|---|---|
| Host OS | Windows / macOS / Linux: ____ |
dotnet --list-sdks paste (10.x+ rows) |
____ |
dotnet --version |
____ |
| IDE used | VS / Rider / VS Code / other: ____ |
| IDE .NET targeting pack verified? | Y/N |
| CI agent image includes .NET 10? | Y / N / N/A tonight |
| Second machine planned? | Y/N |
B-gate: Claiming “migrate works” after only opening the editor with no SDK list paste is folklore. Name the 10.x SDK. If you only prove one laptop, do not write “CI ready” in the public note.
Beginner SDK setup (do once per host)
- Install .NET 10 SDK from Microsoft’s current install channel for your OS (use the official installer; do not invent mirror URLs).
- Restart the shell / IDE so PATH refreshes.
- Run
dotnet --list-sdksand confirm a **10.*** line exists. - If only 8.x / 9.x appear, stop — do not open the 4.8 .NET editor as “close enough.” Latch HOLD or finish install.
- Optionally run
dotnet --infoand keep the output beside the receipt.
Section C — Editor + project smoke script (fill in)
| Field | Your answer |
|---|---|
| Downloaded Godot flavor | .NET / mono (required) / standard (N/A — stop) |
| Archive page URL used | ____ |
| Export templates matched editor version? | Y/N |
| Disposable C# project opened? | Y/N |
At least one .cs script attached / created? |
Y/N |
| NuGet restore completed? | Y/N / error: ____ |
| Build / play once without SDK errors? | Y/N / error: ____ |
Observed TFM / project note (net10.0 if visible) |
____ |
C-gate: GDScript-only editor builds do not satisfy this worksheet. If you downloaded the standard build by mistake, stop and fetch the .NET build from the archive. Restore failures with clear “framework not found / SDK not found” messages are host fails, not “Godot C# is dead.”
Minimum scenario list
- Open disposable project on 4.8-dev .NET editor.
- Confirm no immediate SDK missing dialog that you ignored.
- Create or open one trivial C# script (e.g. print on
_Ready). - Trigger restore/build path once.
- Enter play mode once or compile once — record pass/fail honestly.
- Close without merging into production.
Section D — Engine + production honesty (fill in)
| Field | Your answer |
|---|---|
| Read .NET 10 sentence on archive aloud? | Y/N |
| Production still pinned to 4.7.x? | Y/N |
| Any Steam/demo branch pointed at 4.8-dev? | Y/N (must be N) |
| Team message drafted (Discord / Notion)? | Y/N |
| Upstream bug filed only after SDK proof? | Y/N / N/A |
D-gate: SDK migrate success does not authorize production pins. Feature freeze does not mean “ship Steam on 4.8-dev.” Keep those sentences separate in the team note.
Section E — Team PAIR + CI (fill in)
| Field | Your answer |
|---|---|
| Second operator / machine | ____ |
Same dotnet --list-sdks evidence? |
Y/N |
| CI image ticket opened? | Y/N / N/A |
| Image owner | ____ |
| Pair notes link | ____ |
E-gate: One developer’s Rider green is not a studio migrate. If CI will claim C# on 4.8, the agent image needs .NET 10 before anyone greps logs for “Godot regression.”
Section F — Decision + receipt (fill in)
| Field | Your answer |
|---|---|
| Decision latched | LAB_MIGRATE / HOLD / PAIR |
| Timestamp | ____ |
| Receipt filename | godot_48_dotnet10_csharp_migrate_receipt_v1.json |
| Stored where | ____ |
| Next review date | ____ |
Decision meanings
| Decision | Meaning |
|---|---|
| LAB_MIGRATE | Disposable project proved SDK + restore/build on .NET 10; no Steam pin; notes filed |
| HOLD | Missing SDK, wrong editor flavor, or blocked restore — wait; do not claim success |
| PAIR | Need second machine/CI evidence before studio-wide claim |
| SHIP_NET8_48 | Refused (see Stop) — never a worksheet pass |
| PROD_PIN | Refused (see production Stop) — never a worksheet pass |
Gates M1–M8 (pass / fail)
| Gate | Pass if… |
|---|---|
| M1 | Lab path ≠ sole production checkout; VCS/backup exists |
| M2 | Archive .NET 10 requirement quoted in notes |
| M3 | Host dotnet --list-sdks shows 10.x+ |
| M4 | Godot build is .NET / mono for this lab |
| M5 | Export templates match editor version string |
| M6 | NuGet restore + at least one compile/play path recorded |
| M7 | Production pin remains supported 4.7.x (no 4.8-dev Steam branch) |
| M8 | Decision is LAB_MIGRATE / HOLD / PAIR only — SHIP_NET8_48 and PROD_PIN refused |
Fail M3 or M4 and stop. Do not invent workarounds that “sometimes open” on .NET 8.
Beginner path — 75 minutes
- 0–10 min: Read the .NET 10 Stop honesty ladder once; do not start on production.
- 10–25 min: Install .NET 10; paste
dotnet --list-sdksinto Section B. - 25–35 min: Download 4.8-dev7 .NET build + matching templates from the archive.
- 35–45 min: Duplicate a tiny C# sample or strip a copy of your game into a disposable folder (Section A).
- 45–65 min: Open project; restore; attach one script; play/compile once (Section C).
- 65–75 min: Latch LAB_MIGRATE, HOLD, or PAIR; paste Discord shortlist; save receipt JSON.
If step 2 fails, latch HOLD and stop. Do not “just try the editor.”
Developer path — toolchain depth
SDK vs IDE vs editor (separate proofs)
| Layer | What proves it | Common false pass |
|---|---|---|
| Host SDK | dotnet --list-sdks shows 10.x |
IDE “.NET installed” banner only |
| Targeting / packs | Project builds against expected TFM | Old global.json forcing 8 |
| Godot .NET editor | Archive .NET zip opened | Standard Godot zip + C# plugins folklore |
| Export templates | Version string matches editor | Last month’s templates |
| CI image | Agent lists 10.x before job | Laptop-only green |
Fail taxonomy (paste into bug reports)
| Symptom | Likely layer | First check |
|---|---|---|
| “Framework not found” / SDK missing | Host | dotnet --list-sdks |
| Project opens, NuGet fails | SDK / feeds / TFM | Restore log + global.json |
| Editor won’t load C# assemblies | Wrong Godot flavor | Confirm .NET build |
| Works on laptop, fails in CI | Image | Agent SDK list |
| Works in editor, export fails | Templates | Match archive version |
| “C# broken after freeze” | Folklore | Re-read download .NET note |
What not to automate yet
- Fleet-wide CI image thrash before one laptop LAB_MIGRATE
- Merging lab
*.csproj/ TFM changes into production mid-sale - Upstream “Godot regression” issues without SDK paste
- Steam branch retarget to 4.8-dev because restore passed once
global.json honesty
If a repo global.json pins an older SDK, the migrate lab must either (a) use a disposable project without that pin, or (b) document an intentional temporary pin change only on the lab branch. Silent inheritance of 8.0.xxx is how teams “install .NET 10” and still fail restore.
Failure modes this worksheet catches
| Failure | What it looks like | Fix |
|---|---|---|
| SDK wallpaper | “We have .NET 8 from 4.7” | Install 10; refuse SHIP_NET8_48 |
| Wrong zip | Standard editor + C# disappointment | Fetch .NET build |
| Production thrash | Migrate on live Steam checkout | Disposable lab only |
| CI lag | Green laptop, red pipeline | PAIR + image ticket |
| Freeze folklore | “Feature freeze = ship” | Production Stop |
| Misfiled bugs | Upstream without SDK evidence | Fail taxonomy first |
| Template skew | Editor 4.8-dev7, old templates | Rematch archive |
| TFM silence | Never record net10.0 / project note | Section C field |
Anti-patterns (reject in review)
- Claiming migrate success with no
dotnet --list-sdkspaste. - Using the production checkout as the lab.
- Evaluating C# on the standard (non-.NET) Godot zip.
- Writing “CI ready” after one laptop pass.
- Pinning Steam/demo to 4.8-dev because NuGet restored.
- Filing Godot bugs before proving host SDK 10.x.
- Treating this worksheet as a substitute for the .NET 10 Stop refusal when the team is mid-SHIP_NET8_48 argument.
- Padding the receipt with “looks fine” and empty error fields.
Worked decisions
Studio A — solo indie, .NET 8 only tonight
Do: Latch HOLD. Install .NET 10 tomorrow. Do not open 4.8 .NET editor “to see what happens.”
Don’t: Post “Godot C# broke after freeze.”
Studio B — .NET 10 on laptop, CI on 8
Do: Latch PAIR. File CI image ticket. LAB_MIGRATE can still be true for local lab notes.
Don’t: Merge “we migrated” into the studio wiki as fleet-complete.
Studio C — wants Winter Sale on 4.8-dev C
Do: Read production Stop. Keep production on 4.7.x. Lab only.
Don’t: Treat migrate gates as store authorization.
Studio D — GDScript production, curious about C
Do: Optional LAB_MIGRATE on a toy C# project; keep production GDScript lane honest.
Don’t: Claim “studio C# ready” without Sections B–C.
Studio E — also mid AccessKit mobile smoke week
Do: Separate evenings. AccessKit smoke ≠ SDK migrate. Link both receipts.
Don’t: One mega-thread that mixes TalkBack with NuGet.
CapEx four-liner
- Asset at risk: Eval evenings, CI green folklore, false upstream bugs, partner demos that only open on one laptop.
- Change proposed: Evaluate Godot 4.8 C# without proving .NET 10 on host/agents, or thrash production.
- Cost if wrong: Lost weeks, wrong bug reports, and freeze-week chaos.
- Decision owner: Tech lead; default = LAB_MIGRATE after M1–M8 — never SHIP_NET8_48, never PROD_PIN from this lab.
Two-week calendar
| Day | Action |
|---|---|
| Day 1 | Install .NET 10; paste SDK list; duplicate disposable project |
| Day 2 | Open 4.8-dev .NET editor; restore/build smoke; latch decision |
| Day 3 | Discord note + receipt filed; refuse production pin language |
| Day 4–5 | CI image ticket if PAIR; second machine optional |
| Day 6–7 | Re-run smoke after any SDK/IDE update |
| Week 2 | Re-read archive notes if a newer 4.8-dev/beta drops; refresh receipt |
Discord shortlist (paste)
Godot 4.8 C# migrate lab (not a Steam pin):
1) Archive requires .NET 10+ (min changed from 8 → 10)
2) Disposable project only — production stays 4.7.x
3) Must use .NET/mono Godot build + matching templates
4) Paste dotnet --list-sdks (need 10.x)
5) Restore + one compile/play — record pass/fail
6) Decision: LAB_MIGRATE / HOLD / PAIR only
7) Refuse SHIP_NET8_48 — see Stop sibling
8) Refuse PROD_PIN — see production Stop
9) Receipt: godot_48_dotnet10_csharp_migrate_receipt_v1.json
Receipt — godot_48_dotnet10_csharp_migrate_receipt_v1.json
{
"receipt_type": "godot_48_dotnet10_csharp_migrate_receipt_v1",
"operator": "",
"lab_project": "",
"godot_version": "4.8-dev7",
"godot_flavor": "dotnet",
"dotnet_sdks_paste": "",
"restore_pass": false,
"build_or_play_pass": false,
"production_pin": "4.7.x",
"ci_image_net10": "unknown",
"decision": "LAB_MIGRATE|HOLD|PAIR",
"refused": ["SHIP_NET8_48", "PROD_PIN"],
"timestamp_local": "",
"notes": ""
}
Fill every field. Empty dotnet_sdks_paste with decision: LAB_MIGRATE is an invalid receipt.
Key takeaways
- 4.8-dev7 .NET builds require .NET 10.0 or newer — minimum moved from .NET 8.
- This worksheet is the fill-in migrate smoke, not the refusal Stop and not a production pin.
- Use a disposable C# project on the .NET Godot build.
- Paste
dotnet --list-sdksbefore you blame the engine. - Match export templates to the editor version.
- Record restore + one compile/play path honestly.
- Latch LAB_MIGRATE, HOLD, or PAIR only.
- Refuse SHIP_NET8_48 and PROD_PIN from this lab.
- Laptop green ≠ CI green — PAIR when agents lag.
- File the JSON receipt; re-read the archive when newer snapshots land.
- Primary keyword for this URL: godot csharp net 10.
- Outsiders can cite the gates + diligence line without our cluster jargon.
FAQ
Does Godot 4.8-dev require .NET 10 for C#?
For the .NET build, yes — the 4.8-dev7 archive states .NET 10.0 or newer, changing the minimum from .NET 8 to 10. Re-read the page before arguing folklore.
Is this the same as the Stop article?
No. The Stop is the refusal. This URL is the fill-in lab worksheet with gates and a receipt.
Can I migrate on my production project?
No. Duplicate a disposable lab first (Section A). Production pins stay on supported 4.7.x until the production Stop’s diligence passes.
What if I only have the standard Godot zip?
This worksheet does not apply until you download the .NET / mono build. GDScript-only evaluation is a different lane.
Should I pin Steam to 4.8-dev after a green migrate?
No. SDK success ≠ store authorization. See the production Stop.
What primary keyword does this page target?
godot csharp net 10 — first indie migrate worksheet intent after the 4.8-dev7 floor bump.
Related reading
- Stop Shipping Godot 4.8 C Sharp Projects Without .NET 10 - 2026 — SDK floor refusal
- Stop Shipping Production Godot Games on 4.8-dev After Feature Freeze - 2026 — production pin refusal
- Godot 4.8-dev AccessKit Mobile Smoke - First Indie Worksheet 2026 — a11y lab sibling
- 12 Free Godot 4.8 Animated Decals Tools After Feature Freeze - 2026 — animated decals lab toolkit
- Godot 4.8 Symbol Renaming First Indie Experimental Lab Worksheet 2026 — experimental rename lab
- Godot 4.8 Dev Snapshot - What Changed for Indie Devs July 2026 — earlier snapshot commentary
- 12 Free Godot 4.6 Floatable Dock Editor Tools After Dock Rework - 2026
- Stop Quoting Unity Spark Closed Beta as Your Studio Ship Plan - 2026 — premature-lane cousin
- Steam Winter Sale 2026 Prep Worksheet - Lock Before Dec 17
- Godot Guide
- 25 Free Game Development Discord Servers
Primary sources: Dev snapshot: Godot 4.8 dev 7 · Download Godot 4.8-dev7.
Conclusion
Godot 4.8-dev7 raised the C# host floor to .NET 10. This worksheet turns that footnote into a one-evening lab: disposable project, SDK paste, .NET editor flavor, restore/build smoke, CapEx honesty, and a receipt. Latch LAB_MIGRATE, HOLD, or PAIR. Refuse SHIP_NET8_48. Refuse PROD_PIN. Keep Steam boring on supported 4.7.x.
Print Sections A–F. Paste Discord. Treat .NET 10 as measured migrate smoke — not freeze-week marketing.