The Select From List is a lot used when you want to have lots of options. This lesson will serve as an example for selecting a kitchen material. You will learn both the material usage and the Select From List feature. Also learn how to change materials when clicking (Interact Dynamic Component)
This works the same in current SketchUp 2026 as it always has — Dynamic Components have not changed for years, so any older tutorial still applies even on a named-user subscription.

Video:
Download Example Models
Lesson objectives:
- How to use Material in Sketchup Dynamic
- How to create the Select From List option
- How to use Attribute: Hidden
- How to Change Material with Onclick Attribute
Steps to Dynamic Material Change:
- Step 1: Create materials, apply on a component with full materials, this component will be hidden and located in the parent Component.
- Step 2 Create Component to apply material
- Step 3: Create the Parent Component including the Main Component and the Material component.
- Step 4: Hide the Component Material.
- Step 5: Set the Material properties for the parent Component with the Select From List option
Note:
- If the Material Component is not in the parent Component, it will not be created.
- Material names should be simple, immediately written with dashes (-) so that the software understands the names of materials
Why the hidden swatch component is mandatory:
The Material attribute can only display a material that is already present in the model’s In Model list — it cannot pull a material out of thin air or from an external library. That is the real reason for Step 1: the hidden component carries a tiny swatch of every material so SketchUp keeps them loaded. Delete or purge those swatches and the dropdown still lists the names, but the faces silently fall back to the default white material because the named material no longer exists in the model.
There is a subtle trap with hiding it: hidden geometry still contributes to a component’s bounding box, so a swatch sitting off to the side will quietly inflate the parent’s size and throw off any LenX/LenY formulas. Scale the swatch down and move it physically inside the body of the parent before you hide it.
What the OnClick attribute can — and cannot — do:
A point that trips up almost everyone: OnClick cannot run set("Material", ...) directly — material is not one of the functions OnClick is allowed to write to. The “click to change material” effect is really an animate on a plain numeric attribute (for example animate("MatIndex", 0, 1, 2)), and a separate Material formula reads that index and resolves to a name. Each click steps the index to the next value and loops back to the start, which is why it feels like the material is cycling.
Because there is no “in between” state from one material to the next, animate snaps instantly rather than tweening — unlike animating an angle or a length, you get no smooth transition, and switching the function from SET to ANIMATE changes nothing visually. The same index can also feed the Select From List dropdown, so the click interaction and the menu stay in sync from one source value.
Finally, the dash/underscore rule in the Note above is not cosmetic: the formula parser treats a material name with a space as two separate tokens and reports the attribute as “invalid,” so always name materials like Oak-Wood or Marble_White when they are referenced in a formula.

Tiếng Việt