Godot Daily: The Great Include Cleanup - Faster Builds Ahead!
Today's episode covers a massive codebase cleanup focused on reducing unnecessary header inclusions, with over 20 merged PRs touching hundreds of files. The highlight is a 40% reduction in class_db.h inclusions and several quality-of-life improvements for developers, plus a revamped autoload creation system that makes project setup much more intuitive.
Duration: PT4M12S
Transcript
Hey there, fellow code crafters! Welcome back to Godot Daily - I'm your host coming at you on this fantastic March 5th, 2026. Grab your favorite morning beverage because we've got some seriously exciting stuff to dive into today. And wow, what a day it's been in the Godot repository!
You know that feeling when you're working on a big project and you realize your build times are getting slower and slower? Well, the Godot team has been tackling that exact problem, and the results are absolutely incredible.
Let's start with the star of today's show - a massive cleanup effort led by akien-mga and StarryWorm that's going to make every Godot developer's life better. We're talking about the great header inclusion cleanup, and folks, the numbers here are mind-blowing.
First up, akien-mga pushed through a huge refactor renaming `callable_method_pointer.h` to the much friendlier `callable_mp.h` and making includes explicit across 458 files. That's not a typo - four hundred and fifty-eight files! This might sound like boring housekeeping, but here's why it matters: it's removing unnecessary dependencies from `class_db.h`, which was being included way more than it needed to be.
Then StarryWorm followed up with an absolute masterpiece - removing all unnecessary `class_db.h` inclusions. Are you ready for this? They took the inclusion count from 1,346 down to just 810. That's a 40% reduction! Your compile times are going to thank you for this one. Imagine shaving minutes off your build process just because someone took the time to clean up these dependencies.
But the cleanup party didn't stop there. We also saw explicit includes for `scene_tree.h` across 70 files, setting the stage for even more dependency improvements down the road. It's like watching a master organizer declutter a messy garage - everything has its proper place now.
Now, let's talk about something that'll make your day-to-day development smoother. KoBeWi completely revamped the autoload creation system, and honestly, it's about time! Instead of those confusing text fields, you now get clear, friendly buttons. Want to add an existing script or scene as an autoload? There's a button for that. Need to create a new script autoload? Boom, another button. It's so much more intuitive, and it addresses feedback that's been sitting there since 2017!
The editor love continues with some fantastic bug fixes that I know have been bugging people. Giganzo fixed not one, but two issues with the replace functionality in the code editor. You know how sometimes you'd hit replace and it wouldn't highlight the next occurrence? Fixed. And that annoying thing where you'd have to press enter twice in the replace bar? Also fixed. These might seem small, but they're the kind of paper cuts that add up to a much better development experience.
Speaking of editor improvements, we're seeing better user experience touches everywhere. Missing mesh warnings are now properly displayed, there are scroll hints in animation dialogs, and even the remote debugger got some polish with readonly constants in the remote scene view.
The quality-of-life improvements extend to the build system too. Repiteo added smart logic to determine if source files actually changed before kicking off builds. This means documentation-only changes won't waste CI resources - it's efficiency at its finest.
For today's focus, if you're working on any C++ projects - not just Godot contributions - take inspiration from this cleanup work. Look at your own header includes. Are you pulling in massive headers when you only need a forward declaration? Sometimes the best performance improvements come from what you don't compile, not what you optimize.
And here's something beautiful about open source - these changes came from multiple contributors working together, building on each other's work, and making the whole ecosystem better for everyone.
That's a wrap on today's Godot Daily! Twenty merged pull requests, cleaner code, faster builds, and a bunch of quality-of-life wins. Keep building amazing things, and I'll catch you tomorrow with more exciting developments from the Godot universe!