SuperViz for Matterport SDK

The missing piece to turn Matterport Tours into a powerful collaboration environment.

Get started for freeSee live demo

For developers, by developers

Our straightforward, feature-complete API and SDK integrates into your project with minimal code

1
import { RoomProvider, useRoom } from '@superviz/react';
2
import { Presence3D } from "@superviz/matterport-plugin";
3
import { VideoConference, WhoIsOnline } from "@superviz/sdk";
4
import { useCallback, useEffect, useRef, useState } from "react";
5
import { v4 as generateId } from "uuid";
6
7
// Replace with your actual keys
8
const MATTERPORT_KEY = "YOUR_MATTERPORT_KEY";
9
const SUPERVIZ_KEY = "sv_YOUR_SUPERVIZ_KEY";
10
const ROOM_ID = "superviz-demo-matterport";
11
const MODEL_ID = "Zh14WDtkjdC"; // Replace with your Matterport model ID
12
13
// Type definition for Matterport SDK
14
type WindowWithMP_SDK = Window & {
15
MP_SDK: {
16
connect: (window: Window, key: string) => Promise<any>;
17
};
18
};
19
20
function MatterportViewer() {
21
const containerId = "matterport-container";
22
const mpSdk = useRef<any | null>(null);
23
const [sdkReady, setSdkReady] = useState(false);
24
const participantId = generateId();
25
26
// Use the React SDK's useRoom hook
27
const { room, joinRoom, leaveRoom, addComponent, removeComponent } = useRoom();
28
29
// Initialize Matterport SDK
30
const initializeMatterport = useCallback(async () => {
31
const showcase = document.getElementById(containerId) as HTMLIFrameElement;
32
if (!showcase) return;
33
34
showcase.onload = async () => {
35
try {
36
const showcaseWindow = showcase.contentWindow as WindowWithMP_SDK;
37
mpSdk.current = await showcaseWindow.MP_SDK.connect(
38
showcaseWindow,
39
MATTERPORT_KEY
40
);
41
setSdkReady(true);
42
} catch (error) {
43
console.error('Failed to initialize Matterport SDK:', error);
44
}
45
};
46
}, []);
47
48
// Initialize SuperViz room and components when SDK is ready
49
useEffect(() => {
50
if (!sdkReady || !mpSdk.current) return;
51
52
const handleJoin = async () => {
53
await joinRoom({
54
participant: {
55
id: participantId,
56
name: "Participant",
57
avatar: {
58
imageUrl: 'https://production.cdn.superviz.com/static/default-avatars/1.png',
59
}
60
},
61
group: {
62
name: 'superviz-demo',
63
id: 'superviz-demo',
64
},
65
roomId: ROOM_ID,
66
});
67
68
// Create and add the Matterport presence component
69
const matterportPresence = new Presence3D(mpSdk.current, {
70
isAvatarsEnabled: true,
71
isLaserEnabled: true,
72
isNameEnabled: true,
73
});
74
75
// Add additional components
76
const whoIsOnline = new WhoIsOnline({ position: 'bottom-right' });
77
const videoConference = new VideoConference({
78
enableFollow: true,
79
enableGather: true,
80
enableGoTo: true,
81
participantType: 'host',
82
defaultAvatars: true,
83
});
84
85
addComponent(matterportPresence);
86
addComponent(whoIsOnline);
87
addComponent(videoConference);
88
};
89
90
handleJoin();
91
92
return () => {
93
leaveRoom();
94
if (mpSdk.current) {
95
mpSdk.current.disconnect();
96
}
97
};
98
}, [sdkReady, joinRoom, leaveRoom, addComponent]);
99
100
useEffect(() => {
101
initializeMatterport();
102
}, [initializeMatterport]);
103
104
return (
105
<div className="w-full h-full">
106
<iframe
107
className="w-full h-full border-0"
108
id={containerId}
109
src={`/mp-bundle/showcase.html?&brand=0&mls=2&mt=0&search=0&kb=0&play=1&qs=1&applicationKey=${MATTERPORT_KEY}&m=${MODEL_ID}`}
110
allowFullScreen
111
/>
112
</div>
113
);
114
}
115
116
export function MatterportWithSuperViz() {
117
return (
118
<RoomProvider developerToken={SUPERVIZ_KEY}>
119
<MatterportViewer />
120
</RoomProvider>
121
);
122
}
Read the docs

Testimonials

We have wide experience dealing with Matterport users and we have heard great feedback from our users:

SuperViz turns Matterport into a Multi-Player Metaverse Experience - it is more fun to explore together and it can enhance the team productivity when discussing things virtually on location while leaving a lasting impression.

Florian Wagner

Mesh Images | Germany

The ability to communicate with over 200 guests and up to 16 main speakers is an astonishing educational and collaborative experience. The truth is the use cases are actually beyond our current imagination.

Tony Pincham

Images for Industry Limited | England

Superviz morphs Matterport into something it's not, a collaborative interactive software.

Abe Truitt

Dive Virtual | Israel

Superviz adds value to meetings that are normally dull like Teams or Zoom and you can easily lead attendees through a building to show them something.

Michael de Vries

InformAR | Netherlands

Superviz takes our Matterport service to the next level! First, there was the ability to digitally walk through a building and that still blows minds. Now with Superviz, it has gone to a completely new level and value proposition.

Dean Scholey

VirtualPro Limited | New Zealand

Matterport virtual tours by themselves are a great marketing tool, but Superviz's immersive meetings make them a powerful sales tool.

Emma Urbina

Jotavirtual | Spain

Get started for free
real-time_demo

Real-estate sales tool

Why Choose SuperViz

Create your first proof of concept in minutes! Our tutorials and demos are here to guide you.

Intuitive documentation and a free account - The ideal combination to run your first tests.

We love collaboration! Our Discord community is open for feedback and support.

Get access to a demos and samples to build even faster.

See the docs

Extend your Matterport platform

Video Huddle SDK

Integrate high-quality video conferencing directly into your matterport platform, allowing users to connect face-to-face for a virtual guided tours.

Real-time mouse pointers

Real-time Mouse pointers enhance user engagement while exploring the Matterport space among participants.

A collaborative interface using SuperViz and Autodesk Platform Services shows contextual comments linked to specific elements of a 3D model. Users leave comments directly on the model, facilitating focused discussions and efficient collaboration.

Pinpoint Location inside 3D

Precisely place comments within 3D spaces, ensuring clarity and context in collaborative feedback and discussions.

3D Avatars

3D avatars indicate collaborators' positions and actions, facilitating a better collaborative experience with a sense of presence.

Profile pictures of three users with colored circles around them indicating online status, followed by an icon showing plus four more users. This image represents the See who is online feature in SuperViz for Matterport

See who's online

Add avatars, badges, profile images to your application to quickly see who is online inside the same room.

AI Meetings Insights

Transcribe and analyze your video conference meetings. Extract key insights, pinpoint action items, track central topics.

What is SuperViz?

SuperViz offers developers a comprehensive SDK for building interactive, real-time features. Ideal for enhancing design and data workflows, it provides a collection of collaboration components that integrates into modern web-applications.

What is Matterport?

Matterport is a cutting-edge platform that creates immersive 3D virtual tours of physical spaces. It offers a JavaScript Software Development Kit (SDK) that can integrate with web applications and enhance the experience around our WebGL 3D player, Showcase.