A Roblox MeshPart is a custom 3D mesh that is also a physical BasePart. Unlike a SpecialMesh, it is not merely a visual shape placed inside another part: a MeshPart can be anchored, welded, constrained, simulated, textured, and assigned its own approximate collision geometry.
Most MeshParts begin as models made in Blender, Maya, or another 3D application, then enter Studio through File → Import. The important principle is to treat the visible mesh and its physical representation as separate decisions. A detailed model can use simple Box or Hull collision, while an object whose shape matters to gameplay may need Default or PreciseConvexDecomposition.
What is a Roblox MeshPart?
A 3D mesh is geometry made from vertices, edges, and faces. A Roblox MeshPart is the engine object that stores or references that custom geometry and gives it Roblox rendering and physics behavior.
The class inherits from BasePart through TriangleMeshPart, so it participates in Roblox assemblies and physics like other physical parts. It can be used for environment props, buildings, vehicles, weapons, NPCs, avatar body parts, clothing, and accessories. See the MeshPart class reference and Roblox’s guide to meshes.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →#1 Best Overall
- 【3D Printer Tools Expedite Your Workflow, 1-Year Warranty】Designed and Selected by a 15-Year 3D print enthusiasts team, this kit includes all essential tools. We have MK8 Brass Nozzles x 2, Nozzles Cleaning Needles × 5, Brushes × 2, Small Multifunctional Wrench x 1, 45# Steel Removal Scraper x 1, Razor Spatula x 1 plus Blades x 11, Files x 5, Engraving Knife x 1 plus Blades x 6, Tweezers x 2, Wire Cutter x 1, ensuring a successful 3D model-building experience. Pro tools, better price.
- 【Nozzle Cleaning & Replacing One-Station Solution】To avoid filament inconsistent extrusion caused by a clogged nozzle, we prepare 5 different types of cleaning needles, (0.2mm, 0.25mm, 0.3mm, 0.35mm, 0.4mm). Moreover, 2 EXTRA Premium 3D Printer MK8 Brass Nozzles (0.2mm, 0.4mm) suitable for most 1.75mm PLA/ABS filament 3D printers. In addition, 2 types Metal and Nylon cleaning brushes, tweezers are added for precision cleaning.
- 【2 Types of Removal Scrapers for Flawless Prints】To remove different-sized prints without damaging the print bed, the kit includes 2 types of removal scrapers. One scraper features a Heavy Duty Stainless Steel Blade for maximum leverage and fast removal, perfect for medium to large models like 3D printed dragons, ideal for PETG, ABS, PLA+. The smaller scraper with 10 extra-thin flat blades offers pinpoint accuracy, making it perfect for removing small models with precision like 3D printed toys.
- 【5 Shapes of Metal Files Catered to A Wide Range of Tasks】They are flat steel file, flat warding steel file, square steel file, triangular steel file, round steel file, and half-round steel file, for 3D objects Polishing and Processing such as filing, deburring, shaping, and smoothing etc. Worth mentioning, our metal files are made from high-hardness carbon steel and feature ergonomic handles for extended use.
- 【3D Printer Accessories Gift Must-Have】Black canvas storage bag with tool holder for easy finding, organizing, storing and transporting. The storage box provides ultimate protection to keep all 3D printer tools in good condition from dust, debris and moisture, ensuring all tools stay sharp and in good condition, ready for your next 3D printing task. Your Satisfaction, Our Commitment: All products are covered by a 1-year warranty, and all questions will be answered within 12 hours.
A MeshPart has two related but separate forms of geometry:
- Visual geometry: the triangles players see, together with textures, PBR maps, level of detail, and double-sided rendering.
- Physical geometry: the collision representation used by physics, raycasts, touch detection, and spatial queries.
Those representations do not have to match. A highly detailed tree, rock, building, or vehicle body may look complex while using a simple collision model. Conversely, choosing high-fidelity collision for every decorative object can waste physics memory and processing time.
MeshPart versus Part, SpecialMesh, Model, and Union
| Object | Geometry source | Is the custom geometry itself physical? | Collision behavior |
|---|---|---|---|
Part |
Roblox primitive such as a block, sphere, cylinder, wedge, or corner wedge | Yes | Primitive collision |
SpecialMesh inside a Part |
Uploaded mesh or built-in shape | No; the parent Part remains the physical object | Uses the parent Part’s collision, not the displayed mesh |
MeshPart |
Uploaded or generated custom mesh | Yes | Uses the MeshPart’s selected collision fidelity |
Model |
Container for parts and other instances | No | Its child BaseParts provide physics |
PartOperation or Union |
Roblox solid-modeling result | Yes | Uses PartOperation collision behavior |
A SpecialMesh remains useful when you deliberately want a custom visual shape with a separate, simple collision volume. For example, a decorative tree can display a mesh inside a transparent or simple Part while the Part supplies a predictable box-like hitbox. Choose a MeshPart when the custom mesh should be the physical object itself.
Prepare a mesh before importing it
Build and export the model from Blender, Maya, or another supported digital content creation tool. Studio can import .fbx, .obj, and .gltf files through the current Importer. FBX and glTF provide the broadest support for multiple mesh objects, hierarchies, basic and PBR textures, cage meshes, rigs, avatar components, animation data, and vertex colors. OBJ supports ordinary mesh import but has more limited support for complex model data. The current Importer documentation lists the supported workflows.
Geometry requirements for ordinary meshes
For a normal, non-avatar mesh, Roblox’s current general specifications include:
- No more than 20,000 triangles per individual mesh.
- Closed, watertight geometry without exposed holes.
- Nonzero volume. Avoid infinitely thin surfaces and zero-thickness geometry for ordinary physical meshes.
- Correct normals and consistent surface orientation.
- Quads where practical; do not rely on complex N-gons that may triangulate unpredictably during export.
- A usable UV layout if the mesh will use a color texture or PBR maps.
These are general mesh requirements, not a universal avatar budget. The general modeling specifications and texture specifications should be checked alongside the requirements for the specific asset type.
Avatar and accessory budgets are different
Avatar bodies, rigid accessories, and layered accessories have separate publishing requirements and stricter triangle budgets. The current documented examples include:
- Avatar body total: 10,742 triangles.
- Dynamic head: 4,000 triangles.
- Torso: 1,750 triangles.
- Each arm and leg grouping: 1,248 triangles.
- Rigid accessories: 4,000 triangles.
- Layered accessories: 4,000 triangles.
These limits apply to the relevant avatar and accessory publishing workflows, not automatically to every environmental MeshPart in an experience. Consult the current character body, rigid accessory, and layered accessory specifications before exporting avatar assets.
Apply transforms, scale, pivots, and UVs deliberately
Before export, inspect the model’s scale, orientation, origin, pivot, normals, and UVs. In Studio, the Importer’s Scale Unit setting controls how the source application’s units are interpreted; its default is Studs. If an imported prop is microscopic, enormous, rotated incorrectly, or offset from its expected position, check the source transforms and this setting first.
Use a UV layout for each mesh component that will be textured. Roblox’s texture documentation specifies a single UV set for each component and documents UV coordinates within the 0:1 space. UV unwrapping, texture painting, and normal-map preparation are normally completed in Blender, Maya, or another external tool rather than in Studio.
Import a MeshPart into Roblox Studio
- Export the mesh from Blender, Maya, or another supported application as
.fbx,.obj, or.gltf. - Open Roblox Studio and select File → Import.
- Choose the 3D file and wait for Studio’s preview.
- Inspect the preview, hierarchy, materials, scale, and any warnings or errors.
- Adjust the Importer settings for the intended result.
- Click Import.
- If appropriate, upload the asset to Roblox and add it to the Workspace.
The current Studio Importer provides the following important options:
| Setting | What it does | When to use it |
|---|---|---|
| Import Only As Model | Imports a multi-object file as one Model asset. It is enabled by default. | Keep enabled when the file contains a hierarchy, multiple components, a rig, or an asset that should remain grouped. |
| Upload to Roblox | Uploads the imported asset and adds it to the creator’s inventory or asset workflow. | Enable when the asset needs to be referenced or distributed through Roblox’s cloud asset system. |
| Add to Workspace | Places the imported result in the current place. | Useful for immediate testing and positioning. |
| Import as Package | Creates a reusable, updateable package workflow. | Useful for assets used in multiple places or maintained over time. |
| Anchored | Anchors imported MeshParts. | Enable for static scenery. It is disabled by default and is disabled for meshes with rig data or avatars. |
| Set Pivot to Scene Origin | Places the imported pivot at the scene origin. | Useful when the source scene origin is the desired placement reference; it is enabled by default. |
| Use Imported Pivot | Uses the pivot defined on the selected source object. | Use when the source pivot is deliberately set for rotation, placement, or animation. |
| Merge Meshes | Combines multiple MeshParts into one MeshPart. | Useful for static geometry, but not when pieces need independent movement, collision, animation, or constraints. |
| Scale Unit | Controls how source units are interpreted by Studio. | Adjust it when the imported object’s size is wrong. |
| Make Double Sided | Renders both sides of polygons. | Useful for leaves, hair cards, cloth, and other intentionally thin surfaces, but more performance-intensive. |
Do not merge a vehicle’s doors, wheels, turret, suspension, or other independently moving pieces merely to reduce the number of objects. Merge static sections only when a single render and collision object will make the asset easier to manage.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Importer versus Asset Manager
Use the modern Importer for complex 3D assets containing rigging, skinning, animation, accessories, facial animation, or cage meshes. The legacy or bulk Asset Manager workflow can import ordinary FBX and OBJ meshes, but it does not support the full complex rigged, skinned, animated, accessory, or facial-animation workflows.
Rank #2
- 【Upgraded 68-in-1 3D Printer Tools Kit, 1-Year Warranty】Designed by a Team of 15-Year 3D Printing Enthusiasts, the kit includes all essential tools. From wire cutters to needle-nose pliers, it cuts and trims PLA and other filaments precisely and fast. From high-quality hand drill with 10 drill bits to 5 types of metal files, your 3D printing range expands to a wide variety of materials. Upgraded durable 900D Oxford fabric with orange tags for quick and easy organization.
- 【Scrapers for Flawless Removal 3D Printed Models】One Stainless Steel removal scraper features a 15-degree angled (0.5mm thickness, 1.57-inch length), providing optimal leverage and precision, perfect for models like 3D printed dragon eggs and ideal for PETG, ABS, PLA+. The smaller orange scraper, with 10 extra-thin flat blades, offers pinpoint accuracy, making it ideal for removing small models with precision, such as 3D printed toys.
- 【1 Deburring Tool & 10 HSS BS1010 Swivel Blades】Our model polishing tools include 3 engraving knives with 9 types of blades, 5 different metal files and a 360° swivel-head deburring tool. This deburring tool conforms to uneven shapes, surfaces, edges, and ideal for PETG, ABS, PLA+ 3D printed models. Additionally, we add 10 EXTRA razor-sharp BS1010 blades made of tempered high-speed steel. HSS is known for being stronger and lasting 80% longer than regular steel.
- 【Nozzle Cleaning Needles, Brushes & Tweezers】To avoid inconsistent filament extrusion caused by a clogged nozzle, we provide 5 types of cleaning needles, (0.2mm, 0.25mm, 0.3mm, 0.35mm, 0.4mm), suitable for most 1.75mm PLA/ABS filament 3D printers. 3 Different cleaning brushes — made of Brass, Stainless Steel and Nylon for different cleaning conditions. Bent, Straight, Flat-Tip tweezers are added for precision cleaning.
- 【3D Printer Accessories Gifts Must-Have】4 cut-resistant finger cots to protect your fingers while working. A black sleeve case makes it easy to find, organize, store, and transport your tools. It keeps all 3D printer tools in excellent condition by protecting them from dust, debris, and moisture —ensuring all tools stay sharp and ready for your next 3D printed task. Your Satisfaction, Our Promise: All products come with 1-YEAR warranty and all questions will be answered within 12 hours.
Why one imported file can become a Model with several objects
An imported file is not guaranteed to become one MeshPart. A multi-object source file may become a Model containing several MeshParts, and the Importer can create additional Roblox instances when it recognizes special source data.
Examples include:
- Source names ending in
_AttbecomeAttachmentinstances. - Names ending in
_OuterCagebecomeWrapTargetinstances. - Matching
_InnerCageand_OuterCageobjects becomeWrapLayerinstances. - Supported facial-animation data can become
FaceControls. - Rigged meshes can contain
Boneinstances. - Imported materials and PBR data can create or use
SurfaceAppearance.
This hierarchy is normally evidence that Studio recognized the source asset correctly, not that the import failed. Use Merge Meshes only when the separate components do not need separate motion, constraints, animation, or collision behavior.
Add a basic texture or PBR material
Basic color texture
A MeshPart can use a conventional color texture through the current TextureContent property. TextureID remains the familiar ContentId alias used in many existing projects. Similarly, MeshContent is the current mesh-content property and MeshId is its older ContentId alias. The MeshPart API reference documents both terminology sets.
The mesh needs usable UVs. Studio does not replace the normal external workflow of UV unwrapping and painting. If the UVs are missing, badly scaled, outside the expected layout, or associated with the wrong texture, the MeshPart may appear white, incorrectly patterned, or untextured.
PBR through SurfaceAppearance
For physically based rendering, add a SurfaceAppearance child to the MeshPart and assign the appropriate maps. Roblox documents map types including:
- Color or albedo: the base visible color.
- Metalness: how metallic the surface behaves.
- Normal: small-scale lighting detail without adding geometry.
- Roughness: the spread or sharpness of reflections.
- Emissive mask: areas that contribute glow or emission.
SurfaceAppearance changes the rendered surface appearance; it does not change the mesh geometry or its collision shape. A MaterialVariant can provide PBR appearance and physical material properties.
If a MeshPart has both a SurfaceAppearance child and a MaterialVariant, Studio applies the SurfaceAppearance texture-map settings. The MaterialVariant may still provide other settings, such as physical material behavior. Do not assume that assigning a MaterialVariant will replace every map supplied by SurfaceAppearance. The interaction is documented in the Meshes guide.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Texture resolution: avoid one universal limit
Roblox’s current documentation distinguishes several different concepts that are often incorrectly reduced to one texture-size claim:
- The general texture specification says uploaded textures can reach 4096 × 4096.
- The same documentation describes a 1024 × 1024 maximum texture-map space in its UV/PBR discussion and recommends 256, 512, or 1024 maps depending on the asset’s size and viewing distance.
- Avatar workflows commonly use 1024 × 1024 as the practical supported albedo size.
Therefore, distinguish platform upload resolution, the support and guidance for a particular PBR workflow, avatar-specific requirements, and the production budget appropriate for the target device. A larger map is not automatically better: a 1024 × 1024 image contains four times as many pixels as a 512 × 512 image, increasing texture-memory use even when the compressed file is relatively small. Check the current texture specifications for the Studio release and asset category you are targeting.
The Meshes overview describes up to four PBR textures, while the current texture specification and AssetService documentation also describe an EmissiveMask. Treat the exact hard map count as documentation-sensitive and verify it against the current Studio release instead of promising one universal number.
Configure collision fidelity
MeshPart.CollisionFidelity selects the physical representation used for collision. It does not alter the rendered triangles. The four current options are:
| Collision fidelity | Behavior | Good starting point |
|---|---|---|
Box |
Uses a bounding box. | Small decorations, foliage, clutter, distant scenery, or simple blockers. |
Hull |
Uses one convex hull. | Roughly convex props without important deep cavities. |
Default |
Uses an approximate concave representation. | General-purpose complex objects that need useful interaction. |
PreciseConvexDecomposition |
Uses the most accurate available approximation, assembled from convex pieces. | Gameplay-critical complex shapes where the extra physics cost is justified. |
PreciseConvexDecomposition is not a literal triangle-for-triangle copy of the rendered mesh. It is still an approximation made from convex geometry. The CollisionFidelity enum and Meshes documentation describe the current choices and trade-offs.
How to choose collision in practice
- Use Box for a decorative rock, foliage cluster, background prop, or object that players do not need to touch accurately.
- Use Hull for a simple convex crate, vehicle body, or rounded prop.
- Use Default for ordinary complex props where concavity matters but perfect detail does not.
- Use PreciseConvexDecomposition only when inaccurate collision causes a meaningful gameplay problem.
- Use separate invisible collision Parts for large architecture, terrain-like assets, thin decorative elements, or highly detailed models that need a carefully designed walkable surface.
For a large building, for example, it is often better to use the visible MeshPart for rendering and several simple invisible Parts for floors, walls, stairs, and doorways. This can be more predictable and cheaper than forcing one detailed MeshPart to handle every collision surface.
Rank #3
- 【Professional Versatility & Wide Application】Disassemble, assemble, connect, grind, cut, cleaning, scrape, shovel.This 3D Printer Tool Wrap Kit Pro contains the tools you need for 3D printing, such as screwdriver and wrench tools, model machining tools, nozzle cleaning tools and other machining tools. Perfect for 3D printing beginners and professionals.
- 【Model Handling & Processing Tools】Chamfer knife with 360° rotatable blade, for precisely refining edges of artwork. Engraving knife and files for easy handling of different locations on the model surface, edges, corners, etc. Additionally, the nipper can help remove excess material, burrs, and model supports. Metal scrapers can separate the model from the printing platform.
- 【3D Printer Tool Kit Package Includes】Multifunctional Wrench, Open -ended Wrench, Metal Spatula, Pointed-Nose Pliers, Nipper, Engraving Knife (5PCS Blades and 1 Handle), 1.5 mm Nozzle Cleaner, Metal Cleaning Brush, Socket Wrench, Tubing Cutter, Straight Tweezers, Bent Tweezers, Suction Cup, Magnetic Mat, Plastic Blade, Deburring Tool Handle, Screwdriver Handle, 100mm Long Metal Extension Rod, 6mm Socket and 10*0.38mm Needles, 3*Files, 2*Deburring Blade.
- 【Various-sized Nozzle Cleaner】3d printing tool kit for quick cleaning of residual filaments. 150mm φ1.5mm needle allows cleaning residual filaments from various nozzles and extruders. 10pcs 0.38mm nozzle cleaners allow quickly cleaning residual filaments from nozzles.
- 【Multi-functional Screwdriver Set】Complete Specifications, Wide Applicability. 34pcs chromium-vanadium steel nickel-plated screwdriver bits, for addressing challenges with ease. Universal swivel hose, for reaching every nook and cranny.
View the actual collision shape in Studio
In the 3D viewport, open the Visualization Options widget in the upper-right corner and enable Collision fidelity. This lets you see the physical representation rather than guessing from the visible model.
The current API reference marks CollisionFidelity as not replicated and not directly readable or manipulable by ordinary runtime scripts. Set it in Studio, or choose the desired fidelity when calling AssetService:CreateMeshPartAsync(). Do not build a normal server script around changing this property dynamically.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallRendering fidelity and level of detail
RenderFidelity controls visual detail and level-of-detail selection. It is separate from collision fidelity:
| Render fidelity | Behavior | Typical use |
|---|---|---|
Automatic |
Chooses detail based on camera distance. | Best default for most assets. |
Precise |
Keeps the highest visual fidelity regardless of distance. | Silhouettes or hero assets that must remain exact at a distance. |
Performance |
Allows more aggressive simplification to preserve performance. | Background scenery and objects where some visual degradation is acceptable. |
The documented Automatic distance bands are:
- Less than 250 studs: highest detail.
- 250–500 studs: medium detail.
- 500 studs or more: lowest detail.
Setting RenderFidelity to Precise does not improve collision, and choosing PreciseConvexDecomposition does not preserve more visible triangles. They solve different problems.
The current RenderFidelity reference marks this property as not replicated and plugin-security controlled. Avoid promising that a normal server script can freely change the visual setting for every client.
Anchoring, physics, and physical properties
Because a MeshPart is a BasePart, normal Roblox physics rules apply:
Free tools Windows power users keep installed
One-click scans. No signup required.
Anchored = trueprevents physics from moving it.CanCollidecontrols physical collision.CanTouchcontrols touch-event detection.CanQuerycontrols participation in raycasts and spatial queries.Masslesscan prevent a welded decorative MeshPart from contributing mass, subject to the assembly-root rules.CustomPhysicalPropertiescan set density, friction, elasticity, and friction weight.Materialaffects appearance and default physical properties.
Imported meshes are not automatically anchored unless the Importer’s anchoring option is enabled. For static scenery, set Anchored to true in the Importer or in Studio. For a wheel, weapon, vehicle component, or animated prop, leave it unanchored only when it is intentionally welded, constrained, or otherwise connected to an assembly.
These properties are independent. For example, a decorative MeshPart can be non-collidable but still trigger touch events if CanTouch remains enabled. If it should not interfere with physics, touch detection, or raycasts, disable the systems it does not need.
Performance: make MeshParts efficient
MeshPart performance depends on much more than triangle count. Relevant costs include visible object and draw-call counts, unique mesh and texture assets, total triangles, texture memory, transparency overdraw, shadow casting, collision complexity, and the number of MeshParts that frequently change.
Reuse asset IDs
Roblox can instance identical meshes efficiently when objects share the same mesh content and compatible texture and material properties. Repeatedly importing the same source mesh can create separate asset IDs and prevent effective reuse.
Recommended Free Tools
A practical workflow is:
- Import each unique mesh once.
- Upload or retain the resulting asset.
- Duplicate the MeshPart in Studio for repeated props.
- Reuse the same mesh and texture assets whenever the appearance is identical.
- Use packages when an asset needs to be reused and updated across places.
- Avoid importing a repeat-heavy scene in a way that creates many independent copies of what should be one reusable asset.
Multiple MeshParts are not automatically inefficient. Wheels, doors, limbs, turrets, rig components, and objects with separate collision behavior often need to remain separate. The goal is purposeful hierarchy and asset reuse, not collapsing every model into one object.
Control texture and geometry costs
- Use the smallest texture resolution that preserves the intended on-screen detail.
- Share texture maps where practical instead of creating many nearly identical textures.
- Use
AutomaticorPerformancerender fidelity for ordinary and distant scenery. - Avoid
PreciseConvexDecompositionon large numbers of decorative objects. - Use simple custom collision Parts for large buildings, terrain pieces, and complex environment assets.
- Reduce unnecessary transparency and shadow casting.
- Profile object density, texture memory, draw calls, and frame time rather than optimizing triangles alone.
- Consider streaming for large worlds so clients do not need every distant asset loaded at once.
Roblox’s performance guidance covers instancing, draw calls, texture memory, collision memory, level of detail, and streaming. A low-poly mesh can still perform poorly if it is duplicated under many unique content IDs or uses expensive textures and collision. A moderately detailed repeated mesh can perform well when its assets are reused and its collision is simple.
Disable systems a decorative mesh does not need
local meshPart = workspace:WaitForChild('DecorativeMeshPart')
meshPart.Anchored = true
meshPart.CanCollide = false
meshPart.CanTouch = false
meshPart.CanQuery = false
Use this pattern for scenery only when the object genuinely should not block players, fire touch events, or be detected by raycasts. Do not disable CanQuery on a mesh that gameplay needs to find with raycasts, and do not disable CanTouch if touch events are part of its design.
Rank #4
- 【Complete 3D Printing Tool Kit for Daily Maker Projects】Carefully selected by makers with over 15 years of 3D printing experience, this 56PCS 3D printer tools kit includes the essential 3D printing accessories makers actually use every day — wire cutters, needle-nose pliers, deburring tool, hand drill, files, tweezers, scrapers, nozzle cleaning needles, and brushes. Designed specifically for support removal, nozzle cleaning, filament trimming, print cleanup, and model finishing on PLA, PETG, ABS, TPU, and resin prints, this kit focuses on the tools truly needed for smoother and more efficient daily printing projects.
- 【Easier Support Removal & Safer Print Detachment】Remove stubborn prints and supports without damaging your build plate or PEI sheet. The stainless steel scraper provides strong leverage for larger models, while the plastic scraper is ideal for delicate prints like articulated dragons, miniatures, and print-in-place toys. Great for daily post-processing and smoother print removal.
- 【Smooth Rough Edges & Improve Print Finishing】The 360° swivel-head deburring tool easily follows curved edges, holes, and uneven surfaces to clean up stringing, rough corners, and leftover supports. Includes durable HSS blades that stay sharp longer for repeated PLA and PETG model cleanup, helping your prints look cleaner and more professional.
- 【Nozzle Cleaning Tools for Better Extrusion】Clogged nozzles and filament residue can ruin long prints. This kit includes flexible nozzle cleaning needles, brass and stainless steel brushes, plus 3 ESD precision tweezers (Bent, Straight, Flat-Tip) to help maintain cleaner hotends and more consistent extrusion. Compatible with most 1.75mm FDM printers including Bambu Lab, Ender 3, Anycubic Kobra, Neptune, and more.
- 【Exclusive a .3MF Organized Storage Case File , 1-Year Warranty & Maker-Friendly Support】To keep your 3D printer accessories organized and easy to carry with a included storage case. We also designed a custom 3D-printable storage box specifically for this tool set, allowing makers to print and build their own organizer using their 3D printer. Backed by a 1-year warranty and responsive customer support for added peace of mind.
Use MeshParts in rigs, vehicles, tools, and avatars
Rigid assemblies
Several MeshParts can form one object through welds, constraints, or other joints. This is appropriate for vehicles, tools, weapons, doors, turrets, mechanical props, and any model whose pieces move independently. Each component can have separate collision, mass, visibility, and interaction settings.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsA single merged MeshPart is suitable for static geometry or a prop that always moves as one rigid object. It is a poor choice when wheels need to rotate, a door needs to open, or a component needs an independent constraint.
Rigged and skinned meshes
A rigged MeshPart can contain an internal skeleton. Roblox imports that skeleton as Bone instances, and skinning weights determine which vertices deform with each bone. This enables organic motion instead of rotating the entire mesh around one pivot. The current rigging and skinning documentation explains the workflow.
Bone animation changes the rendered surface, but it does not automatically create an equally deformed collision shape. A character’s or creature’s physical interaction therefore remains a separate design problem. You may need simple collision Parts, body-part collision, or another gameplay hitbox system rather than relying on the animated visible surface.
Avatar bodies, R6/R15 character workflows, custom rigs, and Marketplace accessories add requirements for bones, skinning, cages, naming, animation, and triangle budgets. Do not apply ordinary environmental-mesh limits and expectations to every avatar asset.
Script MeshParts with current Luau APIs
Configure an existing MeshPart
Ordinary BasePart properties can be changed normally in a script:
local meshPart = workspace:WaitForChild('CrateMesh')
meshPart.Name = 'GameplayCrate'
meshPart.Anchored = true
meshPart.CanCollide = true
meshPart.CanTouch = true
meshPart.CanQuery = true
meshPart.Massless = false
Collision and render fidelity should generally be configured in Studio or during MeshPart creation, not treated as ordinary runtime visual toggles.
Create a MeshPart from an existing mesh asset
The current runtime API is AssetService:CreateMeshPartAsync(). It creates a new MeshPart from mesh content and can receive collision, render, and fluid-fidelity options. If omitted, the documented defaults are Default, Automatic, and Automatic, respectively.
local AssetService = game:GetService('AssetService')
local ok, meshPartOrError = pcall(function()
return AssetService:CreateMeshPartAsync(
Content.fromUri('rbxassetid://MESH_ASSET_ID'),
{
CollisionFidelity = Enum.CollisionFidelity.Hull,
RenderFidelity = Enum.RenderFidelity.Automatic,
FluidFidelity = Enum.FluidFidelity.Automatic,
}
)
end)
if not ok then
warn('MeshPart creation failed:', meshPartOrError)
return
end
local meshPart = meshPartOrError
meshPart.Name = 'RuntimeMesh'
meshPart.Anchored = true
meshPart.Parent = workspace
The method throws when creation fails, so production code should use pcall() and handle invalid content, unavailable assets, permission failures, or service errors. The asset also needs to be available to the experience under Roblox’s asset-permission rules.
Replace an existing MeshPart’s mesh
Do not teach direct runtime assignment to MeshId as the general replacement workflow. Changing the mesh can require the engine to update collision and related data together with the visual content.
For an existing target MeshPart, use a source MeshPart and apply it:
local targetMeshPart = workspace:WaitForChild('TargetMesh')
local sourceMeshPart = game.ServerStorage:WaitForChild('UpdatedMesh')
targetMeshPart:ApplyMesh(sourceMeshPart)
ApplyMesh() copies the source mesh content, texture content, render fidelity, collision fidelity and internal collision geometry, fluid fidelity, and mesh size. This keeps visual and physical mesh data synchronized. It does not replace unrelated instance state such as the target’s name, transform, anchoring, parent, or arbitrary children, so configure those separately as needed. See the ApplyMesh API reference.
When to use EditableMesh
EditableMesh is a separate dynamic-generation workflow for procedural geometry, in-game modeling, runtime deformation, mesh-editing tools, or meshes created from player input. Visual changes can appear immediately on linked MeshParts, but collision and fluid geometry should be recalculated by creating a MeshPart from the edited content and applying it when the conceptual edit is complete.
Best Value
- 🧰【DESIGNED BY VETERAN MAKERS:142Pcs 3D Printer Tools Kit 】 Tired of flimsy tools ruining your 48-hour prints? Designed by a team of 3D printing veterans, this 142 pcs master kit is the ultimate companion for advanced machines like Bambu Lab, K1/Ender 3, Flashforge and Anycubic Kobra, etc. Housed in a custom 4-layer slotted case, every tool—from the cordless rotary tool to the PTFE anti-stick nano-coating—has its exact place. Stop buying scattered tools and upgrade your entire workflow instantly.
- 🛡️【NOZZLE ANTI-STICK SOLUTION: PTFE Nano-Coating & Nozzle Cleaning Kit】 Stop molten PLA, PETG, TPU, ABS, and all filaments from engulfing your hotend. Brush our 10ml water-based PTFE cold onto the nozzle. At 200°C+, it bonds to metal, forming a dry nano-barrier that physically repels plastic to prevent burnt blobs. Clear mid-print clogs with 10 precision needles(0.2-0.4mm). Safely swap to our 0.2/0.4mm brass nozzles using the dual-tool combo (ratchet+heater block wrench). Secure warp-free first layers with the solid glue stick.
- ⚡ 【16,000 RPM CORDLESS 3-IN-1 ROTARY TOOL & 300W HEAT GUN】 Why sand by hand? Our cordless 3-in-1 rotary tool (16,000 RPM) effortlessly erases stubborn layer lines on curved mecha armor and anime figures, precisely cuts dense supports, and drills holes. Smoothly sand Resin, PETG, and ABS in just 5 mins. Combine with the 300W mini heat gun to vanish PLA stringing in seconds, soften printed lion manes in 1s, or heat thick PETG parts for seamless brass insert & magnet installation.
- 💎 【0.1MM SURGICAL MICRO-DETAILING & N52 MAGNETIC ASSEMBLY】 Banish "elephant foot" & tolerance hell. Smoothly shave harsh brims off rigid PETG gears with the 62HRC HSS deburring tool. Perfect tight dovetail joints & 5mm pegs using 5 T12 steel needle files. Surgically extract 0.1mm micro-supports from RPG miniatures with the zero-wobble SK5 craft knife. Ditch messy glue: embed 24 N52 magnets(3-6mm) into mecha weapons or Cosplay props for a satisfying snap-fit assembly.
- 🚀 【DAMAGE-FREE MODEL HARVESTING & PERFECT GIFT FOR 3D MAKERS】 Protect your expensive PEI build plates and delicate models. Our 3-tier scraper matrix includes a heavy-duty stainless spatula to evenly pop off massive cosplay armor without warping. For intricate articulated toys, the ultra-thin plastic scraper (with 10 extra blades) ensures a buttery-smooth release. This complete toolkit is the ultimate must-have gift for any 3D printing enthusiast! Backed by a 1-year warranty and our California-based team, always ready to serve!
Do not recalculate collision after every individual vertex operation. Batch a group of edits, then update the physical representation. EditableMesh also has memory, permission, and capability considerations, so it is not simply a replacement for importing ordinary Studio assets. Consult the current EditableMesh documentation.
Reimport updated source files safely
Reimport is the most useful workflow when an asset is still being modeled. After importing a model through Studio:
- Keep the imported model and its reimport information.
- Edit the source file in Blender, Maya, or the original DCC application.
- Return to Studio and select the imported Model.
- Right-click it and choose Reimport → Reimport.
- Alternatively, select the object and use Alt + Shift + R.
Studio matches source objects using their source-file paths and mesh names. Reimport updates mesh content and transform data while preserving Roblox-specific settings such as CollisionFidelity and RenderFidelity. If the incoming mesh has no texture, the existing MeshPart texture is retained rather than automatically cleared. These behaviors are documented in the Reimport guide.
Why reimport creates duplicates or leaves old parts
- Renaming a mesh externally can make Studio treat it as a new MeshPart.
- Changing the source hierarchy or mesh path can prevent matching.
- Removing a mesh from the source file does not automatically delete the existing Studio MeshPart.
- Nonunique names can cause incorrect matching.
- Different computers may have different local source-file paths because file paths are not stored in the place file.
- Reimport does not automatically repair a hierarchy that was deliberately changed in Studio.
Use stable, unique names and preserve the external hierarchy when the asset will be iterated frequently. If a source object must be renamed, inspect the resulting hierarchy rather than assuming the old instance was updated.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →MeshPart troubleshooting
The MeshPart is invisible
- Confirm that the mesh content exists and that
MeshContentor itsMeshIdalias references a valid asset. - Check that the experience has permission to use the asset and that the asset passed moderation.
- Make sure the MeshPart is not fully transparent or hidden inside another object.
- Check the imported scale, pivot, and position. A mesh can be technically present but too small, too large, or far from the expected location.
- Check orientation and normals. One-sided geometry may disappear when viewed from its back.
- Enable
DoubleSidedonly when both polygon sides should render, such as for leaves, hair cards, or cloth. It has a performance cost. - Check client asset loading and render-fidelity behavior.
- Reimport if the source mesh or texture path changed.
For a source model that is intentionally made from thin cards, double-sided rendering may be appropriate. For a solid object that vanishes from one direction, incorrect normals or winding are more likely to be the real problem.
The texture is missing or looks wrong
Check the following:
- The mesh has a UV map.
- UVs are laid out in the expected 0:1 space.
- The texture asset ID or texture content is valid.
- The texture file was included and uploaded.
- PBR maps are assigned to the correct
SurfaceAppearanceproperties. - The map format and naming match the current texture workflow.
- A SurfaceAppearance is not supplying different texture maps from the basic texture you expected to see.
- The asset is permitted and has completed moderation.
A material color cannot repair missing UVs. Fix the UV layout in the modeling application, then re-export or reimport.
The mesh is the wrong size or orientation
Check the source application’s transforms, the Importer’s Scale Unit, and the pivot options. Set Pivot to Scene Origin and Use Imported Pivot produce different placement behavior. Apply deliberate source transforms and reimport rather than repeatedly compensating with arbitrary Studio scaling.
The MeshPart falls out of the map
It is probably unanchored. Imported MeshParts are not necessarily anchored. Set Anchored = true for static scenery, or intentionally weld or constrain the object into an assembly for physics-driven behavior.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesPlayers walk on invisible bumps or hit an invisible wall
The collision model differs from the visible triangles. First check CanCollide and then enable Collision fidelity in the Studio Visualization Options widget. Choose a more appropriate fidelity:
- Use Box for decoration that should not have detailed collision.
- Use Hull for a roughly convex object.
- Use Default for ordinary complex interaction.
- Use PreciseConvexDecomposition only when the shape is gameplay-critical.
- Replace the MeshPart collision with separate simple invisible Parts when the asset is large or the walkable surface needs deliberate control.
Community reports often describe invisible barriers as a CollisionFidelity issue, but the authoritative solution is to inspect the generated collision representation and design the physical geometry intentionally. A different render fidelity will not fix a collision problem.
The character walks through the mesh
Check CanCollide, the selected collision representation, and whether the mesh is using a collision group or custom collision setup elsewhere in the experience. Then inspect the collision visualization. A very thin visual surface may also need a separate, thicker gameplay collision Part.
The mesh works in Studio but not in the published experience
Check the asset’s ownership, sharing or permission settings, moderation state, and whether the experience is authorized to use a restricted asset. Imported assets are cloud-based and private by default unless shared or distributed through the appropriate Creator Store or permission workflow. An asset can work for its creator in Studio while remaining unavailable to other players because it is private, pending moderation, or rejected. Roblox’s asset documentation covers permissions, IDs, moderation, and publishing.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Reimport creates a duplicate MeshPart
Reimport is name-and-path based. Preserve stable source mesh names and hierarchy paths. A renamed source object, changed hierarchy, nonunique name, or different source path can cause Studio to create a new MeshPart instead of updating the existing one.
The game performs poorly despite a low triangle count
Investigate more than geometry:
- Many unique MeshPart or texture asset IDs.
- Repeated imports instead of duplicated instances.
- Too many visible objects and draw calls.
- High-resolution textures consuming memory.
- Precise collision on many objects.
- Excessive shadows or transparent surfaces.
- Too many MeshParts in a model that frequently changes.
- High object density in the camera view.
Use Roblox performance tools and test on the lower-end devices you intend to support. Triangle count is useful, but it is not a complete performance budget.
Choosing the right object for the job
| Need | Best starting choice | Reason |
|---|---|---|
| A block, sphere, cylinder, wedge, or simple invisible blocker | Primitive Part |
Simple, predictable geometry and physics. |
| A custom visual shape with deliberately simple collision | SpecialMesh inside a Part |
The visual mesh and physical Part remain separate. |
| A custom shape that should itself be a physical object | MeshPart |
It is a BasePart with mesh-specific rendering and collision controls. |
| A static detailed prop | One MeshPart or a purposeful group of MeshParts | Merge only when the pieces do not need separate movement or collision. |
| A vehicle, tool, weapon, door, turret, or articulated prop | Several MeshParts connected by welds or constraints | Components need independent motion, mass, or collision. |
| A detailed building or terrain-like asset | Visible MeshParts plus a separate simplified collision model | More control and often less physics cost than highly precise collision everywhere. |
| Procedural or player-generated geometry | EditableMesh and generated MeshParts |
Supports dynamic creation and editing rather than only imported source files. |
MeshPart production checklist
- Choose
Part,SpecialMesh, MeshPart, or multiple MeshParts based on the required visual and physical behavior. - Export a supported
.fbx,.obj, or.gltffile. - Keep ordinary individual meshes within the current 20,000-triangle general limit.
- Use the separate avatar or accessory budgets when publishing avatar assets.
- Check watertight geometry, nonzero volume, normals, orientation, and triangulation.
- Prepare UVs and textures externally; verify the current texture and PBR requirements.
- Check scale, pivots, and orientation in the Importer preview.
- Use Merge Meshes only for geometry that does not need independent movement, collision, animation, or constraints.
- Anchor static scenery or deliberately assemble moving parts with welds and constraints.
- Choose CollisionFidelity from the gameplay requirement, not from the visual triangle count.
- Choose RenderFidelity separately from collision.
- Disable unnecessary collision, touch, and query behavior on decorative meshes.
- Reuse mesh and texture asset IDs by duplicating imported instances rather than repeatedly importing identical sources.
- Keep stable source names and hierarchy paths for reliable reimport.
- Test collision visualization, asset loading, moderation, permissions, and performance in a published build.
- Test on lower-end target hardware before adding more geometry, texture resolution, or precise collision.
The Bottom Line
Use a MeshPart when custom geometry needs to behave as a real Roblox physical part. Import it through Studio’s current Importer, prepare its UVs and geometry in a DCC tool, choose visual and collision fidelity independently, reuse asset IDs, and design a separate collision model when the rendered mesh is too detailed or irregular. For runtime changes, use CreateMeshPartAsync(), ApplyMesh(), or EditableMesh rather than relying on direct MeshId replacement.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




