Skip to content

This is a light weight product configurator framework that supports Visibility, Material and transform variants

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta
Notifications You must be signed in to change notification settings

Unity-Technologies/Industry-Product-Configurator

Repository files navigation

Industry Product Configurator

2024-05-09 10-26-30_trimmed_high

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.

Installation

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.

  1. Copy the URL of the GitHub Repo:
Screenshot 2024-05-03 at 11 40 42
  1. Open Unity: Launch Unity and open your project.
  2. Open Package Manager: Navigate to "Window" > "Package Manager" to open the Unity Package Manager.
Screenshot 2024-05-03 at 11 43 41
  1. 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...".
Screenshot 2024-05-03 at 11 53 38
  1. Enter Git URL: Paste the Git URL of this package into the text field and press Enter.
Screenshot 2024-05-03 at 11 55 01

Basic Sample Included

Screenshot 2024-05-03 at 12 01 00

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.

Getting Started

To quickly get started with our product configurator framework, follow these simple steps:

Create Variant Set

  1. Access Variant Set Creation: Right-click in the Hierarchy panel to open the context menu.
  2. Select Product Configurator: Navigate to "Product Configurator" > "Variant Set" in the context menu.
  3. 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.
Screenshot 2024-05-03 at 12 06 05

Moditfy Variant Set

  1. Select the new created variant set and go to Inspector
  2. Name your Variant Set and hit create. This will create a new asset in the project that stores the ID and name, etc.
Screenshot 2024-05-03 at 12 22 22
  1. 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.
Screenshot 2024-05-03 at 12 35 59
  1. Expand the variants list, drag your variant object (in this case it is "Variant GameObject").
Screenshot 2024-05-03 at 12 45 53
  1. Follow the step above to create another variant.
Screenshot 2024-05-03 at 12 48 01
  1. Now this is how you setup your variant set

Variant Slider

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.

Screenshot 2024-05-03 at 12 54 06

Variant Icon Tool

Screenshot 2024-05-03 at 12 55 19

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.

Material Assignment

Screenshot 2024-05-03 at 13 37 48

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.

Package Settings

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.

Advanced Mode

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.

VariantSelect Component

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.

About

This is a light weight product configurator framework that supports Visibility, Material and transform variants

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages