{"id":386561,"date":"2026-10-26T10:46:23","date_gmt":"2026-10-26T10:46:23","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/3d-configurator-for-woocommerce\/"},"modified":"2026-10-26T11:08:44","modified_gmt":"2026-10-26T11:08:44","slug":"finishes-3d-configurator-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/finishes-3d-configurator-for-woocommerce\/","author":23585557,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Finishes 3D Configurator for WooCommerce","header_author":"Matteo Didon\u00e8","header_description":"Interactive 3D product configurator for WooCommerce: customers pick finishes on a 3D model, see the result live and order exactly what they built. Includes Elementor widgets, blocks and a shortcode.","assets_banners_color":"a3928e","last_updated":"2026-10-26 11:08:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/finishes-3d-configurator-for-woocommerce\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":62,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"mattstack","date":"2026-10-26 11:08:44","revision":3766228}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3766228,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3766228,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3766228,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3766228,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3766228,"resolution":"1","location":"assets","locale":"","width":1440,"height":825},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3766228,"resolution":"2","location":"assets","locale":"","width":1440,"height":825},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3766228,"resolution":"3","location":"assets","locale":"","width":940,"height":1700},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3766228,"resolution":"4","location":"assets","locale":"","width":1440,"height":480}},"screenshots":{"1":"The configurator on the product page: customers rotate the live 3D model and pick a finish for each part.","2":"Every choice recolours the model instantly and updates the price, including per-option surcharges.","3":"Product settings: upload a .glb model, the plugin detects its parts, then you build the customization steps and their options.","4":"The materials library: colours and textures you create once and reuse across products."}},"plugin_section":[],"plugin_tags":[783,15680,76538,39420,286],"plugin_category":[45],"plugin_contributors":[288674],"plugin_business_model":[],"class_list":["post-386561","plugin","type-plugin","status-publish","hentry","plugin_tags-3d","plugin_tags-3d-viewer","plugin_tags-elementor","plugin_tags-product-configurator","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-mattstack","plugin_committers-mattstack"],"banners":{"banner":"https:\/\/ps.w.org\/finishes-3d-configurator-for-woocommerce\/assets\/banner-772x250.png?rev=3766228","banner_2x":"https:\/\/ps.w.org\/finishes-3d-configurator-for-woocommerce\/assets\/banner-1544x500.png?rev=3766228","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/finishes-3d-configurator-for-woocommerce\/assets\/icon-128x128.png?rev=3766228","icon_2x":"https:\/\/ps.w.org\/finishes-3d-configurator-for-woocommerce\/assets\/icon-256x256.png?rev=3766228","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/finishes-3d-configurator-for-woocommerce\/assets\/screenshot-1.png?rev=3766228","caption":"The configurator on the product page: customers rotate the live 3D model and pick a finish for each part."},{"src":"https:\/\/ps.w.org\/finishes-3d-configurator-for-woocommerce\/assets\/screenshot-2.png?rev=3766228","caption":"Every choice recolours the model instantly and updates the price, including per-option surcharges."},{"src":"https:\/\/ps.w.org\/finishes-3d-configurator-for-woocommerce\/assets\/screenshot-3.png?rev=3766228","caption":"Product settings: upload a .glb model, the plugin detects its parts, then you build the customization steps and their options."},{"src":"https:\/\/ps.w.org\/finishes-3d-configurator-for-woocommerce\/assets\/screenshot-4.png?rev=3766228","caption":"The materials library: colours and textures you create once and reuse across products."}],"raw_content":"<!--section=description-->\n<p>Finishes 3D Configurator for WooCommerce lets your customers choose the finishes of a product on a live 3D model, see every change instantly and add exactly that configuration to the cart. Every choice is saved on the WooCommerce order, so whoever makes the product knows what to make.<\/p>\n\n<p>It is designed for products that come in several finishes or colours: furniture, lighting, objects made to order.<\/p>\n\n<p><strong>For the customer<\/strong><\/p>\n\n<ul>\n<li>Real-time 3D viewer: rotate, zoom, full screen, change background<\/li>\n<li>Customization steps (for example \"Top finish\", \"Legs finish\"), each one colouring a named part of the model<\/li>\n<li>Live price with per-option surcharges, in the shop's own price format<\/li>\n<li>Undo \/ redo, shareable configuration link, PDF summary of the configuration<\/li>\n<li>AR view on supported phones (WebXR on Android, AR Quick Look on iPhone and iPad), generated in the browser<\/li>\n<\/ul>\n\n<p><strong>For the shop<\/strong><\/p>\n\n<ul>\n<li>Every selected option is stored on the order line, and shown in the cart, checkout, order page and emails<\/li>\n<li>A product cannot be added to the cart without a valid choice for every step<\/li>\n<li>Reusable library of materials (colour or texture, roughness, metalness)<\/li>\n<li>Several products in the same configurator: the customer switches model without reloading the page, and keeps the finishes that the new model also has<\/li>\n<li>HDR environment lighting, camera and zoom settings<\/li>\n<\/ul>\n\n<p><strong>Built to work with Elementor<\/strong><\/p>\n\n<ul>\n<li>Four Elementor widgets, in the \"3D Configurator\" category: <strong>3D Viewer<\/strong>, <strong>Customizer Options<\/strong>, <strong>Customizer Price<\/strong> and <strong>Customizer Add to Cart<\/strong>. Place them anywhere in a page or in an Elementor Pro single product template, and style them from the Elementor panel like any other widget.<\/li>\n<li>Any link in the page can drive the 3D model: a link to <code>?model=&lt;product-slug&gt;<\/code> switches model, a link to <code>?option=&lt;option-name&gt;<\/code> (or <code>?&lt;step&gt;=&lt;option-name&gt;<\/code>) applies that finish, without reloading. The current link is marked with <code>aria-current<\/code> and the selection ring. This is how a configurator can be composed from ordinary Elementor buttons.<\/li>\n<li>Appearance settings: the plugin's own style or a style that follows the theme, with colours taken from Elementor's Global Colors or chosen freely, selection ring thickness, product name on or off.<\/li>\n<\/ul>\n\n<p><strong>Other ways to place it<\/strong><\/p>\n\n<ul>\n<li>Automatically on the product page (default)<\/li>\n<li>Blocks: \"3D Configurator\" and \"3D Viewer Only\"<\/li>\n<li>Shortcodes: <code>[tdcfw-customizer]<\/code> and <code>[tdcfw-viewer]<\/code><\/li>\n<li>Action hook: <code>do_action( 'tdcfw_display_customizer', $product_id );<\/code><\/li>\n<\/ul>\n\n<h3>Source Code<\/h3>\n\n<p>The JavaScript sources are in <code>js\/<\/code> (<code>customizer.js<\/code>, <code>viewer.js<\/code>, <code>ui.js<\/code>, <code>model-scanner.js<\/code>); <code>dist\/<\/code> contains the bundles built from them with webpack (<code>npm install<\/code>, then <code>npm run build<\/code>).<\/p>\n\n<p>Bundled libraries:<\/p>\n\n<ul>\n<li>three.js (MIT License), https:\/\/threejs.org<\/li>\n<li>jsPDF (MIT License), https:\/\/github.com\/parallax\/jsPDF<\/li>\n<li>Lucide icons (ISC License), https:\/\/lucide.dev<\/li>\n<li>idb (ISC License), https:\/\/github.com\/jakearchibald\/idb<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>The plugin does not connect to any external service by itself. All scripts, styles and models are served from your own site.<\/p>\n\n<p>The share buttons of the configurator open, only when a visitor clicks them, the share page of Facebook, X (Twitter), LinkedIn or Pinterest, passing the address of the configuration (and, for Pinterest, its preview image). From that moment the visitor is on that service, under its terms:<\/p>\n\n<ul>\n<li>Facebook: https:\/\/www.facebook.com\/terms.php and https:\/\/www.facebook.com\/policy.php<\/li>\n<li>X: https:\/\/x.com\/tos and https:\/\/x.com\/privacy<\/li>\n<li>LinkedIn: https:\/\/www.linkedin.com\/legal\/user-agreement and https:\/\/www.linkedin.com\/legal\/privacy-policy<\/li>\n<li>Pinterest: https:\/\/policy.pinterest.com\/terms-of-service and https:\/\/policy.pinterest.com\/privacy-policy<\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<p>Finishes 3D Configurator for WooCommerce is based on 3D Product Customizer &amp; Configurator for WooCommerce 3.7.8 by deosebIT Soft (https:\/\/wordpress.org\/plugins\/3d-product-customizer\/), released under the GPL v2 or later. This version adds the Elementor widgets, links that drive the configurator, several products in one configurator, the appearance settings and a number of fixes, and removes the paid version and its licensing.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Install the plugin from the Plugins screen, or upload the <code>finishes-3d-configurator-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, and activate it.<\/li>\n<li>Under <strong>3D Configurator \u2192 Model Textures<\/strong>, create the materials: a colour or a texture image, with roughness and metalness.<\/li>\n<li>Open a product and find the <strong>3D Configurator<\/strong> box: choose a <code>.glb<\/code> model, click <strong>Scan Model<\/strong> to read the names of its parts, then add steps and options and assign a material to each option.<\/li>\n<li>Save the product. The configurator appears on the product page, or wherever you place its widgets, block or shortcode.<\/li>\n<li>Under <strong>3D Configurator \u2192 Settings<\/strong> set camera, background, HDR lighting and appearance.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%203d%20model%3F\"><h3>Do I need a 3D model?<\/h3><\/dt>\n<dd><p>Yes, one <code>.glb<\/code> (or <code>.gltf<\/code>) file per product, with the parts that change colour as separate, named meshes (for example \"Top\" and \"Legs\"). You can export it from any 3D or CAD program, commission it, or generate it.<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20it%20with%20elementor%3F\"><h3>How do I use it with Elementor?<\/h3><\/dt>\n<dd><p>Use the four widgets in the \"3D Configurator\" category. In a single product template they use the current product; on any other page choose the products in the 3D Viewer widget. You can also use the <code>[tdcfw-customizer]<\/code> shortcode in a Shortcode widget.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20several%20products%20in%20one%20configurator%3F\"><h3>How do I show several products in one configurator?<\/h3><\/dt>\n<dd><p>Choose several products in the 3D Viewer widget, or use <code>[tdcfw-customizer ids=\"12,34,56\" label=\"Model\" param=\"model\" option_param=\"option\"]<\/code>. Add <code>switcher=\"no\"<\/code> to hide the built-in model buttons and drive the configurator with your own links instead.<\/p><\/dd>\n<dt id=\"can%20i%20charge%20extra%20for%20some%20options%3F\"><h3>Can I charge extra for some options?<\/h3><\/dt>\n<dd><p>Yes. Each option can have a surcharge. The price updates live and the surcharge is checked again on the server when the product is added to the cart.<\/p><\/dd>\n<dt id=\"how%20are%20the%20choices%20saved%20to%20the%20order%3F\"><h3>How are the choices saved to the order?<\/h3><\/dt>\n<dd><p>Each step and its chosen option are stored as order line meta (\"Top finish: Sage green\"), visible in the cart, at checkout, on the order and in the order emails.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>The scripts load only on pages that contain the configurator. The model file is the main cost: keep it light.<\/p><\/dd>\n<dt id=\"is%20the%20javascript%20minified%3F\"><h3>Is the JavaScript minified?<\/h3><\/dt>\n<dd><p>The files in <code>dist\/<\/code> are built with webpack. The human-readable sources are in <code>js\/<\/code> and <code>admin\/js\/<\/code>, with <code>webpack.config.js<\/code> and <code>package.json<\/code>: run <code>npm install<\/code> and <code>npm run build<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release, based on 3D Product Customizer &amp; Configurator for WooCommerce 3.7.8.<\/li>\n<li>New: Elementor widgets 3D Viewer, Customizer Options, Customizer Price and Customizer Add to Cart.<\/li>\n<li>New: page links drive the configurator (model and options), with the current link marked.<\/li>\n<li>New: several products in one configurator, keeping the finishes they share.<\/li>\n<li>New: appearance settings (theme style, Elementor Global Colors, selection ring, product name).<\/li>\n<li>New: on a page without price widget, \"Add to cart\" opens the product page with the chosen options.<\/li>\n<li>Fix: a product could be added to the cart without its options when the 3D model did not load.<\/li>\n<li>Fix: the viewer now resizes with its container, not only with the window.<\/li>\n<li>Fix: a style rule laid out the whole page in columns on wide screens.<\/li>\n<li>Fix: prices follow the shop's price format.<\/li>\n<li>Fix: the share link kept only the page path, so with plain permalinks (?page_id=12) it opened the home page.<\/li>\n<li>Fix: PDF images are compressed (a PDF went from about 11 MB to under 300 KB).<\/li>\n<li>Change: the PDF links to the configuration itself, so it can be reopened as it was.<\/li>\n<li>Removed: paid version, licensing and upgrade notices.<\/li>\n<\/ul>","raw_excerpt":"Customers pick finishes on a live 3D model and order exactly what they see. Built to work with Elementor.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/386561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=386561"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mattstack"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=386561"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=386561"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=386561"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=386561"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=386561"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=386561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}