As a Roblox developer it is currently impossible to mirror (inverse/flip) a MeshPart in Roblox.
Other game engines usually solves this by allowing the property Scale / Size to become negative values, while it is capped to minimum 0.05 in Roblox.
Concrete example where this is a problem is when you build a modular pet system (could also be vehicles) and you want to reuse a part for both the left and right side. The optimal case here would be to create a mesh part for the left side part, then attach it mirrored using a script on the right side.
I would like to see this as well. I was running into this problem yesterday, and the only work-around is if you convert your MeshPart to a SpecialMesh and negate the x scale. The problem is you will only be able to get the sizing to match if you know the original size of your MeshPart before any scaling is applied. There’s no way AFAIK to obtain the original size of a MeshPart programatically, but if you do know it you could do something like:
I think a mirror property would be very useful, and it seems doable considering MeshPart.DoubleSided was added. Mirroring would be across the X axis and apply to physics data too. I’m working on adding realistic structures using uploaded meshes, and it would really improve variety and modularity to be able to mirror a complex mesh without needing to upload a second mesh with completely separate physics data.
As games get larger and more packed with mesh assets, the ability to mirror pieces of a modular kit is critical to making large, optimized and time-efficient maps. If Roblox wants an easy win towards empowering large and immersive worlds, mirroring meshparts is it.
Much of my work in 2025 is using meshparts with SurfaceAppearance to match the expected fidelity level of modern Roblox. Anything to add more utility to meshparts would empower devs to do more in less time. Currently I’d have to mirror everything in my modeling software and literally double my unique meshparts.
Just ran up against this roadblock. When using a texture as a mask for lighting, I don’t need the texture showing on both sides of the mesh, so I have to rotate the mask 180 degrees, and the shadows end up ‘mirrored’ If there was a way to mirror the mesh, along an axis, that would solve my problem.
Thanks for providing this information and the example in your post.
This is quite cool, but as you mention in your post it is very bugged. The normals are not inverted properly, to make the mesh render it must be double sided (more expensive to render) and lighting calculations will be off.
Tested with a mesh we had of a vial stand, both stands are the same mesh but the left one where you do not see the vial content is flipped.