Studio Matrx Monthly · Volume 1 · Issue 3 · August 2026
Amogh N P
 In loving memory of Amogh N P — Architect · Designer · Visionary 
Interactive Doors, Lights & Material SwapsLesson 7.2
RTV for Architecture, Planning & Urban Design/Module 7 · Interactivity with Blueprints

Lesson 7.2 · Interactivity with Blueprints

Interactive Doors, Lights & Material Swaps

The three classic archviz interactions, built with triggers, timelines and dynamic materials so the space responds to a touch

13 min Interactive lessonFree · open lessonByAmogh N P· Architect & interior designer
The hook

Click the door and it swings. Flick the switch and the room lifts. Tap a swatch and the wall becomes walnut - all live, no re-render.

Ask any visualiser what makes an archviz experience feel alive and you get the same short list: doors that open, lights you can switch, and finishes you can change on the spot. They are the three interactions a client always reaches for, and together they turn a walkthrough from a film you watch into a place you operate.

The good news is that all three are built from the vocabulary you just learned - events, nodes, wires, variables. The craft is in making them feel good: a door that swings smoothly instead of snapping, a light that reads convincingly, a material that swaps instantly and cleanly. This lesson builds each as a reusable pattern, using triggers, the Timeline node for smooth motion, and dynamic material instances for live finish changes - the exact techniques the next two lessons stack menus and configurators on top of.

Trigger -> Timeline -> smooth change. The whole module is variations on this.

Triggers - clicks and overlaps that start the action

Every interaction needs a starting gun, and in archviz there are two you use constantly. The first is a click: the player points at an object and presses a button, firing an On Clicked event on that actor. Click is perfect for deliberate choices - open this door, press that switch. It needs the object set up to receive cursor or controller hits, but once wired, clicking is the most intuitive interaction a client understands.

The second is an overlap trigger: an invisible volume - a Trigger Box or the collision on a component - that fires ActorBeginOverlap when something enters it and ActorEndOverlap when it leaves. Overlaps drive automatic behaviour: walk toward the entrance and the doors part on their own, step into a room and its lights come up. You place a box actor across the doorway, size it to the swing area, and wire its overlap event to the door logic. No clicking required - the space simply reacts to your presence, which feels magical in VR.

Choosing between them is a design decision. Clicks give control and are unambiguous - nothing happens by accident. Overlaps give flow and immersion but can surprise people if the volume is too big or badly placed. Many experiences use both: automatic sliding doors on overlap, but a deliberate click to change a finish. Get the trigger right and the rest of the interaction is just deciding what happens next.

Two practical notes make triggers reliable. For clicks, the mesh needs collision that responds to the trace channel your controller uses, and the Player Controller must have click events enabled - otherwise the cursor passes straight through. For overlaps, both the trigger volume and the thing entering it need Generate Overlap Events ticked, or the box stays silent. A robust setup for automatic doors is a Box Collision component built inside the BP_Door class, sized to the approach zone, so the trigger travels with every copy and never has to be placed by hand.

A DOOR THAT SWINGS SMOOTHLYEvent: OnClickedor trigger overlapTimeline (1.5 s)01Set Relative RotationYaw = 0 -> 90 deghinge swings 90 degThe Timeline turns a click intosmooth motion over time.Reverse the Timeline to close it.
Zoom
A door built to swing, not snap. A click or overlap event plays a Timeline (a smooth 0-to-1 curve over 1.5 seconds); that value drives Set Relative Rotation from 0 to 90 degrees, so the hinge eases open. Reverse the Timeline to close it.

Click = deliberate. Overlap = automatic. Pick per interaction; often use both.

The Timeline - why a door should swing, not snap

If you wire a click straight to Set Relative Rotation, Yaw = 90, the door works - but it teleports open in a single frame, which looks broken. Real motion happens over time, and the tool for that is the Timeline node. A Timeline is a little animation curve living inside your Blueprint: you give it a length (say 1.5 seconds) and a curve from 0 to 1, and when you play it, it outputs a smoothly changing value every frame for that duration.

