I see many weapons use SpecialMesh/BlockMesh with Parts but what would be the difference to just a regular Part? Is it performance, similar to using MeshParts, or some additional functions? By the way, I searched up the difference between SpecialMesh and BlockMesh so I know that already.
The minimum sizes of normal parts are 0.01. However with meshes, you can make them even smaller, which is probably why weapons use them.
I checked right now in my Studio and the minimal size of a part is actually 0.001. But even if it would be 0.01, this is enough to make a decent looking gun without going smaller.
My bad, I only figured that since the CornerFill plugin usually creates these tiny wedges with meshes when I use it on angled surfaces.
SpecialMesh and BlockMesh are a relic of the past. They allowed you to change the visuals of a Part without changing the collision of it. SpecialMeshes were used to create accessories and gear that player avatars were able to wear. BlockMeshes were used to remove the rounded edges on Parts that existed back in the day (which haven’t existed for many years now).
These instances were added years before MeshParts became a thing. Although they aren’t deprecated you shouldn’t have a need for any of them anymore outside of some incredibly niche use-cases. Performance between the two should be negligible. MeshParts now also support features that SpecialMeshes don’t support, like normal maps and roughness maps through a SurfaceAppearance instance.