Downtown office towers at night with lit parallax interiors from the Interior Cubemap System
Released Tool / Unreal Engine 5

Interior Cubemap System

A parallax interior shader for Unreal Engine 5. It fills building windows with convincing, view-dependent rooms, varied lighting, and a day/night cycle, all from one material and without modeling a single interior.

Built around a problem I solved on a 2 km² Toronto Waterfront Digital Twin.

TypeParallax facade material
EngineUnreal Engine 5.1 and newer
Works withStatic Mesh, ISM, HISM
Built forGames, archviz, digital twins

From flat glass to lit, lived-in facades

Drag the control to switch the system off and on. Nothing else in the scene changes: no modeled rooms, no extra lights, no additional draw calls for interiors.

Downtown towers at night01 / 03

Real-time captures in Unreal Engine 5. Room imagery courtesy of wParallax.

From a single box to a lit office tower

The showcase opens with shots from the Toronto Waterfront Digital Twin, builds a tower facade from nothing but duplicated planes, and walks through the parameters and features. Then it shows the whole point: one box, 30 meters wide and 100 meters tall, becomes a fully lit, animated office tower after a few parameter tweaks.

Real-time showcase in Unreal Engine 5. Watch on YouTube · More on my YouTube channel

01Toronto shots
02Tower from duplicated planes
03Parameters and features
04One box to a full tower

Thousands of windows, no budget for rooms

Any city, skyline, or large building scene hits the same wall. Dark or mirrored windows make buildings look empty and fake, but modeling, lighting, and dressing real interiors behind every window costs geometry, draw calls, lights, memory, and weeks of authoring time.

I ran into this at city scale on the Toronto Waterfront Digital Twin, where shader-driven facades carried much of the visible detail. The Interior Cubemap System is a standalone, production-ready tool built around that problem: one material that gives every window a believable room, with the controls a production team needs to art-direct and optimize it.

01Hero facades
02Modular buildings
03ISM / HISM cities
04Digital twins

A room illusion calculated per pixel

The material never creates room geometry. It treats each window as the opening of a virtual room and works out, for every pixel, what the camera would see inside.

View-dependent parallax

Virtual room volumes

The camera direction is traced against a virtual room behind the facade to find the first wall, floor, or ceiling it would hit. Those coordinates sample the room imagery, so depth shifts naturally as the camera moves.

Stable variation

Every window, a different room

Room choice combines the facade UV cell, the actor's world position, Per Instance Random on ISM/HISM, and a seed. The result is deterministic: rooms never flicker as the camera moves, and duplicated buildings still look different.

Living lighting

Day/night that feels occupied

Lights switch on at randomized times, with per-room brightness, saturation, and color-temperature variation. Office and retail modes change how whole floors or storefronts behave.

Depth, silhouettes, and variation that hold up near the glass

Four optional interior card layers add blinds, people, lamps, or plants at configurable depths in front of the back wall. The compositor sorts them by depth so nearer room surfaces correctly hide them.

Close view of a building facade with varied office interiors, furniture silhouettes, and different lighting per room, rendered with the Interior Cubemap System
Every room on this facade is a shaderRoom depth, furniture silhouettes, and lighting variation, with no modeled interiors.

Built for real production, not only screenshots

Everything is exposed through Material Instances, so artists can build and vary facades without touching the master material.

01

Texture2D Array rooms

Manage many room variants in one array. Automatic selection stays inside the valid slice range, with manual selection for hero windows.

02

Three lighting workflows

Sun-vector fallback with no setup, a shared MPC driven by Blueprint or a sky system such as UDS, or manual time of day for look development.

03

Room layout controls

Room grid, aspect ratio, depth, wall dividers, and floor slabs, all accounted for in the parallax calculation.

04

Facade masking

Cover a whole facade with one material and use a mask channel to choose which areas show interiors, with independent mask tiling.

05

Selective wall visibility

