This is a lightweight product configurator framework designed for Unity. It empowers users to effortlessly create their own product configurator experiences within Unity environments. With a set of foundational classes, users can seamlessly expand and customize their configurators to suit their specific needs and preferences.
Currently, our framework supports visibility, material, animation and transform variants. This means users can easily configure product options related to visibility (show/hide), material properties, and transformations (such as position, rotation, and scale). Whether you're building a simple configurator for basic products or a complex one with intricate customization options, our framework provides the flexibility and ease-of-use necessary to bring your vision to life.
For the most up-to-date and reliable installation process, we recommend following the official documentation provided by Unity. The steps outlined in the official documentation ensure a smooth integration and compatibility with your Unity project as they incorporate the latest updates and best practices.
Please refer to the official Unity documentation for detailed instructions on how to install packages via UPM.
- Copy the URL of the GitHub Repo:
- Open Unity: Launch Unity and open your project.
- Open Package Manager: Navigate to "Window" > "Package Manager" to open the Unity Package Manager.
- Add Package from Git URL: Click on the "+" button in the top-left corner of the Package Manager window and select "Add package from git URL...".
- Enter Git URL: Paste the Git URL of this package into the text field and press Enter.
A basic sample demonstrating the usage of this package is provided within the package itself. For a quick start and understanding of the package functionalities, we recommend exploring the provided sample. By following the sample, users can gain insights into how the package works and begin implementing their own product configurator experiences with ease.
To quickly get started with our product configurator framework, follow these simple steps:
- Access Variant Set Creation: Right-click in the Hierarchy panel to open the context menu.
- Select Product Configurator: Navigate to "Product Configurator" > "Variant Set" in the context menu.
- Choose Variant Set Type: Choose the type of variant set you want to create. For example, select "GameObject Variant Set" to create a variant set based on different game objects.
- Select the new created variant set and go to Inspector
- Name your Variant Set and hit create. This will create a new asset in the project that stores the ID and name, etc.
- Name your variant and hit create, it will create a new variant along with a new asset that store information about this variant, e.g. ID, name and icon.
- Expand the variants list, drag your variant object (in this case it is "Variant GameObject").
- Follow the step above to create another variant.
- Now this is how you setup your variant set
When a user has multiple variants, a slider will be displayed in the inspector, enabling them to toggle between each variant by dragging the slider handle.
There is a tool available that facilitates the capture of icons for each variant using the scene view. This tool automatically stores the captured icons and assigns them to the corresponding variant asset files, streamlining the process of managing variant assets.
When utilizing the Material Variant Set, a tool is available to streamline the process. By inputting the parent object and a target material, this tool iterates through all child objects equipped with a MeshRenderer component. It identifies all instances where the material matches the target material, collecting the necessary indices and information. This enables seamless material changes when switching variants.
A new settings page to make the package even more customizable. You can find it under "Edit" > "Project Settings" > "Product Configurator". Inside this settings page, there are various options that you can modify to better suit your specific needs. Explore these settings to fine-tune the configurator to your exact requirements.
Within the settings page, there is a toggle to allow users to turn on "Advanced Mode". The difference between Basic Mode and Advanced Mode is as follows:
Basic Mode: Hides many fields in the inspector to provide a cleaner, simpler interface for users who do not need advanced customization options. Advanced Mode: Exposes more fields in the inspector, giving advanced users greater control and flexibility to modify settings and configurations. Explore these settings to fine-tune the configurator to your exact requirements.
The package includes a "VariantSelect" component that generates a dropdown menu of the existing variant sets. This feature is designed for non-developers to easily pick variant sets in the scene. The same functionality applies to the Variant field.
Additionally, there's a new "Variant Select" public function that users can invoke using UnityEvent. This is particularly useful for users who utilize the uGUI solution, allowing them to directly assign the component to the "OnClick" event.