You use that output to drive the rotation. The Timeline's value (0 to 1) feeds a Lerp (linear interpolate) between closed (0 degrees) and open (90 degrees), and you feed the result into Set Relative Rotation on the door mesh. Now the door eases open across a second and a half. Shape the curve with ease-in and ease-out and the swing gets a believable weight - slow to start, slow to settle - instead of a mechanical constant speed. This same Timeline pattern animates anything continuous: drawers sliding, blinds lowering, a lamp dimming up.

Timelines also handle the return trip elegantly. Store an IsOpen boolean; on click, check it, and either Play the Timeline forward (open) or Reverse it (close). One Timeline, one boolean, and your door toggles smoothly both ways. Build all of this inside a Blueprint Class called BP_Door - mesh, pivot, click event, Timeline and boolean together - and you have a single reusable door you can drop throughout the building, every copy swinging identically.

A subtlety worth knowing: the Timeline gives you events as well as a value. It fires an Update every frame while playing - where you set the rotation - and a Finished event when it reaches the end, handy for playing a latch sound as the door settles or enabling collision only once it is fully open. Because Reverse re-uses the same curve, an eased door feels equally natural opening and closing from one tidy graph, and a single boolean gate stops a rapid double-click from fighting itself mid-swing.

Timeline = motion over time. 0-to-1 curve -> Lerp closed/open -> smooth swing. Reverse to close.

Light switches - controlling the mood

Lights are the simplest of the three and the most atmospheric. A light in Unreal - a Point Light, Spot Light or Rect Light - exposes properties you can set at runtime from a Blueprint: Intensity, Light Color, and simply Visibility (on or off). A switch, then, is an event that changes one of those. Wire an On Clicked (or overlap) event on a switch actor to a Set Intensity or Set Visibility node targeting the lamp, gate it with an IsOn boolean so each press flips the state, and you have a working switch.

What makes it read well is nuance. Instead of a hard on/off, run the intensity change through a Timeline so the light fades up like a real fixture warming. Change Light Color and you shift a room from warm evening (around 2700K) to neutral daylight (around 4000K) - the exact interior mood decisions covered back in the artificial-lighting lesson, now under the client's finger. You can group several lights so one switch drives a whole scene, or wire a master control that dims everything for a night mode.

A performance note worth carrying: real-time lights are not free. Movable lights that can change at runtime cost more than fully static baked ones, and stacking many dynamic shadow-casting lights eats your frame budget - which matters doubly in VR. So make interactive only the lights that genuinely need to change, keep the rest static, and lean on Lumen's indirect light rather than scattering dozens of movable fixtures. Interactivity and performance are always a negotiation, and lights are where beginners overspend first.

One more honest constraint: changing a light's color or intensity at runtime is cheap, but toggling many shadow-casting Movable lights, or moving them, forces Unreal to update dynamic shadows every frame. A convincing trick is to leave the fixtures static and instead animate the post-process exposure and one or two subtle Rect Lights for the interactive mood shift - you get the feel of the room changing from day to evening without paying for dozens of live shadow casters, which is the difference between a smooth demo and a stuttering one in VR.

SWAP A FINISH AT RUNTIMEUser clicksa swatch buttonSet Materialon the wall mesh,element index 0Wall re-readsoak -> walnut, nowOakWalnutConcreteSame geometry, different material slot - no re-render, no waiting.
Zoom
Swapping a finish at runtime. A swatch click fires Set Material (or a parameter change) on the wall mesh, and the surface re-reads instantly - oak becomes walnut with no re-render and no waiting. Same geometry, different material slot.

Material swaps - changing a finish at runtime

