This topic is connected to Data Structure. I would suggest reading that one as well.
The most important part of the options' settings is Field slug.
Two important concepts:
1) slugs are unique across the site; you cannot have two options with the same name; when you try to save a new option with the existing slug name, it will display the error and will suggest an alternative name;
2) you have to save option with a new slug to DB (again, read Data Structure section!) to actually make this option operational;
To be operational, options must be saved with 'Save to DB' checkbox. It means that the options' settings are saved to DB, option's settings are stored in DB. When you use a certain option in this or that product you create options' instances. By doing sync/unsync you connect/disconnect an instance to saved to DB option (again, read Data Structure section!). **When the option is synced and you make any changes in its settings and save them with 'save to DB' checkbox this operation actually overwrites options' data. Individual options' data, but NOT all its instances data! **When you go to another product and open its builder mode and reviewing its builder content - you are reviewing options' instance data. It may not be the same as this options' data saved to DB! So, by changing settings and saving them with 'save to DB' you actually overwrite this option and all other instances in any other products may become broken!
Creating a new instance of the option
1) Add new option by dragging and dropping it from the builder panel to the builder content.
2) Open options' settings, on General tab (the first one) choose connect or duplicate, then click on 'blue arrow' icon to fetch the list of options' of the same type stored in DB.
3) Click 'Submit' button.
Done! You successfully re-used stored in DB option by creating its new instance in another product!
The following procedure is a proper algorithm of re-using (i.e. using again same option, by creating its new instance in another product) the option when you want to edit the option and/or when you want to change the option's field slug!
1) Open module's setting modal window and click on unsync button
2) Change the option's slug as you usually do. Or change any other settings you like, especially those which are marked with a yellow triangle.
3) Save the module setting with "save to DB" checkbox checked
When you change setting NOT marked with the yellow triangle
Additionally, you can change any option's setting which is NOT marked with the yellow triangle in a certain option's instance and save it WITHOUT the checkbox 'save to DB' and this options' instance will continue working and yo uwill not break any other instances of this option in other products. In this case you can change option's visual appearance, even its label, its fields conditional logic to be customised for this specific product where this option's instance is used. Very handy!
WooCommerce has its own 'duplicate' functionality. By using it you can duplicate the product. But sometimes it just fails and did not copy over some meta fields, like NOVs or maybe something else. So, I would suggest using Duplicate and/or Import/Export configs functionalities available in the pro version of Uni CPO.
👉 Duplicate and Import/Export configs functionalities are available in the PRO version in General Settings modal window, the fourth tab.
By duplicating product's configuration you are copying over the new product all the Uni CPO related data. Everything. So, the new product receives the exact copy of the same configuration used in the chosen product. All options' instances are connected and operational. All NOVs, formula conditional logic etc - everything is copied.
By importing product's configuration you basically do the same as per duplicating, but this time you do not choose another product that is existed in your site, but use config's data from the file. Another difference is that all options' instances may not work as you may not have them saved to DB on the site where you do import. That's why I would suggest using 'remove pid attribute values from all the modules' checkbox upon import. Since product's config contains also options' internal IDs, this setting actually removes them during the import. So, then you just have to open each options' settings and save them with 'save to DB' checkbox to make options' instances operational.