MeshPart to SpecialMesh conversion

I decided to make an RP game I’m working on with friends R15, mostly for animation reasons, but I’ve run into a major issue - accessory scaling.

Most ROBLOX RP games have some kind of outfit save setup, but most ROBLOX RP games are also R6. The reason why this is important is because in the last few years, R15 hats were changed from being a SpecialMesh to a MeshPart. MeshParts and SpecialMeshes scale differently, leading to extremely wonky results when trying to use data from a MeshPart from a DataStore for outfit saving.

Pre-outfit loading

Post-outfit loading

Does anybody know any workaround for this, or should I start re-tooling my game to work with R6 instead of R15?
If there is no workaround, does anybody have any idea when ROBLOX will implement the ability to change MeshPart IDs on the fly? I don’t want to use it for collisions, so the collisions concern shouldn’t matter too much, I just want to be able to insert hats from a DataStore.

Doesn’t the workspace property MeshPartHeadsAndAccessories determine whether or not accessory handles are MeshParts?


I had no idea that existed. Thank you!
Still feel like there should be a way to use MeshParts for this, though…

1 Like