The showpiece interaction for interiors is swapping a finish live - oak to walnut, white wall to sage, matte to gloss - while the client watches. There are two clean ways to do it. The blunt one is Set Material: every mesh has one or more material slots (element indices), and a Blueprint node can assign a different material asset to a slot on command. Wire a swatch's click event to Set Material (element 0) = MWalnut_ on the floor mesh, and the floor repaints instantly. Prepare a handful of finished materials and a button per option, and you have a working finish picker.

The more powerful way uses a Dynamic Material Instance. Instead of swapping whole materials, you create one master material with exposed parameters - a base colour, a roughness, a texture - and at runtime you change just those parameters. Click a colour and Set Vector Parameter Value recolours the surface; drag a slider and Set Scalar Parameter Value takes it from matte to gloss. This is exactly the physically based material thinking from Module 3, now driven live: one master, endless variations, no new assets. It is how a real configurator offers dozens of combinations without dozens of separate materials.

Either way, the pattern is the same as the door and the switch: an event (a swatch click) wired to an action (set material or set parameter) on a target mesh. Keep the target as a variable so one swatch can drive the right surface, store the current choice in a variable so you can show or save it later, and you have the seed of the configurator built in the last lesson of this module. Three interactions, one grammar - and the whole experience starts to feel like something the client owns rather than watches.

Keep one variable pointing at the target surface and another holding the current choice, and a single swatch can be reused across rooms while still remembering what each surface shows. That habit - a target reference plus a stored selection - is precisely the scaffolding the configurator in the last lesson expands into dozens of coordinated options.

Set Material = swap the whole thing. Dynamic Material Instance = tweak parameters live. Both start from a click.

Tools & terms you'll meet in this lesson

Trigger Box / Overlap events

An invisible volume firing ActorBeginOverlap when something enters

Drives automatic behaviour - doors that open as you approach. Size it carefully or it surprises people.

Timeline node

An animation curve inside a Blueprint outputting a smooth 0-to-1 value over time

Turns an instant Set into believable motion; Play forward and Reverse to toggle a door open and shut.

Set Material

Assigning a different material asset to a mesh slot at runtime

The simplest finish swap; prepare one material per option and one button each. No re-render, instant result.

Dynamic Material Instance

One master material with exposed parameters you change live

Recolour or reroughen from a single material - the basis of a real configurator without duplicating assets.

Hands-on workshop

Workshop — build a door, a switch and a swatch

You need Unreal Engine 5 and a level with a door mesh, a lamp and a wall (a starter template or an imported scene both work). You will build three reusable interactions and, crucially, make the door swing smoothly rather than snap.

Unreal Engine 5, a scene with a door mesh, a light and a wall surface. No plugins - Timeline, Trigger Box and material nodes are all built in.

Given & goal
Goal: a room the viewer can operate
Inputs: Unreal Engine 5, a scene with a door, a light and a wall
Time: ~60 minutes
  1. 1Create a Blueprint Class (Actor) called BP_Door. Add the door static mesh, and place its pivot at the hinge edge. Add an On Clicked event (enable click events) or a Trigger Box overlap as the starter.
  2. 2Add a Timeline (1.5 s) with a 0-to-1 float track eased at both ends. Feed its value into a Lerp between 0 and 90 degrees, and wire that into Set Relative Rotation on the door. Store an IsOpen boolean; on trigger, Play forward if closed, Reverse if open. Test that it swings and closes smoothly.
  3. 3Make a BP_LightSwitch (or reuse the door pattern): wire a click to toggle an IsOn boolean, and drive a lamp's Set Intensity through a short Timeline so it fades up rather than hard-cutting. Try shifting Light Color between warm and neutral.
  4. 4Set up a material swap: create a master material with an exposed base-colour parameter, make a Dynamic Material Instance on the wall at BeginPlay, and wire two swatch buttons (or clickable cubes) to Set Vector Parameter Value for two finishes. Confirm the wall repaints instantly.
  5. 5Drop several copies of BP_Door through the scene to prove reuse, then press Play and operate the whole room - open a door, switch the light, swap the finish - as a client would.

