DynamicToClassicHead: A way to transform Dynamic Heads to their classic counterparts

DynamicToClassic converts dynamic heads to their classic face and head counterparts.

This was originally made for a game of mine as it uses Roblox’s classic face system to change the face of a player via a decal in the player’s head. I’ve opened sourced it to contribute to the community

Changelog/Updates
  • Update (1/28/2026): I have rewrote this system to mostly use HumanoidDescriptions for most of the work now, instead of the hacky method of replacing the player’s head with code. I also updated the module to grab the table of assets over HTTPSService so it’s easier to update
  • Update (4/21/2025): In order for this to continue working you must set the “PlayerCharacterDestroyBehavior” property in workspace to “Disabled”

:sparkles: Elements:

  • Supports workspace.MeshPartHeadsAndAccesories set to Disabled or Enabled
  • Source is only on github for now, but uses HTTPSService to grab the table of assets
  • Easy to edit along with it somewhat being modular
  • Devtool plugin to make workflow easy for people modifying it

:warning: Please keep in mind that the current table provided is outdated, if any heads arent supported please submit a pull request on the GitHub to Faces.json. Make sure to follow the current formatting with comments as such

:framed_picture: Showcase Examples:

Plugin

RobloxStudioBeta_KHnAkHRRd1

Scripts in action

(these are from a outdated version, current one is much better)
RobloxStudioBeta_m5ZWHgdt6g
RobloxStudioBeta_6mseahxBN0
RobloxStudioBeta_XObM2UvdS9

:hammer_and_wrench: Installation:

You need to enable Allow HTTP Requests in File > Experience Settings > Security

You can get the dev-tool plugin here
You can get the source here (only on GitHub for now, Roblox Library asset is outdated

Put the example script (provided on the github) in ServerScriptService or workspace if you’re messy, with the module parented to it with the code for the ConversionHandler module

This is my first time making a post like this so sorry if some of it seems a bit messy or unprofessional. Also I do know Roblox is going to make it so you can toggle classic faces on a dynamic head at some point, but I don’t know if it’ll be a decal like it is currently.

34 Likes

Can this be used for roblox studio? I don’t like seeing dynamic heads in my moon animator animations soo yep.

1 Like

I could try making a studio version. For now just load the players avatar with the moonanimator plugin, rename it to “StarterCharacter”, drop it into StarterPlayer, Playtest, then select and copy your character in workspace, stop the playtest and then paste it into studio

1 Like

What exactly is ServerScriptStorage?

	Place in **ServerScriptStorage** or Workspace

I meant to say ServerScriptService. Sorry about that

1 Like

Actual lifesaver. I’ve been having an issue with the new ‘replacements’ for classic faces, where even if you disable dynamic heads, they appear as a special mesh and have a mouth inside. When you make the head semitransparent it looks very bad.

1 Like

not sure why, but the :3 face is being replaced with a completely different face
image

Edit: submitted PR on github

2 Likes

Thank you for this, submitting the pull request now, will update the module tomorrow or later today. Sorry for the late reply I have been busy with IRL stuff.

Sorry to interrupt but I’ve been trying to get this to work for ages and its just not working, it also doesn’t seem to be working in the game it was made for as well so if it is broken please fix it if you have time, or I’m just being a idiot and implementing it wrong.

Sorry for the late reply, I haven’t had the time to maintain it but I’ve been debating on rewriting the code for this anyways.

It still works you just need to go to the workspace and set the property “PlayerCharacterDestroyBehavior” to Disabled

2 Likes

We need this plugin now more than ever.

3 Likes

Is this still being maintained? Everyone is gonna use this if Roblox actually fully removes classic faces.

1 Like

I just got back to maintaining it today, I’ll update the post soon!

I’m going back to work on this now! I rewrote it today, but when the update comes out I may need to rewrite it again to support every new head shape!

I also havent updated the asset list so if any heads arent supported please submit a pull request to the Faces.json on the GitHub!

You will not believe this! But I’m working on it again!

2 Likes

Watch out, public systems that do this are now apparently getting taken down for misusing roblox systems. If this is really the reason, I’ve never seen such blatant censorship from this company, they’re really at an all time low right now.

1 Like

It’s only on GitHub right now and it’ll probably stay that way. Also I’ve been working on this since 2023 and there’s a older version of this uploaded to roblox, but its out of date now.

1 Like

I actually created a system like this myself, that being said; It didn’t go too well for me. So just as a heads up, make sure to keep it offsite, its stupid, I know.

2 Likes

Why does Roblox want everyone to stop using classic faces?

1 Like

they think it’s “not expressive enough”
first age checks, now this update? COME ON ROBLOX MAKE YOUR MIND UP, PLEASE