3D Asset Requirements
Build 3D models that load fast and look sharp in the Mimeeq configurator. Learn the supported formats, mesh limits, AO map setup and texture rules.
This document is aimed at professional 3D artists who need to create optimised assets for the Mimeeq Configurator platform. It assumes working knowledge of 3D modelling but provides specific guidance on web optimisation, performance requirements and Mimeeq's technical standards.
Supported file formats
The Mimeeq App currently supports importing 3D models in the following formats:
.glb (preferred format)
.obj
.stl
The table below shows the key features of each format:
File optimisation
✅
⚠️
❌
UV channels
✅ Multiple (2+)
❌ Single only
❌ None
Support imported materials
✅ PBR included
⚠️ External MTL required
❌ No support
Animations
✅ Full support
❌ No support
❌ No support
Web compatibility
✅ Excellent
⚠️ Limited
❌ Poor
Texture support
✅ Full
⚠️ Basic
❌ None
Any model can be exported to these formats through external software or even browser-based converters.
Beyond file extensions: topology matters most
While the Mimeeq App accepts several file formats, the internal structure of your 3D model is what truly determines performance and visual quality in the configurator.
Quad topology: ideal for web configurators
Quad-based models offer significant advantages:
Cleaner, lighter geometry that loads faster
Better real-time performance on websites
Smoother visual appearance
Easier to modify and animate
Superior texture mapping capabilities
Quad models are typically created in professional 3D modelling software:
Blender (.blend)
3ds Max (.max)
Maya (.ma, .mb)
Cinema 4D (.c4d)
CAD models: challenges for web display
CAD models (Computer-Aided Design) are optimised for manufacturing precision rather than visual display:
Extremely detailed and resource-intensive
Slower loading times and reduced performance
Often have problematic texture mapping
Can produce unnatural-looking organic shapes
May display visible artefacts requiring significant clean-up
CAD models typically come from engineering software like:
AutoCAD (.dwg)
SolidWorks (.sldprt)
Inventor (.ipt, .iam)
CATIA (.CATPart, .CATProduct)
Fusion 360 (.f3d)
There are also a few common neutral file formats used for exchanging 3D model data between different CAD systems:
STEP files (.step, .stp)
IGES files (.iges, .igs)
Technical guidelines for 3D modelling
Optimising mesh complexity for performance
Although there's no strict polygon limit to load the model, it's crucial to maintain reasonable complexity in your models. We recommend optimising your configurator scene to keep within the values below:
Total meshes
Number of mesh objects
Keep as low as possible
Active indices
Index count for geometry
<300,000
Active faces
Triangle count
<400,000
Total vertices
Vertex count
<200,000
Polygons
Polygon count
<200,000
Draw calls
Render operations per frame
<500
Total active materials
Unique materials used
<50
Total textures
Texture maps used
Based on material needs
These limits apply to each loaded configuration state. While the total available assets may be significantly larger, the system uses lazy loading and automatically cleans unused meshes and materials as users interact with the configurator.
Modern devices can handle heavy models: laptops up to 2 million polygons and modern phones up to 1 million. There is generally no need for such heavy models, though. Usually, the issue lies in models not being properly optimised rather than hardware limitations.
Surpassing this threshold may lead to several issues:
Significant performance degradation: higher polygon counts require more processing power, impacting rendering speed, especially on lower-end hardware.
Longer loading times: heavier models increase file size and strain loading resources, reducing responsiveness.
Increased crash risk on mobile: mobile memory is more limited, making devices more prone to crashing or freezing under high load.
Best practices
Organise geometry to minimise material switches.
For example, if you have a chair model with multiple wooden parts using the same material, combine them into a single mesh. Don't keep separate meshes for each leg, seat and backrest. This reduces draw calls from 4+ down to 1.
Use instancing for repeated elements
Batch similar meshes together
Avoid unnecessary mesh splits that create additional draw calls
Each draw call requires GPU processing time, so minimising them directly improves rendering performance and overall application responsiveness.
General modelling best practices
We recommend taking a rational approach to your modelling strategy. This is a dynamic field where capabilities continuously evolve and modern devices offer increased processing power, but optimisation remains an important consideration.
Prioritise visible areas: add detail to prominent, visible areas and only apply subdivisions where they enhance visual quality.
Skip hidden elements: do not model elements that would not be visible or are irrelevant (like screw holes).
Go modular: break large models into modular components that can be loaded independently.
Use instances: consider using instances in your model for better optimisation. The Mimeeq app supports instances.
Add a low-poly version: consider developing a low-poly version of the model to optimise for mobile and AR. The Mimeeq app features a high-poly/low-poly matching system that displays the appropriate model across different scenarios.
Keep topology clean: avoid n-gons and triangulated polygons.
Ambient occlusion
Why use ambient occlusion maps
Ambient occlusion (AO) maps add depth and realism to products in 3D configurators. These greyscale texture maps simulate how light interacts with surfaces in close proximity. They create subtle shadows in crevices, corners and areas where objects intersect.
Web browsers typically cannot process ray tracing calculations, which are computationally intensive and would significantly impact performance. AO maps work as pre-calculated shadow overlays applied to 3D models. They create the illusion of shadows without intensive real-time calculations, so you get convincing realism with optimal performance.
Below is a comparison with and without AO maps:




UV channel management for AO maps
Mimeeq supports two separate UV channels in the configurator: one for materials and one for AO maps.
First UV channel: diffuse, normal and other material textures.
Second UV channel: the ambient occlusion map.
This separation lets you apply multiple materials to a single object without compromising ambient occlusion effects.
Mimeeq baking script
Creating AO maps is typically a manual and time-consuming process, especially with numerous configurable items. Each product variation can require hours of work to "bake" these shadow maps properly.
Mimeeq Studio has developed specialised scripts that generate these maps automatically, based on the Blender file structure and naming conventions. This reduces production time while keeping quality consistent across all product configurations.
Our specialised Blender script automatically generates the appropriate UV layouts
The .glb models are exported with both UV sets properly configured
The accompanying CSV file links the .glb model with its corresponding AO .jpg
Our app automatically processes these files, linking them correctly
To prepare your file for Mimeeq scripts, read Blender Setup.
Texture requirements
Textures need the right balance between visual quality and performance. For optimal performance in browser-based configurators:
Resolution: use 512×512 px, 1024×1024 px or 2048×2048 px ratio textures.
Format: use .jpg unless .png is required for specific cases like engraving. .png is often better when a texture has a large number of transparent pixels.
File size: keep individual textures under 1 MB. The smaller, the better, without quality loss. 250 KB for a material texture is usually enough.
Compression: use appropriate compression formats to reduce file size while maintaining visual quality.
Tiling: create seamless textures that tile infinitely without visible seams or breaks.
Mimeeq automatic compression system
When you upload files to Mimeeq's media library, all textures are automatically processed as follows.
Original files
We preserve your original file format (for example, if you upload an 8K texture, we keep it in that format).
8K textures are supported, but not recommended for optimal performance.
Automatic compression
For each uploaded texture, we automatically generate compressed versions at the following resolutions:
4096 px (4K)
2048 px (2K)
1024 px (1K)
512 px
Our compression system uses carefully tested settings that balance file size and visual quality for the best performance.
Default settings
All products default to 1024 px (1K) texture resolution for desktop.
Even if you upload a 4K texture, the system uses the 1K version unless otherwise specified.
Default texture size configuration
Standard
1024 px
512 px
512 px
Original
Original
Modular
1024 px
512 px
512 px
1024 px
Original
Customisable resolution control
You can control texture resolution at multiple levels:
Standard configurators (desktop and mobile separately)
Modular configurators (desktop and mobile separately)
By texture type (material textures, ambient occlusion, shadow textures)
These settings are optimised to give the best balance between visual quality and performance across different devices and usage scenarios.
Additional texture guidelines
Recommended formats: .jpg (preferred), .png when transparency is needed
Target file size: under 1 MB per texture (250 KB is typically sufficient)
Texture dimensions: 512×512 px, 1024×1024 px or 2048×2048 px ratios
Tiling: create seamless textures that tile infinitely
3D asset requirements cheat sheet
File formats quick guide
.glb ✅
.obj ⚠️
CAD files ❌
Key model specifications
Vertices
<200,000
Active faces
<400,000
Draw calls
<500
Active materials
<50
Texture guidelines
Optimal resolutions: desktop 1024×1024 px, mobile 512×512 px
File size: <1 MB (aim for 250 KB)
Format: .jpg preferred
Performance optimisation checklist
Combine meshes with the same materials
Use instancing for repeated elements
Break large models into modules
Organise geometry to minimise draw calls
Keep topology quad-based
Mark static meshes appropriately
UV channel setup
Channel 0: materials, diffuse, normal maps
Channel 1: ambient occlusion maps
Best practices at a glance
Prioritise visible areas for detail
Skip modelling hidden elements
Use modular components
Create seamless textures
Implement AO maps for realism
Avoid unnecessary mesh splits
Quick tips
Keep materials under 50 per scene
Batch similar meshes together
Use texture atlasing when possible
Minimise transparent materials
Optimise heavy CAD models before import
Related articles
Was this helpful?