Hide the floor, ceiling, back wall, or either side wall of the virtual room for special facade layouts and viewing angles.

06

Debug and diagnostics

An on-surface slice index overlay and manual overrides make it quick to check arrays and troubleshoot a building.

Every parameter grouped, named, and documented

Parameters are organized into numbered groups for selection, layout, card layers, mapping, lighting, wall visibility, and debug. Each one has a tooltip and is explained in the 28-page user guide.

The recommended workflow is simple: duplicate a supplied preset, assign your room array, match the room grid to your windows, and choose a lighting workflow.

Includes 1 master material, 9 modular material functions, 8 Material Instance presets for offices, lobbies, retail, and rooms, a Material Parameter Collection, sample Texture2D Arrays, and a demonstration map.
Interior Cubemap System Material Instance parameters in the Unreal Engine editor, organized into numbered groups
Material Instance parametersGrouped for fast setup and art direction.

Trading geometry for shader work, deliberately

The system replaces interior geometry, draw calls, lights, and authoring time with shader work and texture sampling. It is designed so you only pay for the features a building actually uses.

0Room meshes or interior lights required
1Masked master material for the full system
StaticFeature switches strip unused mask, card, and wall branches from compiled shaders
3 tiersSuggested hero, mid-range, and distant quality levels for large cities
Where it shinesRepeated facades, skylines, instanced city blocks, and any window the camera sees but never enters.
What to profileShader complexity, texture memory, masked overdraw, and frame time on your target hardware. Cost depends on enabled features, array resolution, and facade coverage.

What it is, and what it is not

This is a high-quality facade illusion. Knowing its limits up front saves production time.

Not enterable. Rooms have no collision, navigation, or interactive objects. Use real geometry for spaces the player can walk into and this system for everything else.
Glass needs its own pass. The material is masked, so true translucent glass should be a separate surface over the facade.
Shadows are baked. Shadows inside rooms come from the room imagery, not from scene lighting.
Lumen and Nanite. It works in Lumen projects, but virtual rooms do not light the scene like modeled ones. Nanite affects the facade mesh, not the interior projection.

Common questions

Which Unreal Engine versions are supported?

Unreal Engine 5.1 and newer. It works on Static Mesh actors and on Instanced and Hierarchical Instanced Static Meshes (ISM and HISM).

Can I use my own room textures?

Yes. Assign any compatible Texture2D Array and set the exact slice count. If each room has a day and a night version, a paired unlit/lit convention lets lighting switch between them. The system is also compatible with wParallax room libraries, sold separately.

Can I use one material over an entire facade?

Yes. Enable the cubemap mask and provide a window mask texture. Dedicated window polygons can be more efficient and easier to control in some projects.

Can I connect it to my own day/night or sky system?

Yes. Write a normalized time value to the included Material Parameter Collection from Blueprint or your sky system (for example UDS), or use the sun-vector fallback, which follows your directional light with no setup.

Will the rooms change or flicker as the camera moves?

No. Selection is deterministic and stable. Rooms only change if you change the variation seed or move an actor into a different world-position variation cell.

Does it work with Lumen and Nanite?

It can be used in Lumen projects, but the virtual rooms are shader imagery, so they do not contribute lighting exactly like modeled rooms. Nanite applies to the facade mesh rather than the interior projection. Validate both on your target engine version and platform.

Can players walk into the rooms?

No. The rooms are a material effect with no collision or real geometry. A common approach is real geometry for accessible floors and this system for every other window.

Is there a demo I can try before buying?

Yes. A free Windows demo is available, along with the full PDF user guide.

wParallax room librariesExpand your room library with compatible wParallax collections, sold separately. Use code WPAF20 for 20% off in the wParallax Gumroad store.

Need a custom shader or system for your project?

I build shaders, material systems, production tools, and optimization passes for studios and companies working in Unreal Engine, from single features to technical direction across a whole production.

Tell me what you're building, your target platform, and where you need support.