Home › How do I…? › How to build a product configurator in Unreal Engine for VR, desktop and mobile

How to build a product configurator in Unreal Engine for VR, desktop and mobile

Advanced Framework Pro gives a product configurator its whole interaction and UI layer: pointing and touching parts, switching variants, labels and info panels, and a menu with settings, running as one project on a headset, a PC and a phone. You build the product and its options; the framework supplies the player, the input and the interface. This page says which modules do what, so you can judge the fit before you start.

At a glance

Product actor
├─ part meshes × n, each with BPC_Interaction_Select        → On Select switches a state
├─ BPC_State_Name "Trim", BPC_State_Color "Paint", BPC_State_Boolean "Roof"
├─ BPC_Visibility on optional parts                          show / hide with transition
└─ BPC_Label_Simple per named part
Option panel: WBP_Base widget bound to the states, opened with FL_PawnUI › Pawn UI Add Element
              at DA_PawnUIPosition_Near
Specs:        AFS_UI_InfoPanels library, or a world-space page on an AFM_Panel plate
Level:        PDA_Level with the three pawns.   Shared session: BPC_Replication_Actor on the product

The shape of a configurator

A configurator is a product in the middle, a set of options around it, and a way to point at both. In the framework that is:

NeedPluginWhat you use
Point at or touch a part on any platformAFS_UX_SelectBPC_Interaction_Select on each part, one On Select event
Hover feedbackAFS_Core_HighlightHighlight Class on the interaction, three styles
Variants as data: colour, material, trim levelAFM_StateBPC_State_Name, BPC_State_Color, BPC_State_Boolean on the product; UI binds to them generically
Show and hide optional parts with a transitionAFM_Visibilitythe visibility component with fade and sound
Name the partsAFS_UI_LabelsBPC_Label_Simple per part, arrow or leader line
Specs and prices next to the productAFS_UI_InfoPanels, AFM_Panelinfo panels on the HUD; 3D backing plates for world-space pages
The option panel itselfAFS_UI, AFS_UI_Pawnyour page from the design system, placed in front of the player with pawn UI
Walk around a large productAFS_UX_Teleporter, AFS_UX_Locomotionteleport areas and comfort options
Hands-free kiosks and accessibilityAFS_UX_Gazedwell selection, no controller needed
Several showrooms or productsAFS_Core_Loadingone PDA_Level per scene, a lobby that switches between them
Trade-show screenAFM_Spectatora smooth follow or fixed camera for the big display
Sales call with a customer in VRAFM_Replicationreplicated interactions and UI, the host presents

How it fits together

  1. Build the product as an actor. Each selectable part gets a BPC_Interaction_Select; each option that has a value gets a state component. Bind a part's On Select to switch the state it owns.
  2. Build the option panel from the UI design system. Its widgets bind to the state components through the shared listener contract, so the panel never references the product class directly and works for any product that carries the same states.
  3. Place the panel with pawn UI at the near distance, and put the product's specs on an info panel or a 3D panel beside it.
  4. Describe the scene in a PDA_Level with the three pawns, and test it on desktop, in VR and on the mobile preview. Nothing in steps 1 to 3 is platform-specific.
  5. For a shared session, add BPC_Replication_Actor to the product and let the host drive.

What the framework does not do

It has no variant or pricing database, no turntable or exploded-view logic and no order flow. Those are the project's own work, or the planned Configurator & Showcase Extension.

Where to look

Map_Examples_Select, Map_Examples_States and Map_Examples_Visibility show the three mechanisms above on their own; the showroom lobby shows the level flow.