Simplio3D Tutorials
Step-by-step guides to help you create stunning 3D product configurators, set up materials, manage assets, integrate with e-commerce platforms, and more.
How to Use These Tutorials
Use the sidebar to navigate between topics, or use the search box to look across the full content of every tutorial — not just the titles. Each tutorial is structured with clear steps, tips, and recommendations. We suggest starting with the Assets section if you're new, then moving on to Materials and Projects.
Recommended Learning Path
Upload Assets
Start by uploading your 3D models, textures, and graphics.
Create Materials
Build PBR materials and organise them into categories.
Create a Project
Set up a Viewer, Configurator, or Modular project.
Configure Options
Add option blocks, conditional logic, and pricing.
Share & Embed
Generate share links and embed on your website.
Integrate
Connect with WooCommerce, Shopify, or use the API.
Video Tutorials
Getting Started with Simplio3D
A complete overview of the platform: upload assets, create materials, and publish your first configurator.
Building a Product Configurator
Step-by-step walkthrough creating a chair configurator with material options and pricing.
Modular Project Deep Dive
Learn the drag-and-drop module system: snap points, alignment, rotation, and mirroring.
Conditional Logic Masterclass
Advanced rules with AND/OR conditions, cascading selections, and dynamic pricing.
E-Commerce Integration
Connect your configurator to WooCommerce or Shopify in under 5 minutes.
Headless API & SDK
Build a fully custom 3D experience using the REST API and JavaScript SDK.
Quick Links
API Documentation
Full REST API reference for headless integration.
SDK Documentation
JavaScript SDK for embedding 3D viewers and configurators.
WooCommerce Guide
Step-by-step WooCommerce plugin installation.
Shopify Guide
Step-by-step Shopify app integration.
Uploading 3D Models
Learn how to upload, organise, and manage your 3D model assets in Simplio3D. Understanding file limits and best practices will ensure your configurators load fast and look great.
Supported Formats
| Format | Extension | Recommended For | Notes |
|---|---|---|---|
| glTF Binary | .glb | Most use cases | Preferred format. Compact, includes textures. |
| glTF | .gltf + .bin | Multi-file assets | Requires uploading associated .bin and texture files. |
| FBX | .fbx | CAD / animation exports | Widely supported by 3D tools; converted internally. |
| OBJ | .obj + .mtl | Simple geometry | Legacy format; no animation support. |
| STL | .stl | 3D printing models | Geometry only, no materials or colours. |
.glb (glTF Binary) for the best balance of quality, file size, and compatibility. Export from Blender, 3ds Max, or any major 3D tool.File Limits & Recommendations
| Limit | Value | Recommendation |
|---|---|---|
| Maximum file size | 100 MB | Keep models under 20 MB for fast loading. |
| Maximum polygons | No hard limit | Target 50k-200k polygons for web. Use decimation for CAD models. |
| Texture resolution | Up to 4096x4096 | Use 1024x1024 or 2048x2048 for best balance. |
| Animations | Supported in glTF/FBX | Keep animation clips short and purposeful. |
How to Upload
- 1Navigate to the Dashboard and click "Assets" in the sidebar.
- 2Click the "Upload" button in the top-right corner of the Assets page.
- 3Select one or more 3D model files from your computer. You can drag-and-drop files directly into the upload area.
- 4Wait for the upload and processing to complete. A thumbnail preview will be generated automatically.
- 5Once uploaded, you can rename the asset, add tags, and assign it to a category.
Organising with Categories
Categories help you organise large asset libraries. You can create categories like "Furniture", "Hardware", "Accessories", etc.
- 1Go to the Assets page and click the "Categories" tab or the folder icon.
- 2Click "New Category" and give it a descriptive name.
- 3Drag assets into categories, or select an asset and choose its category from the details panel.
- 4Use the category filter in the asset browser to quickly find models when building projects.
Upload Workflow
Optimisation Tips
Reduce Polygon Count
Use Blender's Decimate modifier or simplify meshes in your 3D tool before exporting. Target 50k-200k polygons for web.
Compress Textures
Use JPEG for diffuse maps and PNG for transparency. Avoid uncompressed TGA or BMP formats.
Clean Geometry
Remove hidden faces, internal geometry, and duplicate vertices. Apply transforms (location, rotation, scale) before export.
Proper Naming
Name your mesh objects descriptively (e.g., 'chair_seat', 'chair_leg'). These names appear in the Objects panel.
Ctrl+A > Scale.Uploading Textures
Textures are image files used to define the surface appearance of your 3D materials. Simplio3D supports PBR (Physically Based Rendering) texture workflows with both user-uploaded textures and a built-in free texture library.
Supported Formats
| Format | Best For | Notes |
|---|---|---|
| JPEG / JPG | Diffuse, roughness, AO maps | Lossy compression; small files. Best general-purpose format. |
| PNG | Normal maps, transparency | Lossless; larger file sizes. Required when transparency is needed. |
| BMP | Legacy sources | Uncompressed; large files. Accepted but not recommended. |
Texture Types in PBR Workflow
| Texture Map | Purpose | Format Tip |
|---|---|---|
| Albedo / Diffuse (Base Color) | Defines the base colour of the surface. | Use JPEG for solid colours, PNG if transparency is needed. |
| Normal Map | Adds surface detail without extra geometry. | Always use PNG to avoid compression artefacts. |
| Roughness Map | Controls how rough or glossy a surface appears. | Greyscale image; white = rough, black = smooth. |
| Metallic / Metalness Map | Defines which parts are metallic. | Greyscale; white = metal, black = non-metal. |
| Ambient Occlusion (AO) | Adds subtle shadowing in crevices and contact areas. | Greyscale image, typically baked from 3D software. |
File Limits & Compression
| Limit | Value |
|---|---|
| Maximum file size per texture | 50 MB |
| Auto-compression threshold | Files over 3 MB are automatically compressed to JPEG (quality 0.85) |
| Maximum resolution after compression | 2048 × 2048 pixels |
| Recommended resolution | 1024 × 1024 or 2048 × 2048 pixels |
| Aspect ratio | Square (1:1) recommended; power-of-two dimensions (512, 1024, 2048) for best performance |
How to Upload Textures
- 1Navigate to Dashboard > Assets.
- 2Switch to the "Textures" tab using the filter or tab selector.
- 3Click "Upload" to open the texture upload dialog.
- 4Drag and drop your texture files into the drop zone, or click to browse. You can upload multiple files at once.
- 5Files are processed sequentially — watch the progress indicator for total/completed/failed counts.
- 6After upload, each texture gets a thumbnail preview and is stored in your texture library.
- 7Assign textures to a category for easy organisation and retrieval.
_color, _normal, _roughness, _metallic, _ao in your filenames so the system knows which PBR slot each texture belongs to.Texture Library (Free PBR & Non-PBR Textures)
Simplio3D includes a built-in texture library with 60+ free PBR texture sets and a non-PBR image search powered by Pixabay. Access the library from Dashboard > Assets > Textures > "Texture Library" button, or directly from the Material Editor.
PBR Textures Tab
Curated, high-quality PBR texture sets from CC0-licensed sources (ambientCG, Poly Haven, CGBookcase). Each set includes diffuse, normal, roughness, AO, and metallic maps where applicable.
| Category | Examples |
|---|---|
| Wood | Oak Planks, Walnut Veneer, Pine Board, Bamboo, Weathered Barn Wood |
| Metal | Brushed Aluminium, Rusted Steel, Diamond Plate, Copper Patina, Galvanised Steel |
| Fabric | Denim Twill, Canvas, Velvet, Wool Knit, Silk Satin |
| Stone | Rough Granite, Limestone, Slate, Sandstone, Red Rock |
| Concrete | Poured Concrete, Board-Formed, Cracked, Exposed Aggregate |
| Brick | Red Brick Wall, White Brick, Herringbone, Dark Clinker |
| Tiles | Subway Tile, Hexagon Mosaic, Terracotta, Penny Round |
| Marble | Carrara White, Nero Marquina, Green Marble, Pink Onyx |
| Ground | Forest Floor, Dry Sand, Gravel Path, Grass Lawn |
| Leather | Full-Grain Brown, Black Patent, Suede Tan, Crocodile Embossed |
| Plaster | Smooth White, Venetian, Rough Stucco, Tadelakt |
| Misc | Cork Board, Cardboard, Chainmail, Woven Rattan |
Each PBR texture set can be imported at three resolutions: 1K (~2–4 MB), 2K (~6–12 MB), or 4K (~20–40 MB). You can mark favourites and view recently used textures for quick access.
Non-PBR Textures Tab
Search for any image on Pixabay (24 results per page). Non-PBR textures are single images (no PBR map sets) — useful for decals, patterns, or simple colour references. These are downloaded through a server proxy and imported as standard texture assets.
Importing from the Texture Library
- 1Open the Texture Library dialog (from Assets or Material Editor).
- 2Browse categories or search by name. Use the Favourites/Recent tabs for quick access.
- 3Select one or more texture sets (PBR) or images (Non-PBR).
- 4Choose the resolution (1K, 2K, or 4K) for PBR textures.
- 5Click "Import". The textures are downloaded from their CDN source and added to your asset library.
- 6If importing from the Material Editor, PBR maps are automatically assigned to the correct slots (diffuse, normal, roughness, AO, metallic).
Categories & Organisation
Textures can be organised into custom categories (e.g., "Wood Textures", "Metal Textures", "Fabric Textures"). Categories are shared across the Assets page and can be filtered when assigning textures to materials. Use a consistent naming pattern like [material]_[maptype] (e.g., walnut_diffuse.jpg, walnut_normal.png) for easy identification.
Uploading Graphics
Graphics are 2D images and SVG files used in Pattern Designer and Design Canvas option blocks. They can include logos, patterns, decals, and artwork that users apply onto 3D surfaces.
Supported Formats
| Format | Use Case | Notes |
|---|---|---|
| SVG | Logos, patterns, vector art | Scalable; colour channels can be read and recoloured. |
| PNG | Photos, detailed graphics | Supports transparency. Best for raster graphics. |
| JPEG / JPG | Photos, prints | No transparency. Good for photographic decals. |
| WebP | General purpose | Modern format, excellent compression. |
File Limits
| Limit | Value |
|---|---|
| Maximum file size | 10 MB per graphic |
| Recommended resolution (raster) | 1024x1024 to 2048x2048 pixels |
| SVG complexity | Keep under 500 paths for best performance |
How to Upload
- 1Navigate to Dashboard > Assets.
- 2Switch to the "Graphics" tab.
- 3Click "Upload" and select your image or SVG files.
- 4After upload, assign a name and category to each graphic.
- 5Graphics will become available in the Pattern Designer and Design Canvas option blocks.
Uploading SVG Files
SVG files are especially powerful in Simplio3D because the platform can read individual colour channels from the SVG, allowing end users to recolour specific parts of the design.
- 1Prepare your SVG in a vector editor (Illustrator, Figma, Inkscape). Use distinct fill colours for parts you want to be independently recolourable.
- 2Upload the SVG file via the Assets > Graphics tab.
- 3When the SVG is used in a Pattern Designer or Design Canvas option block, Simplio3D automatically detects the colour channels (distinct fill colours in the SVG).
- 4Each detected colour channel becomes a configurable option — users can change individual colours at runtime.
#FF0000) for the icon and a black fill (#000000) for the text, Simplio3D will detect two colour channels. Users can then independently change the icon colour and text colour in the configurator.Using Graphics in Option Blocks
Pattern Designer
Apply repeating patterns onto 3D surfaces. Supports SVG and raster images with adjustable scale, rotation, and offset.
Design Canvas
Place graphics freely on a 3D surface. Users can position, scale, and rotate decals, logos, or artwork.
Categories
Organise graphics into categories such as "Logos", "Patterns", "Decals", "Icons", etc. When creating option blocks, you can filter by category to quickly find the right graphic.
3D Model Versions
Simplio3D automatically tracks versions when you upload updated 3D models with the same filename. This lets you iterate on designs without losing previous versions, and seamlessly update models already in use within your projects.
How Automatic Versioning Works
When you upload a 3D model file that has the same base name (ignoring case and extension) as an existing asset, Simplio3D automatically creates a version chain:
- 1Upload your first model file (e.g. "custom_shoe.glb"). It is stored normally — no version tag yet.
- 2Later, upload an updated model with the same name ("custom_shoe.glb"). Simplio3D detects the name match.
- 3The original model is retroactively tagged as "v1". The new upload is tagged as "v2".
- 4Each subsequent upload with the same name increments the version: v3, v4, and so on.
- 5Version tags appear as badges on the asset thumbnail in both grid and list views.
Custom_Shoe.glb, custom_shoe.glb, and custom_shoe.fbx are all considered the same asset and will form a version chain.Managing Version Tags
Version tags (e.g. "v1", "v2") are informational labels that help you identify which iteration of a model you're looking at. You can remove a version tag if you prefer a cleaner view.
- 1Navigate to Dashboard > Assets and locate the versioned model.
- 2In grid view, hover over the version badge on the thumbnail to reveal the × (remove) button.
- 3In list view, the version badge appears next to the asset name with the same × button.
- 4Click × to remove the version tag. The tag is removed from the UI, but the version history is preserved internally.
Replacing a Model Version in a Project
When you've iterated on a 3D model and uploaded a new version, you can replace the older version in any project that uses it. The replacement preserves all option block references, materials, and configurations.
- 1Open your project in the Project Editor.
- 2Click the "Asset Browser" button to open the asset library dialog.
- 3Browse or search for the updated model. Versioned assets show their version badge (e.g. "v2").
- 4Select the new version and click "Load". The system detects that a model with the same base name is already in the scene.
- 5A confirmation dialog appears explaining that the existing model will be replaced. Click "Yes, replace" to continue.
- 6The new model data replaces the old one while keeping the same internal model ID. All option blocks, material assignments, and transform references are preserved.
- 7After loading, the system compares 3D part names between the old and new model. You'll see a success or warning toast.
Part Name Matching
When a model is replaced, Simplio3D checks whether the 3D part names (mesh names) in the new model match those referenced by your option blocks. This ensures your configurator options continue to work correctly.
All Parts Match
If all part names referenced by option blocks exist in the new model, everything works seamlessly. A success toast confirms the replacement.
Some Parts Missing
If some part names have been renamed or removed in the new model, a warning toast lists the affected parts. You'll need to update those option blocks manually.
What Gets Preserved During Replacement
| Item | Preserved? | Details |
|---|---|---|
| Model ID in scene | Yes | The internal model identifier stays the same, so all references remain valid. |
| Option block references | Yes | All targetObjectId references in option blocks continue to point to the correct model. |
| Material assignments | Yes | Materials assigned by option blocks are re-applied if the part names match. |
| Part transforms (saved) | Reset | Custom part transforms are cleared since the new model may have different geometry. |
| Deleted parts list | Reset | Previously deleted parts are cleared to reflect the new model structure. |
| Animations | Updated | Animation clips from the new model replace the old ones. |
Best Practices
Consistent Naming
Keep the same filename when uploading iterations of a model. This ensures automatic version detection and easy replacement.
Keep Part Names Stable
Maintain consistent mesh/part names across versions so option blocks and conditional logic continue to work.
Preview Before Sharing
After replacing a model version, preview the project in Share view to verify all options, materials, and visibility toggles still behave correctly.
Version History
Upload multiple iterations freely. Each version is stored independently in your asset library, so you can always go back to a previous version.
Example Workflow
Updating a Shoe Configurator
You've built a shoe configurator with option blocks for sole material, upper colour, and lace style. The designer sends you an updated model with refined geometry.
- 1The designer exports the updated model as "custom_shoe.glb", keeping the same part names (sole, upper, laces, tongue).
- 2Upload "custom_shoe.glb" to Dashboard > Assets. It is automatically tagged as "v2". The original becomes "v1".
- 3Open the shoe project in the editor and click "Asset Browser".
- 4Select "custom_shoe.glb (v2)" and click Load.
- 5Confirm the replacement when prompted. The editor swaps the model data.
- 6A success toast appears: "Model replaced — all 4 referenced parts found in the new model."
- 7Save and preview. All option blocks (sole material, upper colour, lace style) work correctly with the new geometry.
Creating Materials
Materials define how surfaces look in your 3D scene. Simplio3D uses a PBR (Physically Based Rendering) material system with a three-tab editor, a live 3D preview sphere, and four material presets for quick starting points.
Step-by-Step: Create a New Material
- 1Navigate to Dashboard > Materials.
- 2Click the "New Material" button.
- 3Enter a name for your material (e.g., "Brushed Aluminium", "Oak Wood").
- 4Optionally choose a base preset (Flat, Fabric, Metal, or Glossy) to pre-fill sensible property values.
- 5Configure the Surface tab: choose between a flat colour or a texture. For textures, click the texture slot to browse your uploaded textures or open the Texture Library directly.
- 6Configure the Properties tab: adjust Metallic, Roughness, Specular, and Reflectivity sliders.
- 7Configure the Advanced tab if needed: set double sided rendering, transparency mode, IOR (for glass), or emissive glow.
- 8Check the live 3D preview sphere — it updates in real time as you change settings.
- 9Click "Save" to create the material. It appears in your material library immediately.
Material Editor — Surface Tab
The Surface tab controls the base appearance. Switch between Colour mode (flat colour via the colour picker) and Texture mode (image-based via texture maps).
| Setting | Range / Type | Description |
|---|---|---|
| Mode | Colour | Texture | Switch between a flat colour or a texture-based surface. |
| Colour | Any colour | The base surface colour (Colour mode). Overridden when a diffuse texture is applied. |
| Opacity | 0 – 100% | Surface opacity. 100% = fully opaque, 0% = fully transparent. |
| Texture (Diffuse) | Image | The main colour/albedo texture map. |
| Tiling | 0.1 – 5 | How many times the texture repeats across the surface. Higher = smaller pattern. |
| Rotation | 0 – 360° | Rotates the texture around the UV centre. |
| Bump / Normal Toggle | Bump | Normal | Choose between a bump map (height-based) or a normal map (directional). |
| Bump / Normal Intensity | 0 – 2 | Strength of the surface detail effect. 1 is standard. |
Material Editor — Properties Tab
The Properties tab controls the physical characteristics of the material.
| Property | Range | Description |
|---|---|---|
| Metallic | 0 – 1 | How metallic the surface is. 0 = dielectric (plastic, wood, fabric), 1 = full metal (steel, gold, chrome). |
| Roughness | 0 – 1 | Surface smoothness. 0 = mirror-like, 1 = fully matte. |
| Specular | 0 – 1 | Intensity of specular highlights. Increase for shinier surfaces. |
| Reflectivity | 0 – 1 | Overall reflectivity of the surface. Controls how much the environment is reflected. |
| Reflection Strength | 0 – 1 | Multiplier for the reflection intensity on top of reflectivity. |
Material Editor — Advanced Tab
| Property | Range / Type | Description |
|---|---|---|
| Double Sided | On / Off | Render both sides of the geometry. Enable for thin surfaces like curtains or leaves. |
| Transparency Mode | Opaque | Transparent | Switch between opaque and transparent rendering. Use Transparent for glass, water, plastic film. |
| Index of Refraction (IOR) | 1.0 – 2.5 | How much light bends when passing through the material. Glass ≈ 1.5, Water ≈ 1.33, Diamond ≈ 2.42. |
| Emissive Colour | Any colour | Colour of light emitted by the surface. For LEDs, screens, indicator lights. |
| Emissive Intensity | 0 – 2 | Strength of the emissive glow. 0 = no glow, 2 = very bright. |
PBR Texture Map Slots
When in Texture mode, four PBR map slots are available. Assign textures to each slot for realistic surface detail.
| Slot | Purpose | What to Upload |
|---|---|---|
| Normal Map | Adds surface detail (bumps, scratches, weave) without extra geometry. | RGB normal map. Use PNG to avoid compression artefacts. |
| Metallic Map | Defines which areas are metallic vs. dielectric. | Greyscale image: white = metal, black = non-metal. |
| Roughness Map | Varies glossiness across the surface. | Greyscale image: white = rough/matte, black = smooth/glossy. |
| Ambient Occlusion (AO) | Adds subtle shadowing in crevices and contact areas. | Greyscale image, typically baked from 3D software. |
Material Presets
Four built-in presets pre-fill property values as a starting point:
| Preset | Roughness | Metallic | Best For |
|---|---|---|---|
| Flat | 1.0 | 0 | Matte surfaces — cardboard, clay, unfinished wood. |
| Fabric | 0.8 | 0 | Textiles — cotton, linen, upholstery. |
| Metal | 0.3 | 1.0 | Metals — steel, aluminium, gold, chrome. |
| Glossy | 0.1 | 0 | Smooth non-metals — lacquer, gloss plastic, varnish. |
Organising into Categories
- 1In the Materials page, click the "Categories" tab.
- 2Create categories like "Metals", "Woods", "Fabrics", "Glass", "Plastics" — pick a colour swatch for each so they're easy to spot.
- 3Assign a category from either the per-card Select on the Materials grid OR the category chip in the Material Editor header (next to the status badge). Both routes write to the same field.
- 4Need a new category while editing? Open the category chip in the Material Editor and click "Manage categories…" at the bottom — the management dialog opens inline; new categories are available immediately without leaving the editor.
- 5Use category filters to quickly find materials when assigning them in project option blocks.
Material Library
The Material Library provides 90 ready-made PBR material presets across 14 categories. Instead of building materials from scratch, browse the library, preview on a 3D sphere, and import presets into your personal collection in one click.
Using Library Materials
- 1Navigate to Dashboard > Materials.
- 2Click the "Material Library" button.
- 3Browse by category or search by name.
- 4Click on a preset to see a live 3D sphere preview showing how the material looks under scene lighting.
- 5Click "Use Material" to copy the preset into your personal material library.
- 6The imported material is now fully editable — adjust colours, roughness, metallic, swap textures, or tweak advanced settings as needed.
Available Categories (90 Presets)
Brick
Red brick wall, white washed, herringbone, dark clinker
4 presetsConcrete
Poured, board-formed, cracked, exposed aggregate, polished
5 presetsFabric
Cotton, linen, denim, canvas, velvet, wool, silk, knit
14 presetsFloors
Hardwood, laminate, parquet, vinyl plank
4 presetsGlass
Clear, frosted, tinted, textured, coloured, privacy
8 presetsMarble
Carrara, nero marquina, green, pink onyx
4 presetsMetal
Brushed aluminium, steel, gold, copper, chrome, brass, titanium
14 presetsPlastic
Matte, glossy, translucent, rubber, soft-touch
5 presetsRoofing
Clay tile, slate, asphalt shingle, corrugated metal
4 presetsStone
Granite, limestone, sandstone, slate
4 presetsTiles
Subway, hexagon, terracotta, penny round
4 presetsWood
Oak, walnut, maple, birch, pine, bamboo, cherry, ash
8 presetsVarious
Cork, cardboard, paper, leather, woven rattan, ceramic
12 presetsApplying PBR Textures
PBR textures bring realism to your materials by providing detailed surface information. Apply them from your uploaded assets or import free textures directly from the built-in Texture Library.
Step-by-Step: Apply Textures to a Material
- 1Navigate to Dashboard > Materials and select the material you want to edit (or create a new one).
- 2In the Material Editor, switch the Surface tab to "Texture" mode.
- 3Click the diffuse texture slot to open the texture browser.
- 4Choose a texture from your uploaded assets, or click "Texture Library" to browse 60+ free PBR texture sets.
- 5If using the Texture Library, select a set, choose a resolution (1K, 2K, or 4K), and click "Import". All PBR maps (diffuse, normal, roughness, AO, metallic) are imported and auto-assigned to the correct slots.
- 6If uploading manually, assign each texture to the appropriate PBR slot: Normal Map, Metallic Map, Roughness Map, and AO Map.
- 7Adjust the Tiling value (0.1 – 5) to control how many times the texture repeats on the surface. Higher values = smaller pattern.
- 8Adjust the Rotation (0 – 360°) if the texture grain or pattern needs to be oriented differently.
- 9Set the Bump/Normal toggle and adjust Intensity (0 – 2) for the desired surface depth effect.
- 10Preview the material on the live 3D sphere — it updates in real time.
- 11Click "Save" to apply all changes.
Texture Map Slots
| Slot | Required? | What to Upload |
|---|---|---|
| Base Colour / Diffuse | Recommended | The main colour texture. Sets the surface colour and pattern. |
| Normal Map | Recommended | Adds fine surface detail (scratches, weave, grain) without extra geometry. Use PNG. |
| Roughness Map | Optional | Greyscale image controlling glossiness variation. White = rough, black = smooth. |
| Metallic Map | Optional | Greyscale image defining metallic vs. dielectric areas. White = metal, black = non-metal. |
| AO Map | Optional | Ambient occlusion for subtle contact shadows in crevices. |
Texture Library Integration
The Texture Library is accessible directly from the Material Editor's texture browser. When you import a PBR texture set from the library:
- All available maps (diffuse, normal, roughness, AO, metallic) are downloaded from their CC0-licensed CDN source.
- Maps are automatically assigned to the correct PBR slots in the Material Editor.
- The textures are also added to your asset library for reuse in other materials.
- Available sources include ambientCG, Poly Haven, and CGBookcase.
Material Examples
Follow these step-by-step recipes to create five common material types. Use these as starting points and adjust to your specific needs.
Cotton Fabric
A soft, matte fabric material suitable for clothing, upholstery, and soft furnishings.
| Property | Value | Explanation |
|---|---|---|
| Base Colour | Your desired colour (e.g., #FFFFFF for white cotton) | The fabric colour. |
| Metalness | 0 | Fabrics are never metallic. |
| Roughness | 0.85 – 0.95 | Cotton is quite rough/matte. |
| Normal Map | Cotton weave normal map | Adds subtle woven texture detail. |
| AO Map | Optional | Adds depth to weave pattern. |
Stainless Steel
A polished or brushed metallic surface for appliances, hardware, and industrial parts.
| Property | Value | Explanation |
|---|---|---|
| Base Colour | #C8C8C8 (light grey) | Metals get their colour from reflections; keep base colour neutral grey. |
| Metalness | 1.0 | Stainless steel is fully metallic. |
| Roughness | 0.15 – 0.35 | 0.15 for polished, 0.35 for brushed finish. |
| Normal Map | Brushed metal normal map (optional) | Adds directional brush strokes for brushed steel. |
| Environment Map | Enabled | Essential for realistic metal reflections. |
Wood
A natural wood material suitable for furniture, flooring, and decorative elements.
| Property | Value | Explanation |
|---|---|---|
| Base Colour | Use a wood grain diffuse texture | The texture provides all colour variation and grain pattern. |
| Metalness | 0 | Wood is never metallic. |
| Roughness | 0.4 – 0.8 | 0.4 for lacquered/varnished, 0.8 for raw/unfinished wood. |
| Normal Map | Wood grain normal map | Adds tactile depth to the grain pattern. |
| AO Map | Wood AO map (optional) | Enhances grain depth. |
Glass
A transparent or semi-transparent material for windows, bottles, lenses, and display cases.
| Property | Value | Explanation |
|---|---|---|
| Base Colour | #FFFFFF (clear) or tinted (e.g., #E8F4E8 for green glass) | Tint the base colour for coloured glass. |
| Metalness | 0 | Glass is non-metallic (but highly reflective due to low roughness). |
| Roughness | 0.0 – 0.15 | 0.0 for crystal clear, 0.15 for slightly frosted. |
| Opacity | 0.1 – 0.4 | 0.15 for clear glass, 0.4 for frosted/tinted. |
| Environment Map | Enabled | Essential for realistic glass reflections. |
Aluminium
A lightweight metal common in electronics, automotive, and consumer products. Can range from matte anodised to polished mirror finish.
| Property | Value | Explanation |
|---|---|---|
| Base Colour | #D4D4D4 (silver) | Slightly lighter grey than steel. For anodised aluminium, use the anodised colour. |
| Metalness | 1.0 | Aluminium is fully metallic. |
| Roughness | 0.2 – 0.5 | 0.2 for polished, 0.5 for matte/anodised finish. |
| Normal Map | Fine grain or sandblast normal (optional) | Adds subtle surface texture for anodised finishes. |
| Environment Map | Enabled | Needed for metallic reflections. |
Bulk-Add Materials by Category
Expose your entire material library as swatches in seconds. The Select Material option block has a second authoring mode — From Category — that auto-populates one swatch per material in a category. Adding a material to the category later makes it appear in the share view on next load, with no editor change required.
When to use it
- You have a library of 20+ materials (woods, fabrics, metals, …) and don't want to click "Add Material" once per material.
- The materials all apply to the same set of 3D objects/parts — and you can now pick multiple target objects at once (e.g., every wood option goes on both the main roof and the extra roofs).
- A flat per-material price works for your pricing model (option b in the design — one fixed amount whenever any material is selected).
- You expect to add/remove materials from the category over time without re-editing the project.
Step-by-step
- 1Open Dashboard → Materials. Create or pick a category (e.g., "Woods") and assign every material that belongs to it.
- 2Open your project, switch to Options mode, and add a Select Material option block (or open an existing one).
- 3At the top of the block properties panel, switch the Source segmented control from "Manual" to "From Category".
- 4Pick the category from the dropdown. The "Live Preview" panel below shows the swatches end users will see, including a live count badge.
- 5Pick one or more Target Objects (check the 3D models the materials apply to). Leave none checked to apply to every loaded object. Optionally scope each object to specific mesh parts via the parts list — parts are grouped by object + subgroup, with nested groups shown at any depth. Leave a target’s parts empty to cover every mesh in it.
- 6Set Sort Materials By (Name / Newest / Oldest). Hover an object or a part to see the affected meshes outline-highlight in the viewport so you can verify your target across all selected objects.
- 7Click Preview to verify the swatch list and 3D application work as expected. The Preview modal renders the synthesized variants identically to the share view.
- 8Optional: switch to Pricing mode and add a Price Group / Variable / Price Table / Unique Price block linked to this Select Material block to author per-material pricing.
What changes vs Manual mode
| Aspect | Manual mode | From Category mode |
|---|---|---|
| Variant authoring | Per variant via Add Material | Automatic — one swatch per material in the chosen category |
| Per-variant pricing | Price Group / Variable / Price Table | Same — link a pricing block to this option block in Pricing mode |
| Per-variant conditional rules | Yes | No — target the entire block, 3D objects/parts, or materials instead |
| Adding materials later | Re-edit the project and click Add Material | Just assign the material to the category — appears automatically on next share-view load |
| Per-variant target | Each variant has its own target object/parts | One shared target — supports multiple 3D objects (+ nested subgroups) — for every material in the block |
Pricing
Pricing for a category-mode block lives in Pricing mode, exactly like Manual mode. Add a Price Group, Variable (For Options), Price Table axis, or Unique Price block and link it to this Select Material block. The Pricing panel automatically shows one price row per material in the category so you can author per-material prices. The pricing key uses the stable synthesized variant value (auto:{materialId}), so renaming a material in the library does not break the price.
Conditional logic
Other blocks can hide or show a category-mode Select Material block at the block level, and the block's materials can be referenced by 3D Objects / 3D Parts / Materials targeting scopes. Per-variant conditional targeting is unavailable in category mode (runtime variant IDs change with category contents). Switch back to Manual if you need per-variant rules.
dropdownVariants stay in storage but are ignored while in category mode (and vice-versa). Switching back resurfaces the other mode's authoring.materialSource: 'category' plusmaterialCategoryId and the shared target — categoryTargetObjectIds (the selected objects) and categoryTargetParts (per-object mesh names). Runtime variants are synthesized asauto:{materialId}; with two or more target objects each variant carries a per-modelselectedTargetParts map so the right meshes get the material in every targeted object. The public share viewer lazy-fetches referenced categories in one batchedGET /share/:projectId/:token/category-materials?ids=cat1,cat2 request on first paint, whileGET /share/:projectId/:token/category-materials/:categoryId remains available for a single category. The initial share payload stays light even for large libraries.Project Overview
Projects are the core of Simplio3D. Each project is a self-contained 3D experience that can be a simple viewer, a full product configurator, or a modular assembly system.
Project Types
Viewer
A simple 3D model viewer with no configuration options. Perfect for product showcases, portfolios, and interactive displays. Users can rotate, zoom, and pan the model.
- Interactive 3D viewing
- Animations support
- Hotspots & annotations
- Shareable & embeddable
Configurator
A full product configurator where users can customise options like colours, materials, parts visibility, dimensions, and more. Ideal for CPQ (Configure, Price, Quote) workflows.
- Option blocks (dropdowns, swatches, etc.)
- Conditional logic between options
- Real-time pricing
- Contact forms & quote requests
Modular
A drag-and-drop modular assembly system where users combine 3D modules to build custom configurations. Supports snap points, alignment, rotation, and mirroring.
- Drag-and-drop modules onto a grid
- Snap system with alignment guides
- Rotate, mirror, move, delete modules
- Undo/Redo support
Creating a New Project
- 1Navigate to Dashboard > Projects.
- 2Click "New Project".
- 3Choose a project type: Viewer, Configurator, or Modular.
- 4Enter a project name and optional description.
- 5Click "Create" to open the project editor.
- 6Upload or select a 3D model from your assets. For Modular projects, add modules in the Objects panel.
Duplicating a Project
On Pro and Enterprise plans — including during your 30-day Pro trial — you can duplicate any of your projects from the Projects dashboard. Hover a project card (or any list row) and click the Copy icon button — a small dialog lets you rename the copy before confirming.
A duplicate is a complete copy of the original — the whole 3D scene (every model, group, nested group, and part), all option blocks and their variants (including hotspots, scenery, and material swatches), the entire pricing setup (price groups, tables, unique-price blocks, variables, and SKUs), the full form with all its fields, animations, conditional logic, and every project setting all carry over. Open the copy and it looks and behaves exactly like the source.
Duplicates reuse the same models, materials, and textures from your library by reference, so there's no extra storage cost or re-upload step. Per-project uploaded models, the AR file, and the thumbnail are copied so the duplicate works independently of the original — even if you later delete the source.
Editor UI & Key Features
The project editor is where you build and configure your 3D experience. This section introduces the main interface elements and key features.
Editor Layout
3D Viewport (Centre)
The main 3D canvas where your model is displayed. Rotate (left-click drag), pan (right-click drag or Shift+left-click), and zoom (scroll wheel) to navigate.
Mode Tabs (Top)
Switch between Objects, Options, Pricing, Forms, and Settings modes using the tabs at the top of the editor.
Left Panel
Contextual panel that changes based on the active mode. Shows objects list, option blocks, price blocks, form fields, or settings.
Properties Panel (Right)
Shows detailed properties for the currently selected object, option, or element. Edit transforms, materials, and configurations here.
Key Features
| Feature | Description |
|---|---|
| Undo / Redo | Press Ctrl+Z / Ctrl+Y (or Cmd on Mac). Works for object transforms, option changes, and more. |
| Transform Controls | Select an object and use the Move (W), Rotate (E), or Scale (R) gizmos to transform it in 3D space. |
| Multi-Select | Hold Ctrl/Cmd and click multiple objects to select them together. Transform all at once. |
| Camera Views | Use preset camera views (Front, Top, Side) from the camera menu for precise positioning. |
| Grid & Snapping | Enable grid overlay and snap-to-grid for precise object placement (especially useful for Modular projects). |
| Pivot / Origin Editing | Edit the pivot point (axis origin) of objects for custom rotation centres. Found in the Objects > Properties panel. |
| Resizable Left Panel | Drag the thin vertical handle on the right edge of the left panel to resize it (200–560 px). Works in every mode — Objects, Options, Pricing, Forms, Animations — for all project types. Double-click the handle to reset to the default width. Your preferred width is remembered across reloads. |
| Resizable Properties Panel | Drag the thin vertical handle on the left edge of the right Properties panel to widen it (240–640 px). Useful for the dense Block Properties, Pricing Block, and Form Field panels where long labels and dropdowns benefit from extra room. Double-click the handle to reset; width persists across reloads. Available on wide displays (≥ 1280 px). |
| Auto-Save | Projects auto-save periodically. You can also manually save with Ctrl+S. |
| Screenshot | Capture a screenshot of the current viewport as a thumbnail or for sharing. |
Objects Mode
Objects mode lets you manage the 3D models in your scene. You can add, position, transform, and configure individual parts of your 3D model.
The Objects Panel
The left panel in Objects mode shows a hierarchical list of all 3D objects (meshes, groups) in your scene. Each row represents a mesh or group that can be selected and configured.
Nested Subgroups
The panel mirrors the full structure of your model, including nested subgroups — groups inside groups, as authored in your 3D tool (for example Roof → Back_roof_part → part_01 / part_02 / part_03). Container rows show a folder icon and can be expanded or collapsed; individual meshes show a box icon. Selecting a subgroup lets you transform every mesh inside it as one unit.
Meshes inside subgroups work everywhere a part can be referenced — Select Material / Fixed Material targets, per-variant visibility, conditional logic, animations, and AR. In each of those pickers, parts are grouped under collapsible subgroup headers with a "select all in this subgroup" checkbox, so you can target a whole subgroup in one click.
.001, .003, etc. on export, so this is rare).Available Options
| Option | Description |
|---|---|
| Select | Click an object name to select it in both the list and 3D viewport. The object will be highlighted. |
| Rename | Double-click an object name to rename it. Use descriptive names like "seat_cushion" or "left_arm". |
| Visibility | Toggle the eye icon to show or hide an object in the scene. Hidden objects are not rendered. |
| Lock | Lock an object to prevent accidental selection or transformation. |
| Transform | With an object selected, use Move (W), Rotate (E), or Scale (R) gizmos. Enter precise values in the Properties panel. |
| Edit Axis / Pivot | Change the pivot point (origin) of an object. Affects rotation centre. Choose from presets (centre, bottom, top, etc.) or set custom coordinates. |
| Delete | Remove an object from the scene. Press Delete key or use the context menu. |
| Duplicate | Duplicate a selected object with all its properties. |
Properties Panel
When an object is selected, the right-side Properties panel shows:
| Section | What You Can Do |
|---|---|
| Transform | Set exact Position (X, Y, Z), Rotation (X, Y, Z in degrees), and Scale (X, Y, Z) values. |
| Material | View and change the material applied to the selected mesh. |
| Pivot / Axis | Edit the object's pivot point. Choose a preset or enter custom coordinates. Toggle the axis helper visibility. Use the scale preview slider to test transforms. |
| Geometry Info | View polygon count, bounding box dimensions, and vertex count. |
Options Mode
Options mode is the heart of the Configurator project type. Here you create option blocks that let end users customise the 3D product — changing materials, colours, visibility, dimensions, and more. Blocks can be reordered by dragging and grouped under custom headings.
Option Block Types
Select Material
Lets users choose from a list of materials to apply to one or more 3D parts.
- 1Click "Add Option Block" and choose "Select Material".
- 2Give the block a label (e.g., "Frame Finish", "Seat Material").
- 3Choose which 3D object(s) the material will be applied to.
- 4Add material choices by selecting from your material library.
- 5Optionally set a default selection.
Priority rule: when overlaps exist, the last applied variant wins (latest user action or conditional-logic reveal has precedence).
Pricing safety: pricing evaluates selected variant values once per linked block/variant key, so duplicate target mappings do not automatically duplicate price.
Colour Variants
Lets users pick a colour from a set of swatches. The colour is applied to a specific material property (usually the base colour) of one or more parts.
- 1Add a "Colour Variants" option block.
- 2Give it a label (e.g., "Body Colour").
- 3Select the target 3D object(s).
- 4Add colour swatches using the colour picker. You can add as many colours as needed.
- 5Each swatch can have a label and optional price modifier.
Show / Hide 3D Objects or Parts
Lets users toggle the visibility of entire 3D objects or individual mesh parts on or off. Useful for optional accessories, add-ons, or alternative configurations.
- 1Add a variant and switch to the "Visibility" appearance mode.
- 2Label it (e.g., "Add Armrests", "Include Headrest").
- 3Choose the target mode: "3D Objects" to show/hide entire models, or "3D Parts" for individual meshes.
- 4Select which 3D object(s) or part(s) to show or hide.
- 5Choose the default state (shown or hidden).
- 6Optionally add a price modifier for the visible state.
Thumbnail Selector
Displays variant choices as a visual thumbnail grid. Users browse and click a thumbnail to select that option. Ideal for large variant sets where visual browsing is more intuitive than text lists.
- 1Add a "Thumbnail Selector" option block.
- 2Give it a label (e.g., "Choose Style", "Select Pattern").
- 3Add variants — each variant gets a thumbnail image (uploaded or auto-generated from the material).
- 4Configure display settings in the block properties panel.
Supports the same overlap behavior as Select Material for appearance variants targeting identical 3D parts.
| Setting | Options | Description |
|---|---|---|
| Thumbnail Style | Grid / Horizontal scroll / Vertical stack / Carousel | Controls how thumbnail cards flow in Preview and Share view. |
| Thumbnail Size | 25×25 / 35×35 / 60×60 / 100×100 / 140×140 | Acts as a soft cap so cards stay close to the intended size while still fitting the sidebar. |
| Thumbnail Shape | Square / Rounded / Circle | Shape of the image or swatch inside the card. The outer card stays rectangular. |
| Columns Count | 1 – 6 | Desktop column maximum. Grid mode automatically downshifts on tablets, phones, and narrow sidebars for large thumbnails. |
| Thumbnail Gap | Small / Medium / Large | Spacing between thumbnails. |
| Label Position | Below / Overlay / Hidden | Where the variant label appears relative to the thumbnail. |
| Show Title | On / Off | Show or hide the block title above the thumbnail grid. |
| Compact Mode | On / Off | Reduces padding for a denser layout. |
Number Input
A numeric input block that lets users enter a quantity or a dimension value. When configured as a dimension (with axis scaling), it dynamically scales the 3D model along the chosen axis.
- 1Add a "Number Input" option block.
- 2Give it a label (e.g., "Width (cm)", "Quantity").
- 3Choose the value type: "Quantity" for a simple number, or "Dimension" for a value that drives model scaling.
- 4For Dimension type: select the scaling axis (X, Y, or Z) and optionally restrict which parts of the model are affected.
- 5Set the unit suffix (e.g., cm, mm, in) and min/max constraints.
| Setting | Description |
|---|---|
| Value Type | Quantity (simple number) or Dimension (scales the model along an axis). |
| Scaling Axis | X, Y, or Z — which axis the dimension value scales (Dimension mode only). |
| Units | Display suffix — cm, mm, in, ft, m, etc. |
| Position Parts | Restrict scaling to specific mesh parts instead of the whole object. |
| Min / Max | Minimum and maximum allowed values. |
| Step | Increment step for the input spinner buttons. |
Toggle Switch
A simple on/off binary toggle. Limited to exactly two variants (e.g., On/Off, Yes/No, With/Without). Works well for optional add-ons.
- 1Add a "Toggle Switch" option block.
- 2Label it (e.g., "Include Roof Rack", "Add Engraving").
- 3Define the two states: each can trigger different materials, visibility changes, or price modifiers.
- 4Set which state is the default.
Section Header
A non-interactive heading that visually groups related option blocks. Can be styled as a simple divider or as a tab-style section break.
| Setting | Description |
|---|---|
| Label | The heading text displayed (e.g., "Exterior", "Interior", "Accessories"). |
| Type | Divider (a horizontal line with text) or Tab (a clickable tab header for tabbed layouts). |
Carousel
Displays variant choices in a horizontally scrollable carousel with navigation arrows. Ideal when you have many variants and want a compact, swipeable presentation.
Carousel appearance variants may also overlap on the same target parts; last applied variant wins.
| Setting | Options | Description |
|---|---|---|
| Arrow Style | Inside / Outside / Hidden | Position or hide the navigation arrows. |
| Animation | Slide / Fade / None | Transition animation between carousel items. |
| Loop | On / Off | Whether the carousel wraps around from last to first item. |
| Show Counter | On / Off | Display a "3 / 12" style counter showing current position. |
| Show Label | On / Off | Display the variant label below each carousel item. |
| Auto Play | On / Off | Automatically advance through items. |
| Auto Play Interval | 1 – 10 seconds | Time between auto-play transitions. |
Scenery
Lets users switch between pre-defined scene backgrounds or environments. Each scenery variant loads a different set of 3D context models and camera settings to place the product in a different visual context.
- 1Add a "Scenery" option block.
- 2Label it (e.g., "Environment", "Room Setting").
- 3For each variant, select one or more context 3D models (the "scenery") from your assets.
- 4Configure camera settings per variant: position, target, FOV, zoom limits, rotation limits, and ground alignment.
- 5Set the default scenery variant.
| Camera Setting | Description |
|---|---|
| Camera Position | The starting camera position (X, Y, Z) for this scenery. |
| Camera Target | The point the camera looks at (X, Y, Z). |
| FOV | Field of view angle. |
| Min / Max Distance | Zoom limits — how close and far the user can zoom. |
| Min / Max Polar Angle | Vertical rotation limits. |
| Min / Max Azimuth Angle | Horizontal rotation limits. |
| Enable Panning | Allow the user to pan the camera. |
| Enable Rotation | Allow the user to orbit the camera. |
| Ground Y | The Y position of the ground plane for shadow alignment. |
Hotspot
Places interactive markers on the 3D model that users can click or hover over to see information popups. Hotspots are useful for product tours, feature highlights, and annotations.
- 1Add a "Hotspot" option block.
- 2Position the hotspot by clicking on the 3D model surface, or enter exact 3D coordinates.
- 3Configure the hotspot appearance and behaviour.
| Setting | Description |
|---|---|
| Position (X, Y, Z) | The 3D coordinates where the hotspot marker appears on the model. |
| Icon | Choose from built-in icons (info, plus, star, pin, etc.) or upload a custom icon. |
| Trigger | Click or Hover — how the popup is activated. |
| Popup Title | The heading text in the popup. |
| Popup Content | Rich text body of the popup. Supports links and basic formatting. |
| Popup Image | An optional image displayed in the popup. |
| Animation | Pulse, bounce, or none — the idle animation of the marker. |
| Colour | The marker icon colour and popup accent colour. |
| Size | Scale of the hotspot marker. |
| Always Visible | Keep the marker visible even when the model part faces away from camera. |
| Attach to Part | Attach the hotspot to a specific mesh part so it moves with animations. |
Other Block Types
| Block Type | Description | Use Case |
|---|---|---|
| Dropdown Select | A dropdown menu with predefined choices. Each choice can trigger different actions. | Size selection, style variants, component choices. |
| Image Upload | Lets users upload their own image to apply as a texture or decal. | Custom branding, personalisation. |
| Text Input | Lets users enter custom text that appears on the 3D model. Toggle Consumer Controls → Font Family to let shoppers pick the typeface, then curate the allowed list in "Consumer-available fonts" (10 system + 40 Google fonts to choose from). Use the "Allowed Characters" segmented control to restrict input to Numbers, Letters, or Alphanumeric — Numbers also triggers the mobile numeric keypad automatically. | Engraving, name personalisation, branded jersey numbers, postal codes. |
| Pattern Designer | Apply and customise repeating patterns on surfaces. | Fabric patterns, tile layouts. |
| Design Canvas | Freeform placement of graphics on 3D surfaces. | Logo placement, decal positioning. |
Modular blocks now have a dedicated guide
Open Modular Projects for variant setup, snap origins, UI Design settings, Grid vs List examples, and material targeting for Preview and Share.
Modular Projects
Build drag-and-drop modular configurators with snap-aware placement, dedicated parts-picker UI Design settings, and consistent behavior across the Preview modal and Share view.
When to Use Modular Projects
Repeatable modules
Use Modular projects for systems assembled from repeatable 3D units such as kitchens, sectionals, storage, and lighting.
Scene composition
Users place and arrange modules directly in the 3D scene rather than only switching materials or visibility on a fixed model.
Admin-authored behavior
Each variant can define snap faces, offsets, origins, and the UI Design used by the module picker.
Preview and Share parity
The same module picker settings apply in both the Preview modal and the public Share view link.
Modular Block Setup
The Modular block powers drag-and-drop module assembly in Modular project types. End users compose products by placing, snapping, rotating, and mirroring independent 3D modules in a shared workspace. Ideal for kitchen builders, furniture systems, modular shelving, and similar products.
- 1Add a "Modular" option block (only available in Modular project type).
- 2Click "Add Variant" to create module variants. Each variant needs a label, value, and a selected 3D model.
- 3For each variant, toggle the Active Snap Sides — the bounding box faces (Top, Bottom, Left, Right, Front, Back) where the module can connect to others.
- 4Open the "UI Design" section to control how parts appear in Preview modal and Share view: choose Grid or List layout, thumbnail size, and how part names are displayed.
- 5For long part names, use List layout for always-readable rows, or Grid with 2 columns plus 2-3 label lines for a compact but readable palette.
- 6Set the Snap Origin — the corner alignment used when modules snap together (Lower Left, Lower Center, or Lower Right). Default is Lower Left.
- 7Optionally override the Snap Origin per side using the "Snap Origin Per Side" section — useful when different sides need different alignment (e.g., Left → Lower Left, Front → Lower Center).
- 8Fine-tune snap positions using the "Snap Offset (Advanced)" section to set per-side offset values.
- 9For asymmetric modules (e.g. an extension roof whose center is offset), use the "Snap Alignment Offset" section to shift incoming modules along the face plane on specific sides. This is a target-side setting — configure it on the module that others snap TO.
- 10If a variant must always connect from one authored side, set "Force Snap Side" on that variant.
- 11Configure Side Snap Settings: consumer add method (Drag & Drop or Click to Attach), rotation, mirroring, deletion, and visual feedback options.
| Setting | Description |
|---|---|
| Snap Origin | Default corner alignment for all sides — Lower Left, Lower Center, or Lower Right. |
| Snap Origin Per Side | Override alignment for individual sides. Sides without an override inherit the global Snap Origin. A badge shows how many overrides are active. |
| Snap Offset (Advanced) | Per-side numeric offset (−3 to +3) to fine-tune face alignment along each axis. |
| Snap Alignment Offset | Per-side lateral offset (−3 to +3) applied to modules that snap TO this variant. Shifts visitors along the face plane to compensate for asymmetric geometry. |
| Force Snap Side | Available on every modular variant. Forces the module to always snap using a specific source side — any of Top, Bottom, Left, Right, Front, or Back, as long as that side is enabled in Active Snap Sides. |
| Parts Palette Layout | Choose Grid or List for the module picker shown in Preview modal and Share view. List keeps long part names readable; Grid is denser and more visual. |
| Thumbnail Size | Set the module thumbnail card size: Small, Medium, Large, or XL. Larger sizes improve image recognition but reduce visible density. |
| Grid Columns | When using Grid layout, choose 2, 3, or 4 columns. Fewer columns give more room for long names. |
| Part Name Display | Show names below thumbnails, overlay them on thumbnails, or hide them entirely when thumbnails are self-explanatory. |
| Label Lines | Control how many lines each part name can occupy before truncating. Use 2-3 lines for readable names in grid layouts. |
| Instance Count Badge | Show or hide the counter badge that indicates how many copies of a module are currently placed. |
| Consumer Add Method | How end users place modules: "Drag & Drop" (free placement) or "Click to Attach" (select a target side, then click a thumbnail; dragging still works). |
| Enable Rotation | Allow end users to rotate placed modules. |
| Enable Mirror | Allow end users to mirror placed modules. |
| Enable Delete | Allow end users to delete placed modules. |
| Floating Toolbar | Show an action toolbar on the selected module (rotate, mirror, delete). |
| Snap Distance | How close modules need to be before they snap together. |
| Grid Snap Size | Position quantisation grid size (0 = free movement). |
| Cross-Block Snap | Allow modules from different Modular blocks to snap together. |
| Enforce Grounding | Ensure modules always sit on the ground plane. |
| Show Alignment Guides | Display alignment lines when module edges align during drag. |
| Show Dimensions | Display distance measurements between modules. |
Grid layout
Best when thumbnails matter most and names are short to medium length.
List layout
Best when names must remain easy to read in Preview modal and Share view.
Camera Behaviour in Preview and Share
By default, the camera automatically reframes to fit all placed modules in view every time a module is added or connected — this is the Auto-Reframe on Module Connect setting found in Project Settings → Camera. It fires for all placement methods: clicking to add the first module, snapping a module to another via click, and both drag-first and drag-snap placements.
| Setting | Default | Description |
|---|---|---|
| Auto-Reframe on Module Connect | On | Automatically adjusts the camera to keep all placed modules in view each time a module is added or snapped in Preview or Share. Applies to all placement methods. |
Performance: Drag Ghost Preview
The Show Modular Drag Ghost setting (Project Settings → Loading, Modular projects only) controls whether a translucent ghost clone is rendered while the user drags a module. It is off by default.
| Setting | Default | Description |
|---|---|---|
| Show Modular Drag Ghost | Off | Render a translucent Phong-shaded ghost with wireframe overlay while dragging modules. Turn on for richer visual feedback; keep off on scenes with many placed modules for better performance. Snap indicators, cursor shape, and drop accuracy are unaffected by this setting. |
Material or Color Options for Placed Modules
In Modular projects, material and color variants can apply to placed modules globally. Use a separate Thumbnail Selector, Select Material, Dropdown, Toggle, Checkbox, or Carousel block for choices such as material, paint color, fabric color, or texture. The Modular block controls which modules are placed; the material or color option block controls how all matching placed modules look.
- 1Create the Modular block first and configure the module variants that users can place.
- 2Create a separate material or color option block, such as "Module color options" with variants like Natural, White, Grey, or Brown.
- 3Open each material or color variant, choose Material or Color, then set Target Scope to "All placed modules" or "Selected module types".
- 4Optionally select mesh parts by name to limit the option to wood, fabric, metal, or another repeated part group. Leave the parts empty to affect the full module mesh.
- 5Preview the project, place modules, and switch material or color options. The selected option is applied to existing placed modules and to modules added afterward.
Conditional Logic
Conditional logic lets you create rules that automatically show, hide, enable, or disable option blocks based on the user's current selections. This creates a guided, intelligent configuration experience.
How It Works
A conditional logic rule consists of three parts:
Condition
When a specific option has a specific value selected...
Action
...perform an action on another option block.
Fallback (Optional)
...otherwise, do something else.
Creating a Rule
- 1In the project editor, switch to Options mode.
- 2Click the "Conditional Logic" button (or lightning bolt icon) in the toolbar.
- 3Click "Add Rule".
- 4Set the IF condition: choose the source option block, the comparison operator (equals, not equals, contains, etc.), and the trigger value.
- 5Set the THEN action: choose the target option block and what should happen (show, hide, enable, disable, set value).
- 6Optionally, set an ELSE action for when the condition is not met.
- 7Save the rule. It takes effect immediately in the configurator.
Available Actions
| Action | Effect |
|---|---|
| Show | Makes the target option block visible. |
| Hide | Hides the target option block from the user. |
| Enable | Makes the target option block interactive (clickable). |
| Disable | Greys out the target option block so it cannot be changed. |
| Set Value | Automatically sets the target option to a specific value. |
Target Scopes
When creating a rule, you choose a target scope that determines what the rule affects. There are four scopes:
| Scope | What It Targets | Use Case |
|---|---|---|
| Entire Block | The whole option block UI panel | Hide an entire section (e.g. hide "Armrest Colour" when armrests are off). |
| Specific Variants | Individual variant options within a block | Hide indoor-only fabric options when "Outdoor" is selected. |
| Materials | Material assignments on 3D objects | Swap the material applied to a part based on another selection (e.g. apply "Outdoor Paint" material when "Outdoor" is chosen). When a block becomes visible via a conditional rule, the default material is auto-applied to the viewport. |
| 3D Objects | Whole 3D objects in the viewport (UI stays visible) | Hide the headrest mesh when "Minimal" style is chosen, while keeping the option block visible. |
| 3D Parts | Individual mesh parts (sub-meshes) in the viewport | Hide stitching detail or logo embossing on a plain finish without affecting the parent object. |
targetObjectName (e.g. "headrest_mesh") or via targetObjectIds in visibilityConfig. Use 3D Parts to target individual mesh parts by their targetPartName / targetPartNames (e.g. "logo_emboss", "stitching_detail"). Both 3D scopes affect only the viewport — the UI option block remains visible.Example: 3D Part Visibility
A sofa configurator where the decorative stitching and button cap details are hidden when the user selects a "Plain" finish, but the finish selector block remains visible.
IF "Finish Style" equals "Plain"
THEN Hide 3D Parts: "stitching_detail", "button_caps", "logo_emboss"
The option block UI stays fully interactive — only the mesh parts are hidden in the 3D viewport.
Examples
Example 1: Material-Dependent Colour Options
A sofa configurator has a "Material Type" dropdown (Leather, Fabric). Show different colour options depending on the selection.
IF "Material Type" equals "Leather"
THEN Show "Leather Colours"
ELSE Hide "Leather Colours"
IF "Material Type" equals "Fabric"
THEN Show "Fabric Colours"
ELSE Hide "Fabric Colours"
Example 2: Size-Dependent Add-ons
A table configurator where "Extension Leaf" is only available for tables with length > 180cm.
IF "Table Length" greater than 180
THEN Show "Extension Leaf Option"
ELSE Hide "Extension Leaf Option"
Example 3: Cascading Selections
A bicycle configurator where choosing "Road Bike" frame type automatically sets tyre width to "23mm" and hides the "Suspension" option.
IF "Frame Type" equals "Road Bike"
THEN Set Value "Tyre Width" = "23mm"
IF "Frame Type" equals "Road Bike"
THEN Hide "Suspension Type"
ELSE Show "Suspension Type"
Advanced: AND / OR Multi-Conditions
For more complex scenarios, you can combine multiple conditions using AND (all must be true) and OR (any can be true) operators. This lets you build sophisticated configuration logic.
| Operator | Meaning | Use Case |
|---|---|---|
| AND | All conditions must be true for the action to trigger. | Show "Premium Engraving" only when BOTH "Material = Gold" AND "Size = Large". |
| OR | Any one condition being true triggers the action. | Show "Warranty" option when "Material = Steel" OR "Material = Aluminium". |
| NOT | Inverts a condition. | Show "Paint Colour" only when material is NOT "Natural Wood". |
Example 4: AND — Multiple Conditions Required
A laptop configurator where "4K Display Upgrade" is only shown when the user selects a high-end processor AND at least 16GB RAM.
IF "Processor" equals "Intel i9" AND "RAM" greater than or equals "16GB"
THEN Show "4K Display Upgrade"
ELSE Hide "4K Display Upgrade"
Example 5: OR — Any Condition Triggers
A kitchen configurator where the "Handle Style" option should appear when the user chooses any cabinet type that has handles (as opposed to push-to-open).
IF "Cabinet Type" equals "Shaker" OR "Cabinet Type" equals "Traditional" OR "Cabinet Type" equals "Country"
THEN Show "Handle Style"
ELSE Hide "Handle Style"
Example 6: Nested AND + OR — Complex Logic
A furniture configurator where a "Premium Fabric Protection" add-on is only available when the material is fabric (not leather/wood) AND the size is either Medium or Large.
IF (
"Material Type" equals "Fabric"
AND
( "Size" equals "Medium" OR "Size" equals "Large" )
)
THEN Show "Premium Fabric Protection" + Set Value "Protection Price" = "$49"
Modular Self-Snap Rules (Per-Instance)
In Modular projects, a Modular option block can reference itself in the WHEN clause. This lets you author rules that hide or show parts of a placed module only when another instance of the same module snaps onto it. The hide/show effect applies only to the host (the existing module being snapped onto). The newly placed module that triggers the rule is unaffected.
Example 6: Hide a side panel when another module connects on that side
A pergola configurator with an "Extension Roof" modular block. When two extension-roof modules are connected, the shared wall between them should disappear from the host module so the roofs read as one continuous piece.
THEN Hide 3D Parts on "Extension Roof" → skeleton_extra_side
WHEN "Extension Roof" (this block · self-snap) has selected, snapped on side Left
Result: only the host's skeleton_extra_side meshes hide. Other placed extension-roof instances that have nothing snapped on their Left side keep all parts visible.
snappedTo.moduleId equals that host (and that match the chosen side) are considered. Hide/show effects are written to a per-instance map and applied to that host's clone alone — never to the global model.Creating Multi-Condition Rules
- 1Open the Conditional Logic panel and click "Add Rule".
- 2Set your first IF condition as normal.
- 3Click the "+ Add Condition" button below the first condition.
- 4Choose "AND" or "OR" to connect the new condition to the first.
- 5Set the second condition's source option block, operator, and value.
- 6Repeat to add more conditions as needed. You can mix AND and OR operators.
- 7Set the THEN and optional ELSE actions.
- 8Save the rule and test it in the Share preview.
Pricing Mode
Pricing mode lets you set up real-time price calculation for your product configurator. Add price blocks, link them to option blocks, and build formulas — the total price updates instantly as users change options.
Price Block Types
There are five types of price blocks. Each represents a different pricing concept. Unique Price appears only for Enterprise Modular projects.
1. Base Price
A single fixed starting price for the product. There can only be one Base Price block per project. This is the foundation that other blocks add to or multiply.
- 1Switch to Pricing mode in the editor.
- 2Click "Add Price Block" and choose "Base Price".
- 3Enter the base price value (e.g., 500).
- 4The base price appears as the minimum price before any options are selected.
2. Price Group
Links to one or more option blocks and assigns a price to each variant. When the user selects a variant, its price is added to the total. Also supports Modular option blocks — each placed module instance is priced individually — and Number Input option blocks — each numeral variant's price is multiplied by the runtime numeric value the end user enters.
- 1Click "Add Price Block" and choose "Price Group".
- 2Select the option block to link to (e.g., "Frame Finish", "Seat Material", a Modular block, or a Number Input block).
- 3For each variant (or module type, or numeral variant), enter a price value.
- 4Variants or module types without a price default to 0 (no additional cost).
- 5For Modular blocks, the price label shows "/ unit" — it is charged per placed module instance.
- 6For Number Input blocks, the price label shows "/ unit" — it is multiplied by the numeric value the end user enters for that variant: [number] × price.
3. Price Table
A 2D matrix that cross-references two option blocks to determine a price. Useful when the price depends on the combination of two selections (e.g., size × material). Either axis can be a dropdown, select-material, checkbox, toggle, carousel, modular, or Number Input block.
- 1Click "Add Price Block" and choose "Price Table".
- 2Select the first option block for rows (e.g., "Size") and the second for columns (e.g., "Material").
- 3Fill in the price grid — each cell represents the price for that specific row × column combination.
- 4When the user selects a size and a material, the corresponding cell value is used.
- 5When an axis is a Number Input, the cell price is multiplied by the runtime numeric value for that variant; if both axes are Number Inputs, it is multiplied by both.
4. Unique Price
An Enterprise-only block for Modular projects. It prices one chosen module variant by the quantity placed by the consumer and one correspondent option selection, so configured quantity breaks can be unique while higher quantities extend with that column option's Default row value.
- 1Open an Enterprise Modular project and switch to Pricing mode.
- 2Click "Pricing" and choose "Unique Price".
- 3Select the modular block and exactly one module variant, such as "Connect Full Wall".
- 4Add quantity rows such as 1, 2, and 3 for the non-linear breakpoints you want to price directly.
- 5Select another option block for the columns, such as "Treatment Options".
- 6Fill the grid with exact total prices for each quantity and option variant.
- 7Fill the Default row with the per-extra fallback price for each option variant column.
5. Variable
A custom numeric variable that can either be a standalone slider/input or linked to an option block. Variables are referenced in formulas for dynamic calculations. When linked to a Modular option block, each placed module instance contributes its per-unit price — useful for module-count pricing inside formulas. When linked to a Number Input block, each variant's price is multiplied by the numeric value the end user enters.
- 1Click "Add Price Block" and choose "Variable".
- 2Name the variable (e.g., "Quantity", "Custom Width", "Discount %", "Modules Cost").
- 3Choose "Custom" for a standalone slider or "For Options" to link to an option block.
- 4For "For Options" mode: select the option block (can be a Modular or Number Input block) and set a price per variant.
- 5For "Custom" mode: set min, max, step, and default values for the slider.
- 6Use this variable in the price formula (see below).
[Base Price] + [Modules Cost]. As modules are placed or removed, the total updates in real time.6. SKUs on Priced Variants (Enterprise Modular)
On Modular projects with an Enterprise plan, every priced variant or cell in Price Group, Variable (For Options), Price Table, and Unique Price blocks can carry an SKU. SKUs are persisted alongside prices and travel with the configuration through the live breakdown, quote/form submissions, and Shopify draft orders — typically used to map configurator output to ERP / inventory codes.
- 1Open an Enterprise Modular project and switch to Pricing mode.
- 2Open a Price Group or Variable (For Options) block — a small SKU input appears under each variant's price field. Type the SKU (max 64 chars) and it persists automatically.
- 3Open a Price Table or Unique Price editor modal — click the "Show SKUs" button in the toolbar. Each cell now stacks a SKU input below its price. The toggle re-opens automatically next time if any SKU has been authored.
- 4Empty SKU fields are not persisted (no empty strings in the saved project).
- 5Verify in the Share preview: open the price breakdown details — the matching SKU appears in muted monospace next to each line item.
pricingBreakdown array sent to the Shopify draft-order endpoint includes a sku field on each line. The SDK exposes the same fields on the pricing block payload (variantSkus, tableCellSkus, uniquePriceCellSkus, uniquePriceDefaultCellSkus, variableOptionSkus) so headless integrations can reconcile against ERP/inventory.Price Formula
The price formula defines how all price blocks combine into a final total. Simplio3D uses a visual token-based formula editor — you build formulas by clicking to insert block references, operators, numbers, and parentheses.
Formula Tokens
| Token Type | Description | Example |
|---|---|---|
| Block Reference | Inserts the current value of a price block. Click to browse and select. | [Base Price], [Wood Type], [Size × Material] |
| Number | A literal numeric constant. | 100, 0.15, 2.5 |
| Operator | Arithmetic operators. | + (add), − (subtract), × (multiply), ÷ (divide) |
| Parentheses | Group expressions to control evaluation order. | ( [Base] + [Material] ) × [Quantity] |
Formula Examples
// Simple additive pricing
[Base Price] + [Frame Finish] + [Seat Material] + [Add-ons]
// Quantity-based pricing
( [Base Price] + [Material Upgrade] ) × [Quantity]
// Size-material matrix with discount
[Size × Material Table] × ( 1 − [Discount %] ÷ 100 )
Setting Up Pricing: Step by Step
- 1Go to Project Settings > Pricing tab. Set the currency symbol, prefix/suffix, and tax settings.
- 2Go to Project Settings > Display tab. Enable "Show Price".
- 3Switch to Pricing mode in the editor.
- 4Add a Base Price block and set the starting price.
- 5Add Price Group blocks for each option block that affects the price — enter variant prices.
- 6Add Price Tables for any two-dimensional pricing (size × material combos).
- 7For Enterprise Modular projects, add Unique Price blocks when one module type needs non-linear quantity pricing with per-column Default row fallback prices.
- 8Add Variables for dynamic inputs like quantity or custom dimensions.
- 9Open the Formula editor. Build the formula by clicking to insert block references and operators.
- 10Test pricing in the Share preview. Change options and verify the total updates correctly.
Pricing Settings (Project Settings > Pricing Tab)
| Setting | Description |
|---|---|
| Currency Symbol | The currency symbol displayed (e.g., $, €, £, kr, ¥). |
| Currency Position | Prefix ($100) or Suffix (100€). |
| Decimal Places | Number of decimal places shown (0, 1, or 2). |
| Thousand Separator | Comma, dot, space, or none. |
| Tax Rate | Optional tax percentage applied to the total. |
| Tax Label | Label displayed next to the tax amount (e.g., "VAT", "Tax", "GST"). |
| Show Tax Breakdown | Show the tax amount separately below the total. |
Forms Mode
Forms mode lets you add a contact or quote request form to your configurator. Users fill out the form with their details, and the submission includes their full configuration, calculated price, and a 3D screenshot.
Form Field Types
There are 11 field types available. Drag to reorder fields in the form editor.
| Field Type | Description | Key Settings |
|---|---|---|
| Name | A name input. Can be a single full-name field or split into first + last name. | Required, placeholder, split mode. |
| Email address with built-in format validation. | Required, placeholder, confirmation email toggle. | |
| Text Input | Single-line free text for company name, order reference, etc. | Required, placeholder, min/max length. |
| Telephone | Phone number input with international format support. | Required, placeholder, country code prefix. |
| Dropdown | Select from predefined options (e.g., "How did you hear about us?", "Budget range"). | Required, option list, placeholder. |
| Country / State / City | Cascading location selector — country first, then state, then city. | Required, show/hide each level. |
| Acceptance (Checkbox) | A single checkbox for terms, privacy policy, or marketing consent. | Required (must be checked), label with link support. |
| Submit Button | The form submission button. Customise the label and style. | Button label, loading text, success text. |
| Add to Cart | An "Add to Cart" button for e-commerce integrations. Sends the configuration to the cart. | Button label, integration target (WooCommerce, Shopify, etc.). |
| Header / Title | A non-interactive heading for grouping form sections. | Heading text, size (H2, H3, H4). |
| Confirmation | A confirmation / success message displayed after form submission. | Success heading, success message, redirect URL (optional). |
Setting Up a Form: Step by Step
- 1Go to Project Settings > Display tab and enable "Show Form". Set the form button label (e.g., "Request Quote", "Get Pricing", "Contact Us").
- 2Switch to Forms mode in the editor.
- 3Click "Add Field" and choose a field type from the list.
- 4For each field, configure: label, placeholder, required/optional, and any type-specific settings.
- 5Drag fields to reorder them in the form.
- 6Add a "Header / Title" field to group related sections (e.g., "Contact Details", "Shipping Address").
- 7Add an "Acceptance" checkbox with a link to your terms/privacy page.
- 8Configure the "Confirmation" field — this is the success message users see after submission.
- 9Add either a "Submit" button or an "Add to Cart" button (for e-commerce integrations).
Custom CSS Presets
Each form field supports a Custom CSS preset. This lets you override the default field styling without editing global CSS. Use it for branding adjustments like border radius, font size, or padding.
Form Preview & Validation
Use the Form Preview to test your form without leaving the editor. The preview runs full validation diagnostics — it highlights required fields, checks email format, and verifies that all submission requirements are met. Fix any validation warnings before publishing.
What Users See
When "Show Form" is enabled, a button (e.g., "Request Quote") appears in the configurator. Clicking it opens the form. After submission, the form data, the current configuration state, a 3D screenshot, and the calculated price (if pricing is enabled) are all captured and sent as a Request.
Project Settings
Project Settings is organised into 9 tabs that control every aspect of how your project looks, behaves, and integrates with external services. Access it via the gear icon in the editor toolbar.
1. Display Tab
Controls which UI elements are visible in the configurator and how the layout is structured.
| Setting | Description |
|---|---|
| Show Sidebar | Show or hide the options sidebar in the configurator. |
| Show Price | Enable the pricing display. When on, the Pricing mode becomes active and prices appear to end users. |
| Show Form | Enable the quote/contact form button. When on, the Forms mode becomes active. |
| Show Dimensions | Display dimension labels on the 3D model. |
| Show Floating Tools | Show the floating toolbar (AR, screenshot, fullscreen, zoom buttons) in the viewport. |
| Show Watermark | Display or hide the Simplio3D watermark. Available on paid plans. |
| Layout | Choose the sidebar position: Left, Right, or Bottom panel layout. |
| Preview & Share Language | Pin a UI language for the Preview modal and the public Share view. Choose "Auto" to inherit the visitor's language, or pick any of the 15 supported locales. Translates option-block chrome (Dropdown, Thumbnails Selector, Select Material, Checkbox, Toggle Switch, Number Input, Carousel, Scenery, File Upload, Text Input, Pattern Designer, Design Canvas) and the Floating Tools toolbar. Variant names and other content you author stay as written. |
2. Branding Tab
Customise the visual identity of the configurator to match your brand.
| Setting | Description |
|---|---|
| Primary Colour | Your brand accent colour, used for buttons, active states, and highlights. |
| Secondary Colour | Optional secondary colour for subtle accents. |
| Background Colour | Background colour of the sidebar and UI panels. |
| Font Family | Choose a font for all configurator UI text. Supports Google Fonts. |
| Font Size | Base font size for the configurator UI. |
| Border Radius | Corner rounding for buttons, cards, and UI elements (e.g., 0 for sharp, 8 for rounded, 999 for pill). |
| Button Style | Style preset for buttons: Filled, Outline, Ghost, or Minimal. |
| Action Button Colours | Set separate default, hover, and text colours for Submit and Add to Cart buttons in Preview and Share. |
| Logo | Upload your company logo. Displayed in the configurator header. |
| Custom CSS | Inject custom CSS for advanced styling overrides on the embedded configurator. |
3. Pricing Tab
Configure currency, tax, and price display format.
| Setting | Description |
|---|---|
| Currency Symbol | The currency symbol (e.g., $, €, £, kr, ¥). |
| Currency Position | Prefix ($100) or Suffix (100 €). |
| Decimal Places | 0, 1, or 2 decimal places. |
| Thousand Separator | Comma, dot, space, or none. |
| Tax Rate (%) | Tax percentage to apply on top of the calculated total. |
| Tax Label | Label shown next to the tax amount (e.g., "VAT", "GST", "Tax"). |
| Price Prefix Text | Text shown before the price (e.g., "From", "Starting at"). |
| Price Suffix Text | Text shown after the price (e.g., "excl. VAT", "/month"). |
4. Lighting Tab
Control the scene lighting and environment.
| Setting | Description |
|---|---|
| Environment Preset | Choose from built-in HDR environments (Studio, Warehouse, Sunset, etc.) or upload a custom HDR. |
| HDR Intensity | Brightness of the HDR environment reflections (0 – 5). Affects how strongly metallic surfaces reflect. |
| Light Intensity | Brightness of the main directional light. |
| Ambient Intensity | Brightness of the ambient fill light (lights up shadows). |
| Shadow | Enable or disable shadow casting. Configure shadow softness and opacity. |
| Shadow Position | Adjust shadow ground plane offset. |
5. Camera Tab
Configure the 3D camera behaviour and constraints.
| Setting | Description |
|---|---|
| Field of View (FOV) | Camera FOV angle in degrees (10 – 120). |
| Min / Max Zoom Distance | How close and far the user can zoom. |
| Enable Panning | Allow users to pan (drag) the camera sideways. |
| Enable Rotation | Allow users to orbit the camera around the model. |
| Auto-Rotate | Automatically spin the model when idle. Set speed and direction. |
| Min / Max Polar Angle | Restrict vertical orbit range (e.g., prevent viewing from below). |
| Min / Max Azimuth Angle | Restrict horizontal orbit range. |
| Initial Camera Position | The default camera position when the project loads. |
| Auto-Reframe on Module Connect (Modular only) | When on, the camera automatically adjusts to keep all placed modules in view each time a module is added or connected in Preview and Share. Turn off to let end users manage their own camera position. |
6. Loading Tab
Customise the loading screen that appears while the 3D model downloads.
| Setting | Description |
|---|---|
| Animation Style | Choose the loading animation: spinner, progress bar, skeleton, or custom. |
| Background Colour | Background colour of the loading screen. |
| Accent Colour | Colour of the loading spinner or progress bar. |
| Show Progress | Display a percentage or byte-count progress indicator. |
| Custom Logo | Display your logo during loading instead of the default spinner. |
7. Advanced Tab
Advanced features and integrations.
| Setting | Description |
|---|---|
| Enable AR | Turn on Augmented Reality support (see the AR tutorial for details). |
| USDZ File | Upload a .usdz file for native iOS AR Quick Look. |
| Auto-Launch AR | Automatically open AR when users visit the share link on mobile with ?ar=1. |
| AR Analytics | Track AR-related events (dialog opened, QR scanned, AR launched). |
| Google Analytics ID | Your GA4 measurement ID for tracking configurator usage. |
| Custom Scripts | Inject custom JavaScript that runs in the shared viewer (e.g., tracking pixels, chat widgets). |
| Webhooks | POST request URLs that fire when a form is submitted or a configuration is saved. Useful for CRM integration. |
8. PDF Tab
Configure the PDF document generated from form submissions and quote requests.
| Setting | Description |
|---|---|
| Company Name | Your company name displayed on the PDF header. |
| Company Address | Address shown on the PDF. |
| Company Logo | Logo displayed in the PDF header. |
| Include Configuration | Include the full option breakdown in the PDF. |
| Include Pricing | Include price breakdown in the PDF. |
| Include Screenshot | Include a 3D screenshot of the configuration. |
| Terms & Conditions | Custom terms text appended to the footer of the PDF. |
9. Email Tab
Configure email notification delivery for form submissions.
| Setting | Description |
|---|---|
| SMTP Driver | Choose the email delivery method: Default (Simplio3D servers), Custom SMTP, or SendGrid. |
| Notification Email(s) | Email address(es) that receive notifications when a form is submitted. Comma-separated for multiple. |
| Email Subject Template | Customise the email subject line. Supports variables like {project_name}, {customer_name}. |
| Email Template | Customise the email body HTML template. Supports variables for form fields and configuration data. |
| Send Test Email | Send a test email to verify your SMTP configuration is working. |
Sharing & Embedding
Share your 3D project with clients, embed it on your website, or distribute it via a direct link. This section covers all sharing options.
Enabling the Share Link
- 1Open your project in the editor.
- 2Go to Project Settings (or click the Share icon in the top toolbar).
- 3Find the "Share" section and toggle "Enable Share Link" to on.
- 4A unique share URL will be generated (e.g., https://app.simplio3d.com/share/[projectId]/[token]).
- 5Copy the link and send it to anyone. They can view and interact with the configurator without needing an account.
Embedding with iframe
To embed the configurator on your website, use the provided iframe code.
- 1After enabling the share link, click the "Embed" tab in the sharing panel.
- 2Copy the iframe embed code provided.
- 3Paste the code into your website's HTML where you want the configurator to appear.
- 4Adjust the width and height attributes to fit your page layout.
- 5Optionally configure "Allowed Embed Domains" in settings to restrict which websites can host the iframe.
<!-- Example embed code -->
<iframe
src="https://app.simplio3d.com/share/YOUR_PROJECT_ID/YOUR_TOKEN"
width="100%"
height="600"
frameborder="0"
allow="autoplay; fullscreen; xr-spatial-tracking"
allowfullscreen
></iframe>
Other Sharing Options
| Option | Description |
|---|---|
| Direct Link | A standalone URL that opens the configurator in a full page. Best for sharing via email, chat, or social media. |
| QR Code | Generate a QR code that links to the share URL. Useful for print materials, trade shows, or product packaging. |
| Embed Code | Copy-paste iframe HTML for embedding on any website. |
| Responsive Embed | The embed automatically adapts to the container size. Use percentage-based width for responsive layouts. |
| Password Protection | Optionally require a password to access the shared project and its public share actions. |
Sharing Settings
The sharing dialog has three tabs:
| Tab | What It Contains |
|---|---|
| Link | The direct share URL and QR code. Copy or regenerate the share token. |
| Embed | The iframe embed code with width/height options. Copy-paste into any website. |
| Settings | Allowed Embed Domains for iframe hosts, password protection, and token regeneration for revoking old links. |
position: relative; padding-bottom: 56.25%; and set the iframe to position: absolute; width: 100%; height: 100%; for a perfectly responsive 16:9 aspect ratio.Save Configuration (Enterprise)
Let visitors save their in-progress configuration via email. A Save (bookmark) icon appears in the Floating Tools of the share view and the embedded iframe. Clicking it opens a modal asking for an email address; the visitor then receives a permalink that restores their exact selections — materials, dimensions, modular placements, the lot.
- 1Open the project in the editor and switch to Project Settings → Advanced tab.
- 2Find the "Save Configuration" card (visible only on the Enterprise plan, for Configurator and Modular project types).
- 3Toggle "Enable Save Configuration" on. Disabled by default.
- 4Make sure the project's Email settings are configured (SMTP / SendGrid / Gmail / SES / Mailgun) — the permalink email goes through the same delivery pipeline as form submissions.
- 5Publish or re-share the project. The Save icon now appears in the Floating Tools toolbar in the Share view (and inside iframe embeds).
| Property | Value |
|---|---|
| Plan required | Enterprise only |
| Project types supported | Configurator, Modular (not Viewer) |
| Retention | 90 days. After that the permalink returns "this saved configuration has expired". Expired rows are auto-purged when you open Dashboard → Saved Configurations. |
| Email driver | Project Email settings (SMTP / SendGrid / Gmail / SES / Mailgun) or the platform-level SendGrid override. |
| Captured | Email (required), name (optional), GDPR consent (required). An invisible honeypot deters bots. |
| Rate limit | 5 saves per 10 minutes per IP and per email. |
| Storage cap | 5,000 live saves per Enterprise account. Server auto-purges expired rows first; if no slot frees, the oldest live record is evicted (LRU). |
| Owner view | Dashboard → Saved Configurations (Enterprise-only sidebar entry). Shows email, project, date, days remaining, resend count; you can resend the email, copy/open the permalink, or delete. |
| Resend | Each saved configuration can be re-emailed up to 3 times from the dashboard. |
| Webhook event | configuration.saved fires after the email attempt. Subscribe in Project Settings → Advanced → Webhooks. Payload includes emailDelivered so CRMs can react to bounces. |
| Inline button | Add a "Save Configuration" form-field type to put the Save button inline with your form (Submit / Add to Cart row) instead of (or in addition to) the Floating Tools icon. Useful when Floating Tools is hidden. |
/share/PROJECT_ID/TOKEN?c=SAVED_ID. When the share viewer loads with the ?c= query, it fetches the saved snapshot and applies it on top of the project defaults.configuration.saved webhook to pipe leads into your CRM the moment a visitor saves. The payload includes the visitor's email, name, the permalink, a thumbnail URL, and the configuration summary. emailDelivered: false lets you re-send via your own infrastructure if the project SMTP bounces.WooCommerce Integration
Connect your Simplio3D configurator to WooCommerce and let customers configure products in 3D, then send them to checkout or add them to their cart. Two integration modes are available: Redirect to Checkout and Add to Basket.
Integration Modes
Redirect to Checkout
After configuring the product, the user is redirected directly to the WooCommerce checkout page with the configured product and price. No plugin required — uses a direct URL redirect with configuration data encoded in the URL parameters.
Add to Basket
After configuring, the product is added to the WooCommerce shopping cart (without redirecting). The user can continue shopping and add more products. Requires the Simplio3D WooCommerce plugin installed on your WordPress site.
Prerequisites
- A WordPress website with WooCommerce installed and activated.
- A Simplio3D account with at least one Configurator project with pricing enabled.
- The project must have Share Link enabled.
- For "Add to Basket" mode: WordPress admin access to install the Simplio3D WooCommerce plugin.
Linking a WooCommerce Product
- 1In the Simplio3D editor, open your project.
- 2Go to the WooCommerce integration panel (or Project Settings > Advanced > WooCommerce).
- 3Choose the integration mode: "Redirect to Checkout" or "Add to Basket".
- 4Click "Link Product" to search for or browse your WooCommerce products.
- 5Select the WooCommerce product to link. The product name, SKU, and price are displayed for confirmation.
- 6Save the integration. The configurator now includes a checkout / add-to-cart action.
Setup: Redirect to Checkout
- 1Choose "Redirect to Checkout" mode in the integration panel.
- 2Link your WooCommerce product (see above).
- 3The configurator will show a "Buy Now" or "Proceed to Checkout" button (label is customisable).
- 4When clicked, the user is redirected to your WooCommerce checkout URL with the product ID and configuration data.
- 5No plugin installation needed — this mode works with any standard WooCommerce setup.
Setup: Add to Basket
- 1Download the Simplio3D WooCommerce plugin from Dashboard > Integrations > WooCommerce.
- 2In your WordPress admin, go to Plugins > Add New > Upload Plugin. Install and activate the .zip file.
- 3In the Simplio3D editor, choose "Add to Basket" mode.
- 4Link your WooCommerce product.
- 5The configurator will show an "Add to Cart" button.
- 6When clicked, the configured product is added to the WooCommerce cart via the plugin API — the user stays on the page and can continue configuring or browsing.
- 7The cart item includes: product name, all configuration details, a 3D screenshot thumbnail, and the calculated price.
How It Works for Customers
- 1The customer opens the configurator (embedded on the product page or via a share link).
- 2They configure the product — choosing materials, colours, options, dimensions, etc.
- 3The price updates in real time as they change options.
- 4They click the checkout/cart button.
- 5For Redirect mode: they are sent to the WooCommerce checkout with the product pre-added.
- 6For Basket mode: the product is silently added to their cart. A confirmation toast appears.
- 7The WooCommerce order contains all configuration details, the calculated price, and a screenshot.
Shopify Integration
Connect your Simplio3D configurator to Shopify via the Admin API. Configured products are added as Draft Orders in your Shopify admin.
Prerequisites
- A Shopify store (any plan).
- A Simplio3D account with at least one published Configurator project.
- Access to the Shopify Dev Dashboard to create a custom app.
- The project must have Share Link enabled.
Creating a Shopify App (Dev Dashboard)
- 1Go to dev.shopify.com and sign in with your Shopify account.
- 2Click "Create an app" and give it a name (e.g. "Simplio3D Connector"). Choose "Create app manually".
- 3Go to the "Versions" tab and click "Create version".
- 4Under Access scopes, search for and add the write_draft_orders scope, then save the version.
- 5Go to the "Overview" tab and click "Install app" to install it on your store.
- 6Go to "Settings" > "App credentials" and copy the Client ID and Client Secret.
Connecting in Simplio3D
- 1In the Simplio3D dashboard, go to Dashboard > Integrations > Shopify.
- 2Enter your Shop name (the myshopify.com subdomain, e.g. "my-store").
- 3Paste the Client ID and Client Secret from the Shopify Dev Dashboard.
- 4Click "Test Connection" to verify the credentials.
- 5Save the integration. You can now link projects to Shopify products.
Linking Projects to Products
- 1Open a project in the Simplio3D dashboard.
- 2Go to the Shopify linking dialog and select the product to connect.
- 3You can also use batch linking to connect multiple projects at once (up to 50).
Checkout Modes
Pick one of three checkout modes in Integrations > Shopify. Each project share viewer routes Add to Cart clicks through the active mode.
| Mode | Use when | Notes |
|---|---|---|
| Cart link | You have one Shopify product per Simplio3D project and just want a basic cart redirect. | Per-project link required (`Shopify linking dialog`). No price override, no breakdown — the customer pays the catalog variant price. |
| Draft order | You need to push the configurator total (including formula/tax) as the order total and surface the configuration summary on the order. | Creates a pending Draft Order via Admin API with `priceOverride` and `customAttributes`. Customer gets an invoice URL. |
| SKU-matched cart (Enterprise) | You author SKUs on priced variants and want a real Shopify cart with one line per priced selection. | No per-project link, no extra credentials — uses the Admin API you already configured. |
SKU-Matched Cart (Enterprise)
The third mode matches every priced variant in your projects to a Shopify variant by SKU at checkout time, then redirects the customer to a multi-line Shopify cart permalink (/cart/{variant1}:{qty},{variant2}:{qty}). It's the natural pair for the SKU authoring feature on Price Group, Variable, Price Table, and Unique Price blocks.
What you need
Just the Admin API credentials you already configured in Step 2 — Client ID + Client Secret. No separate Storefront API token, no pre-sync. SKUs are resolved live whenever a customer clicks Add to Cart.
client_credentials grant; Simplio3D never asks you to paste an Admin token directly. The same credentials power the connection test, the product list, the Draft Order mode, and the SKU-matched cart.Setup steps
- 1Make sure you have an Enterprise plan and have authored SKUs on the priced variants you want sold (Pricing tab → SKU field next to each variant price).
- 2Open Dashboard → Integrations → Shopify. Connect with your Client ID + Client Secret (Step 2 of the wizard) and run the connection test.
- 3Pick "SKU-matched cart" as the checkout mode and save.
- 4Open any of your projects → Pricing tab. You'll see a small ✓ / ✗ / ⚠ badge next to every SKU input — that's the live check against your Shopify store. Fix any ✗ (not found) or ⚠ (duplicate) flags before sharing the project.
In-editor SKU validation
While you type a SKU into a pricing block, Simplio3D queries your Shopify Admin API (debounced 600 ms) and renders a tiny badge next to the input:
| Badge | Meaning | Action |
|---|---|---|
| ✓ green check | Exactly one Shopify variant has this SKU. Hover for the product + variant title. | No action — ready for checkout. |
| ✗ red X | No Shopify variant has this SKU. | Either create the variant in Shopify, or update the SKU on the priced variant. |
| ⚠ amber triangle | More than one Shopify variant shares this SKU. | Clean up Shopify so each SKU is unique. The cart will skip this row until resolved. |
| (nothing) | Shopify isn't connected, you're not on Enterprise, or the SKU field is empty. | No badge is rendered — editing is unaffected. |
How checkout works
- The share viewer reads the live pricing breakdown — each row carries its SKU when authored.
- On Add to Cart, the viewer POSTs
{ items: [{ sku, quantity, label?, parentName?, amount? }], configurationSummary?, note? }toPOST /share/:projectId/:token/shopify-sku-cart. - The server validates the share token, confirms the project owner is on Enterprise, resolves each SKU to a numeric Shopify variant ID via the Admin API (one batched GraphQL call), and builds a multi-line cart permalink.
- The customer is redirected to that permalink. Unmatched SKUs are skipped and reported in the response so the merchant can see what didn't make it into the cart.
Draft Order Integration
In the shared viewer, the Add to Cart button first checks Shopify mode. If Push price & configuration summary is enabled, clicking Add to Cart creates a Draft Order and redirects the customer to the invoice checkout URL.
- Configured option summary in draft-order custom attributes and note text.
- Configured price override when pricing is configured for the project.
- Fallback to normal Shopify cart URL when Push price & configuration summary is disabled.
- Invoice URL generation via Draft Order API response (with fallback attempts if invoiceUrl is not returned immediately).
write_draft_orders scope is required for Draft Order mode; read_products + read_product_listings are needed for the SKU-matched cart mode (both look up variants by SKU).API & SDK Quick Start
Use the Simplio3D API and JavaScript SDK to build fully custom 3D configurator experiences. This guide helps you get started quickly.
Step 1: Generate an API Key
- 1Go to Dashboard > Integrations.
- 2Find the "API Keys" section.
- 3Click "Generate New API Key".
- 4Give the key a descriptive name (e.g., "Production Website", "Staging").
- 5Copy the generated key immediately — it won't be shown again.
- 6Store the key securely (environment variables, not in client-side code).
Step 2: Make Your First API Call
// List all your projects
const response = await fetch(
'https://your-instance.supabase.co/functions/v1/make-server-0532dd87/projects',
{
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
}
}
);
const data = await response.json();
console.log(data.projects);
Step 3: Use the JavaScript SDK
The SDK provides a higher-level interface for embedding and controlling the 3D viewer programmatically.
// Install the SDK
npm install @simplio3d/sdk
// Initialise the viewer
import { Simplio3D } from '@simplio3d/sdk';
const viewer = new Simplio3D({
container: '#viewer-container',
projectId: 'YOUR_PROJECT_ID',
token: 'YOUR_SHARE_TOKEN',
});
await viewer.init();
What You Can Do
Embed 3D Viewers
Embed interactive 3D viewers with full camera control, lighting, and animation support.
Control Options
Programmatically set option values, listen for changes, and react to user selections.
Calculate Prices
Trigger price calculations and receive the result, including breakdowns per option.
Submit Forms
Submit quote requests programmatically with custom form data.
Full Documentation
For complete API endpoint reference and SDK method documentation, visit:
Augmented Reality (AR)
Let your customers see 3D models in their real environment using AR. Simplio3D supports two AR modes — Default (surface placement) and Wearable (virtual try-on) — on both iOS (AR Quick Look) and Android (Google Scene Viewer).
?ar=1, which auto-launches AR on the phone.AR Modes
Default Mode (Surface Placement)
The standard AR experience. Users point their phone camera at a flat surface (floor, table, desk) and the 3D model is placed in their real environment. They can then walk around it, zoom in, and see it at real-world scale. Best for furniture, appliances, decor, packaging, and any freestanding product.
Wearable Mode (Virtual Try-On)
A body-tracking AR experience where the 3D model is attached to the user's body. The model follows the user's face, wrist, hand, or body as they move. Best for jewellery, watches, glasses, hats, masks, and accessories.
Wearable Mode Categories
| Category | Tracking Target | Example Products |
|---|---|---|
| Face | Tracks the user's face using front camera. | Glasses, sunglasses, masks, face shields, headbands. |
| Wrist / Hand | Tracks the user's wrist or hand. | Watches, bracelets, rings, gloves, fitness bands. |
| Body | Tracks the user's upper body / torso. | Necklaces, scarves, ties, pendants, body armour. |
Enabling AR
- 1Open your project and click the Settings (gear) icon.
- 2Go to the "Advanced" tab.
- 3Toggle "Enable AR (Augmented Reality)" ON.
- 4Choose the AR mode: Default (surface placement) or Wearable (try-on).
- 5For Wearable mode: select the tracking category (Face, Wrist/Hand, or Body).
- 6Optionally upload a .usdz file for native iOS AR Quick Look support.
- 7Toggle "Auto-launch on mobile" to automatically open AR when users scan the QR code.
- 8Toggle "AR Analytics" to track AR engagement metrics.
- 9Save your project — AR is now available in the shared viewer.
USDZ Files for iOS
iOS AR Quick Look works best with Apple's USDZ format. Without a USDZ file, iOS may attempt to use the GLB file, but results can be unreliable.
- Apple Reality Converter (free, macOS only) — best quality
- Blender — File > Export > Universal Scene Description (.usdz)
- Online tools — Search "GLB to USDZ converter"
AR on Desktop (QR Code)
When a desktop user clicks the AR button in the floating tools toolbar:
- 1A polished QR code modal appears with an animated scanning line.
- 2The QR code encodes the share URL with ?ar=1 appended.
- 3Users scan with their phone camera (most phones support this natively).
- 4The link opens the shared viewer on their phone, which auto-launches AR.
- 5Users can also copy or open the link directly from the dialog.
AR Analytics
When AR Analytics is enabled, Simplio3D tracks the following events:
Dialog Opened
Desktop user opened the QR code modal
QR Code Copied
User copied the AR link to clipboard
iOS AR Launch
AR Quick Look opened on iPhone/iPad
Android AR Launch
Scene Viewer opened on Android
Auto-launch
AR triggered via ?ar=1 on mobile
Link Opened
User opened the AR link in a new tab
View analytics via the API: GET /projects/:id/ar-analytics
Requests Overview
The Requests section in the dashboard is your central inbox for all form submissions, quote requests, and customer enquiries. It provides full lifecycle tracking, bulk actions, CSV export, email logs, and detailed views of every submission.
Request Lifecycle
Each request moves through a status pipeline. Use statuses to track progress from initial receipt to completion.
| Status | Meaning | Next Steps |
|---|---|---|
| New | Just received — not yet opened or read. | Open the request to review details. |
| Read | Opened and reviewed by a team member. | Start working on the quote or response. |
| In Progress | Being actively worked on (quote being prepared, order being processed). | Complete the work and respond. |
| Completed | Fully handled — quote sent, order fulfilled, or enquiry answered. | Optionally archive. |
| Archived | Moved out of the active queue for record-keeping. | Can be un-archived if needed. |
Dashboard Overview
The Requests dashboard provides:
- Stats cards at the top showing counts per status (New, Read, In Progress, Completed).
- Tabs for filtering by status (All, New, In Progress, Completed, Archived).
- Search by customer name, email, or project name.
- Filters by project, date range, and status.
- Bulk actions — select multiple requests and change status, archive, or delete in bulk.
- CSV export — download all filtered requests as a CSV file for spreadsheets or CRM import.
Request Detail View
Click any request to open its detail view. The detail view contains:
| Section | What It Shows |
|---|---|
| Contact Info | Customer name, email, phone, company, and all form field responses. |
| Configuration | Every option the user selected — materials, colours, sizes, toggles — with the exact variant IDs and labels. |
| Pricing | The total price at time of submission, with per-line breakdown showing each price block contribution. |
| Screenshots | Auto-captured 3D screenshots of the configured product from different angles. |
| Attachments | Any files the customer uploaded via file-upload form fields. |
| Notes | Internal notes added by your team. Only visible to admin users, not customers. |
| Email Logs | History of all emails sent related to this request (notifications, confirmations, follow-ups). |
PDF Generation
Generate a professional PDF document from any request. The PDF includes your company branding (configured in Project Settings > PDF tab), the configuration breakdown, pricing, and screenshots. Use this for sales quotes, order confirmations, or production sheets.
Email Notifications
Receive email notifications whenever a new request is submitted:
- 1Go to the project editor > Project Settings > Email tab.
- 2Choose the SMTP driver: Default (Simplio3D servers), Custom SMTP, or SendGrid.
- 3Enter the notification email address(es) — comma-separated for multiple recipients.
- 4Customise the email subject and body templates using variables like {project_name}, {customer_name}, {total_price}.
- 5Click "Send Test Email" to verify delivery.
Email Logs Tab
Each request has an Email Logs tab that shows every email sent for that request: notification emails to your team, confirmation emails to the customer, and any follow-up emails. Each log entry shows the timestamp, recipient, subject, and delivery status.
Trial & Billing
Every new and existing Simplio3D account starts with a 30-day Pro trial. Here's how the trial works, what happens when it ends, and how to activate a paid plan.
The 30-day Pro trial
When you sign up — or the first time you log in after the trial rollout — your account is automatically enrolled in a 30-day Pro trial. During the trial you get:
- 140 projects, 1,000 materials, 100 models
- Full access to Configurator and Modular project types
- SDK / API access using your API token
- Working Share View links on all your projects
- Every integration: WooCommerce, Shopify, AR, AI Assistant
When the trial ends — the 7-day grace period
Day 31-37 is a read-only grace period, designed so your customer-facing surfaces don't break the moment your trial expires:
- Dashboard: you can still browse Projects, Materials, Assets, Requests — but saves, uploads, and edits return a 402 error.
- Share View links: still live. Your customers can keep configuring and submitting forms.
- SDK / API reads: still work, so headless storefronts keep functioning.
- SDK / API writes: return 402.
After day 37 the account becomes hard-locked:
- Dashboard pages: all locked except Billing, Profile, and Support.
- SDK / API: every call returns HTTP 402 — even reads.
- Share View links: replaced by a "Configurator unavailable" page.
- Project editor: redirects to /dashboard/billing.
Your data is preserved — projects, materials, saved configurations, integrations, API tokens, and webhook deliveries all stay intact. The moment payment succeeds, every locked surface re-enables exactly as it was. SDK API tokens are auto-rotated after 90 days of inactivity; you re-issue a new one from Profile → API after activating.
Activating a paid plan
- 1Click the "Billing" entry in the dashboard sidebar (or open Profile → Subscription tab).
- 2Pick a plan: Pro monthly, Pro yearly, Starter monthly, or Starter yearly.
- 3Click "Activate plan". You will be redirected to Stripe Checkout.
- 4Complete payment with a credit card (Stripe handles 3D Secure and tax automatically).
- 5You will be redirected back to /dashboard/profile?billing=success. Simplio3D activates the account in the background — usually within a few seconds.
Trial countdown banner
The dashboard shows a persistent banner with the remaining trial days. In the final 7 days the banner turns red and urgent. After payment is past due (failed retry on a paid plan) the banner also goes red. Click "Activate plan" (or "Update billing") to fix it.
Managing your subscription
After activation, the Billing page gives you:
- Change plan: upgrade from Starter → Pro (instant). Downgrades validate your usage against the new plan's limits and refuse if you would exceed them.
- Cancel: cancels at the end of the current billing period; your account stays active until that date.
- Resume: undoes a pending cancellation before it takes effect.
- Customer Portal: Stripe's own self-service portal for invoices, payment methods, and tax IDs.
Status reference
| Status | Access? | Meaning |
|---|---|---|
| trialing | Full | Inside the 30-day Pro trial. |
| active | Full | Paid subscription is current. |
| soft_locked | Read-only | Days 31-37 grace period. Dashboard browseable, share view live, writes blocked. |
| expired | Locked | Day 38+ — fully blocked, share view shows "unavailable". |
| past_due | Locked | Latest invoice failed; update payment method. |
| canceled | Locked | Subscription canceled past grace window. |
