a free-and-open-source, community-driven replacement for dynamic heads. designed with beginner-friendliness, stability, maintenance, longevity, and production-use in mind.
mechanically, the perfect dynamic-head-replacing script
github
Roblox has consistently failed the community with its changes, those of which are often tailored to investors who invest in seemingly anything-AI and anything-metaverse. David Baszucki’s delusion of a Metaverse, and his selling-out to investors over community, strips the platform of its core identity on an unfortunately-regular basis. Because of this, WHDB exists. WHDB is devoted to bringing Roblox back to its former glory: before the platform-breaking agendas of its CEO. Our first of many steps towards this is TFOG: an ever-lasting, community-driven replacement tool of Dynamic Heads.
examples of Roblox's Destructive and Abusive Changes + extreme dangers of Age Verification + TFOG motivations
The Chat Update, categorizing users into age groups which they are limited to chatting with, segregated the platform.
Requiring Roblox Premium, a monthly subscription with little benefit, to upload clothes onto the platform.
Stealing 71% of developers earnings—the individuals who create games on the platform to earn themselves and Roblox revenue.
Damaging the workflow of developers on the platform by forcefully removing the old ‘Studio Toolbar,’ deliberately preventing workarounds like using older versions of Roblox Studio.
Even larger issues, like age verification, which doesn’t work at all, creating a false sense of security, a massive surveillance and data-collection regime and impacting minorities like foster children, LGBTQ+, blacks, and transgenders. Persona, the third-party service provider for identity verification on Roblox, has been data-breached on multiple occasions, and were found exposing biometric data, linking it to government surveillance, storing it for years, and reporting suspicious activity.
Roblox deliberately ignores community insight regarding these issues, prioritizing ‘modernization,’ monetization, data-collection, and, to be blunt, AI-slop.
One of the most damaging changes to Roblox has been the removal of classic faces and heads. After 17 years, Roblox has decided to archive classic faces and classic heads. They triple-downed on the change, ignoring the overwhelmingly-negative community feedback, and individuals who have bought classic faces or heads have not been reimbursed.
In spite of Roblox’s poor decision-making, I have created TFOG— the Faces of Ghosts.
what is tfog?
In brief, TFOG sends HTTP requests to raw Github files (#1), ran and controlled by the community, to retrieve the classic face and head replacements for dynamic heads (#2). View the documentation to see all the behaviour of TFOG- it’s too much to discuss in one post. TFOG is decentralized and highly customizable, designed for small and large-scale games, and designed to survive under the weight of Roblox’s self-destructive changes.
technical description
TFOG is decentralized and run by the community; Roblox has no control. Nobody, has complete control. In fact, the most important part of this project is its decentralization. We, WHDB, expect that Roblox will remove a feature its community adores. In due time, it may be the complete removal of classic faces- not archived, but completely gone, including their Roblox-uploaded decals. TFOG makes this an easy-fix, by straying away from the Roblox site, using Github to manage its database of Dynamic Head replacements. Maintainers would add, remove, or alter entries within a given filter list, automatically syncing across Roblox servers.
If Roblox removes the decals, contributors would, for example, work together to replace the decals in this (or similar) filter list, containing roughly 500 dynamic heads and their classic-head replacements, with user-uploaded decals. The syntax of the filter list is found here, but very briefly, dyn defines specifically a dynamic head ID, and face defines any decal ID.
why?
the seling-points of TFOG
I know I’m late to the party; however, while the other dynamic head-replacing modules are solid, they are lacking in numerous ways.
-
Everlasting: TFOG, alongside the two other almost-done WHDB entries, are built to last, and assume Roblox will remove a feature keeping their platform alive (a reasonable assumption). They are impenetrable to Roblox. With similar resources, they do not account for WHEN Roblox permanently deletes classic faces and classic heads. They do not account for WHEN Roblox will prevent Decal from loading the IDs of classic faces, or MeshParts and SpecialMeshs from loading the IDs of classic heads. They do not account for WHEN Roblox will upload a new face, not filtered by other dynamic head-replacing modules. Instead of looking at just the present, TFOG looks at the past, present, and future, and is designed in such a way that is intangible, immaterial to Roblox. All WHDB projects are designed with this in mind, because we see, time and time again, Roblox discontinues and deprecates the features most valuable to us— its a matter of when.
-
Maintainable: TFOG is designed specifically to be straightforward. Alternatives to features are built into the code if found necessary. If revisions to the code are needed, you can view the docs to understand the flow, and alter what is necessary. I have tested it in my own project, which I’d say is pretty industry-grade, and there are no bugs or issues besides a few tweaks to the settings that my project requires. Use the project yourself to testify for me.
-
Stable and Production-Ready: TFOG is designed with scalability in mind, and comes with robust documentation ensuring that anyone, from beginners to advanced developers, can easily integrate it into their projects. It can easily scale up to suit larger and complex Roblox games, making it a solid choice for both casual projects or working on a large-scale. I do not claim that it is bug-less; however, I have encountered no bugs with the final versions of this project.
-
Customizable and Functional: TFOG is incredibly customizable. Override what you need, change functionality to what you need, blah blah. Check docs. There’s an incredible amount of functionality to it, all super self-explanatory and easy to understand. It fixes a few Roblox bugs too. It offers recursive filter lists. It has UGC support. It has a functionality that uses less HTTP requests by sharing data between your games servers. The list of features is endless, tightly-knit into one module, and there will be many more to come.
-
FOSS & Community-Driven: You can contribute. Your friends can contribute. Anyone can contribute. Make a filter-list, or fork the project itself. It’s up to you.
-
Beginner-Friendly: You don’t need to change anything in the settings. To make a filter list, make a (public) Github file, follow the file format to add entries (the file format is ridiculously easy), and add the Github file’s link to
cfg.lists! No more, no less. Then, ask your friends to use your filter list, and once you need a new entry, change the list on Github to add the entry. It automatically updates to all your friends. It’s magic.
closing words.
Stay ahead of Roblox’s changes. Future-proof your games, and support community-driven development with TFOG. Reshape Roblox into its former glory, and shape the future of the platform. For questions, contributions, especially suggestions; or to learn more, head over to our official GitHub repository and Discord server (top of the post). WHDB has more projects planned for this month- stick around.
icon drawn by iceytaste, and colored (tragically) by me. it’s a miserable roblox noob.