You’ll walk away with
A short screen recording of one room where you open and close a door smoothly, toggle a light, and swap a wall finish live - plus a note on which interactions you made click-based and which overlap-based, and why.

The worked example

Three altitudes on the same idea

Read the band that fits you — or all three.

For the architectImmersive design & client experience

These three interactions are how a review stops being a presentation and starts being a test. Let the client walk the entrance and watch the doors respond; let them try the space by day and by lamplight; let them see the stone they keep asking about, on the actual wall, now. Decisions that used to take a week of back-and-forth renders happen in the room, in minutes, with the client's own hand on the switch.

For the interior designerWalkable interiors & material studies

Material swaps are your headline feature - this is where interiors win. A client who cannot commit to a palette from samples will commit when they see walnut under the evening lights, then flip to oak and compare on the spot. Dynamic material instances let you offer real range from one master material, and the light switch lets them judge every finish in the mood it will actually live in. Build the swatch, hand them the room.

For the studentReal-time skills, portfolio & archviz jobs

Build these three as clean, reusable Blueprint Classes and you have a portfolio piece. A door that swings on a Timeline, a switch that fades a light, a swatch that swaps a finish - each is small, but together they prove you can make a space interactive, not just pretty. Studios hiring for real-time archviz look for exactly this: can you take a static model and make a client operate it? Ship one interactive room and you can.

Misconception check

Making a door open or a light switch just means setting the new value directly - rotate to 90, turn the light on.

Setting the value works, but it snaps instantly in a single frame and looks broken - a door that teleports open, a light that hard-cuts on. Believable interaction happens over time, which is what the Timeline node is for: it outputs a smoothly changing 0-to-1 value across a duration you set, so the door eases open across a second or two and the light fades up like a real fixture. Shaped ease-in and ease-out curves give motion its weight. The same principle applies broadly - drawers, blinds, dimming, camera moves. So the correction is not 'set the value' but 'animate toward the value': store the state in a boolean, play the Timeline forward or reverse to toggle, and the interaction feels designed rather than mechanical.
Try it

Do it yourself

Think in the event-then-action grammar you now know.

  1. 1Why does driving a door with Set Relative Rotation directly look wrong, and what fixes it?
  2. 2When would you trigger a door on overlap rather than on click? Give a reason for each.
  3. 3How does one Timeline plus one boolean let a door both open and close?
  4. 4What is the difference between Set Material and a Dynamic Material Instance for swapping a finish?
  5. 5Why should you make only some lights interactive rather than all of them?
Take this with you

The one line to carry out

Doors, lights and material swaps are the same event-then-action grammar - a trigger wired to a change - made to feel real by animating over time with a Timeline and by driving finishes with dynamic material instances. Build each as a reusable Blueprint Class and a space becomes operable.
Take it further
References & further reading

Peer-reviewed journals & authoritative standards

  1. 01Blueprints Visual Scripting in Unreal EngineEpic Games Developer Documentation, 2026.
  2. 02Physically based renderingWikipedia, 2026.
  3. 03Unreal EngineWikipedia, 2026.
  4. 04Architectural visualizationWikipedia, 2026.
Related lessons
Recap
The three staple archviz interactions all start from a trigger - a click for deliberate choices, an overlap for automatic behaviour - wired to an action. A Timeline turns an instant change into believable motion, so a door swings and a light fades instead of snapping; one Timeline plus a boolean toggles both ways. Finishes swap with Set Material for whole-asset changes or a Dynamic Material Instance for live parameter tweaks. Build each as a reusable Blueprint Class and mind that movable lights cost performance.
Carry forward →

You can now make objects in the scene respond. Next we lift the controls off the objects and onto the screen - UMG menus and buttons that let a client pick scenes and design options from a clean interface, wiring those same interactions to on-screen UI.

A

The author

Amogh N P

Architect, interior designer, and creative polymath. Studio Matrx began in his notebooks — his vision of design made honest, useful, and open to everyone. Its Academy is written and taught in his memory, and free, forever.

More about Amogh →