I kept hitting the same three cleanup problems on a project that had been through a few art passes and refactors, so I built a dock for each. All free, GDScript only, no dependencies.
Todo Tracker — walks every .gd/.cs/.shader/.gdshader file for TODO, FIXME, HACK, BUG, NOTE, plus any custom tag you type in (handy if your team writes REVIEW(name): or PERF:). Per-tag filter checkboxes, double-click a row to jump to the line, re-scans on save, and an “Export Markdown” button for pasting a checklist into a PR.
Broken Reference Finder — checks res:// paths in scenes, resources and scripts against files that no longer exist. The part that actually took the work: Godot scenes carry a uid="uid://..." next to the path, and Godot resolves by uid first, silently repairing a stale path on load. A plain text search flags that as broken when it isn’t. This one checks the uid against ResourceUID before reporting anything, and splits results into High/Low confidence (a preload() sitting inside a comment is Low, for example).
Unused Resource Finder — same uid-aware logic applied to “is this file referenced anywhere,” plus three checks that aren’t just orphan-hunting: oversized textures (>2048px on a side regardless of use), folders where every asset is unused, and asset folders with no LICENSE/CREDITS/ATTRIBUTION file nearby (the last one’s saved me a review hold-up more than once). Forum’s new-account link limit means I can’t drop a third URL in here — it’s on the same store page as the two above, same author.
All three are Godot 4.x, free, and open to feedback — especially if you’ve got a project layout that trips up the “unused” or “broken” detection, since static analysis like this always has edge cases I’d rather know about than guess at.