Open-source project page

Build and explore dynamic 3D geometry directly in mixed reality.

Construct3D for Unreal is a modern open-source reimplementation of the original Construct3D learning environment. It brings embodied, dependency-driven geometry to current mixed-reality hardware: points, lines, planes, conics, surfaces, intersections, sweeps, booleans, and differential geometry remain live while the user edits the scene.

The system is intended for geometry teaching, guided student exploration, early-university STEM use, and research on immersive learning technologies.

New to the app?

The student guide is designed as a simple classroom instruction sheet. It lists all current construction methods, explains the selection-action workflow, and summarizes the menu tools in plain language.

  • Use it for demonstrations, lab sessions, and first-time users.
  • It complements the full technical documentation in the repository.

Why Construct3D?

The original Construct3D project explored how geometry becomes easier to understand when objects can be inspected, manipulated, and discussed in real three-dimensional space. The Unreal reimplementation preserves that educational idea while rebuilding the system on current mixed-reality hardware and a modern geometry kernel.

Embodied geometry

See geometry where it happens

Learners can move around geometric objects, inspect them from different viewpoints, and manipulate them with direct spatial actions instead of only orbiting a desktop camera.

Classroom focus

Built for teaching, not for CAD production

Construct3D emphasizes the construction process itself. The goal is to make relationships, dependencies, and variation visible rather than to produce polished engineering models.

Current platform

Modernized as a public research artifact

The current system combines Unreal Engine, Open CASCADE Technology, Meta Quest hardware, documentation, and public source code so that the platform can be inspected, reused, and extended.

Construct3D in action

The two gallery images below correspond to Figures 3 and 4 from the current paper draft and show the range from advanced differential geometry to free-form surface interaction.

Differential geometry scene showing a cone-cylinder intersection with Frenet frame, curvature circle, and osculating sphere.
Figure 3

Advanced differential geometry on an intersection curve

A cone-cylinder intersection curve with tangent, Frenet frame, center of curvature, circle of curvature, and osculating sphere.

NURBS surface intersected with a cylinder, showing a selected intersection curve and curvature construction.
Figure 4

Free-form NURBS interaction with analytic geometry

An editable NURBS surface intersected with a cylinder, with a point on the intersection curve used for local curvature analysis.

Legacy Construct3D videos

The following three videos are linked from the original IMS Construct3D archive page and show the historical system in action.

Legacy video 1

Original Construct3D demonstration from the IMS project archive.

Watch on YouTube

Legacy video 2

Further archival demonstration of geometric interaction in the original system.

Watch on YouTube

Legacy video 3

Additional historical footage of Construct3D in action.

Watch on YouTube

Documentation

The repository contains a full documentation set for setup, runtime architecture, geometry objects, construction methods, interaction, and release preparation.

README

Project overview, scope, supported features, and documentation map.

Open README

Setup

First-time setup, Meta plugin installation, and prerequisite workflow.

Open Setup

Build & Runtime

Build targets, runtime notes, packaging, and deployment details.

Open BuildRuntime

Architecture

High-level system architecture, runtime layers, and dependencies.

Open Architecture

OCCT Bridge

Geometry kernel integration and retained-shape behavior.

Open OCCTBridge

Geometry Objects

Object families, refresh behavior, dependencies, and failure boundaries.

Open GeometryObjects

Differential Geometry

Implemented curve and surface analysis tools.

Open DiffGeo

Save, Load, Undo

Persistence model, dependency reconstruction, and scene recovery.

Open SaveLoadUndo

VR Interaction

Menu system, multimodal interaction, stylus support, and hover strategy.

Open VRInteraction

Glossary and Class Index

Terminology reference and class-oriented entry points into the codebase.

Glossary
ClassIndex

For contribution workflow and repository conventions, also see CONTRIBUTING.md.