This is the full developer documentation for Prevu3D # Getting Started with Prevu3D > Onboarding guide with Prevu3D vocabulary, a product overview, a step-by-step UI walkthrough, and links to the Knowledge Base. Let’s get you started! Follow this step-by-step guide to set up your account, invite your team, get your data in, and start working with your Prevu3D solution. Capture. Manage. Connect. Prevu3D brings your as-built world into the tools and workflows your teams already use. **RealityPlatform** is your cloud hub for uploading, organizing, viewing, and sharing 3D data. **RealityTwin**, **RealityPlan**, and **RealityConnect** extend that data into digital-twin, planning, CAD/BIM, and simulation workflows. [**Admins** → Phases 1–2 first](#phase-1)[**Users** → Start at Phase 3](#phase-3)[**Engineers** → CAD/BIM in Phase 4](#phase-4) *** ## Choose your path [Section titled “Choose your path”](#choose-your-path) ### [Admin — setting up the account](#phase-1) [Invite users, roles, licenses, and org structure.](#phase-1) [Start Phase 1 →](#phase-1) ### [User — access already configured](#phase-3) [Upload, process, and explore data.](#phase-3) [Start Phase 3 →](#phase-3) ### [Engineer — CAD/BIM workflow](#step-15) [Plugins for Revit, NX, Inventor, and more.](#step-15) [RealityConnect →](#step-15) ### [Confused by terms?](#vocabulary) [Organization vs Division vs Site, Data Bundle, products.](#vocabulary) [Read vocabulary →](#vocabulary) ## Vocabulary [Section titled “Vocabulary”](#vocabulary) The onboarding doc links out to many articles. These short definitions keep you oriented — open any linked article for the full guide. ### Organization Your company’s Prevu3D account (tenant). Everything — users, groups, roles, licenses, divisions, sites, and files — lives inside one organization. You log in at [cloud.prevu3d.com](https://cloud.prevu3d.com) or your white-label URL. [User management overview →](/en/realityplatform/user-management/overview/) ### Division Top-level content grouping inside your organization. Segment data by region, business unit, or (for EPCs) by customer so projects stay isolated. Access granted at Division level flows down to every Site and File inside it. Example: “North America Operations”, “Client ABC Projects” [Organizational structure →](/en/realityplatform/getting-started/organizational-structure-overview/) ### Site A physical facility or location inside a Division. Sites contain Data Bundles, folders, RealityPlan Projects, and documents. Add an address or coordinates to enable Map View across facilities. Example: “Chicago Plant” under North America Operations ### Data Bundle One capture session — raw uploads plus all processed outputs. Upload once, then process into point cloud, mesh, photosphere, Gaussian splat, and exports. Powers every Prevu3D product. [Introducing Data Bundles →](/en/guides-and-faqs/introducing-data-bundles/) ### RealityPlan Project A RealityPlan layout stored in the platform. Web RealityPlan supports review and collaboration; the RealityPlan Hub desktop app adds advanced engineering tools (clash, visual compare, CAD export). ### RealityAsset A tagged 3D object with metadata. Used in RealityTwin and RealityPlan to represent equipment, link to ERP/CMMS records, run clash detection, and attach documentation. ## Content hierarchy [Section titled “Content hierarchy”](#content-hierarchy) Access and sharing follow this tree. Permissions on a parent apply to everything below unless refined. ```text Organization ← your Prevu3D account (tenant) └── Division ← region, BU, or customer (EPC) └── Site ← physical facility └── Files ├── Data Bundle ← upload & process scans here ├── Folder ├── RealityPlan Project └── Documents ``` ![RealityPlatform organizational hierarchy: Division, Site, and Files](/_astro/realityplatform-overview.CJSkfzVX_Z1PncJv.webp) **Division → Site → Files.** From the Knowledge Base. Data Bundles and other files live inside a Site. [Organizational structure →](/en/realityplatform/getting-started/organizational-structure-overview/) Sharing & access inheritance Invite to a **Division** → user sees all Sites and Files inside. Invite to a **Site** → user sees all Files in that Site only. Share a single **File** → granular access without exposing siblings. [Full sharing guide →](/en/realityplatform/user-management/sharing/) ## Products at a glance [Section titled “Products at a glance”](#products-at-a-glance) **RealityPlatform** is the cloud hub. **RealityTwin**, **RealityPlan**, and **RealityConnect** extend the same processed Data Bundles into operations, design, and CAD workflows. | Product | In one sentence | Typical use | Where it runs | | ------------------- | --------------------------------------------------------------------------- | -------------------------------------------------------------- | ----------------------------- | | **RealityPlatform** | Cloud hub to upload, organize, process, view, and share 3D data | Store scans, manage users, validate quality in 3D Data Viewer | Browser | | **RealityTwin** | Interactive digital twin merging scans with assets, zones, and integrations | Remote inspections, asset registry, operations and maintenance | Browser | | **RealityPlan** | Engineering layouts on reality capture with clash detection and CAD export | Layout planning, visual compare, design iteration | Desktop Hub + Web (from Twin) | | **RealityConnect** | Plugins streaming twin/bundle data into CAD/BIM tools | Revit, Inventor, NX, MicroStation, Omniverse, Process Simulate | Inside your CAD app | Upload→Process Data Bundle→3D Data Viewer→Twin / Plan / Connect RealityPlatform — key benefits Centralized cloud storage (SOC 2 Type II), automated meshing, multiple visualization modes, secure sharing links, unlimited users, site folder organization. [What is RealityPlatform? →](/en/realityplatform/getting-started/what-is-realityplatform/) RealityTwin — key benefits Merge TLS, SLAM, drone, and photogrammetry scans; tag RealityAssets; link ERP, MES, CMMS, IIoT; reduce field time and inspection costs with a persistent visual source of truth. [What is RealityTwin? →](/en/realitytwin/getting-started/what-is-realitytwin/) RealityPlan — key benefits Combine scans with CAD/BIM; RealityAssets with metadata; clash detection, visual compare, volume measurement, AI-assisted asset creation, export to CAD. [What is RealityPlan? →](/en/realityplan/getting-started/what-is-realityplan/) RealityConnect — key benefits Stream environments and assets in-memory into CAD — no heavy local files. Download plugins from Apps & Plugins settings. Floating license pool shared across users. [What is RealityConnect? →](/en/realityconnect/what-is-realityconnect/) ## Phase 1: Account and access [Section titled “Phase 1: Account and access”](#phase-1-account-and-access) **Everyone** · Steps 1–3 Step 1 ### Accept invitation and create account When invited to your organization’s instance, you’ll receive an email invitation to join through RealityPlatform.\ **New users:** click the invitation link, then complete registration.\ **Existing users:** log in and accept the invite to access shared content across the Division, Site, project, or Data Bundle. **Where:** invitation email → RealityPlatform registration **Why this matters:** Your RealityPlatform account is the central hub for projects, datasets, collaboration tools, and desktop products tied to your organization and credentials. If you were told you have **admin** rights but do not see your organization, Division, or user-management options after login, contact your Customer Success manager or [](mailto:support@prevu3d.com). * [Sign up & log in](/en/realityplatform/getting-started/sign-up-login/) * [Sharing](/en/realityplatform/user-management/sharing/) Step 2 ### Log in to RealityPlatform Access RealityPlatform at [cloud.prevu3d.com](https://cloud.prevu3d.com) or your organization’s white-label URL (`{domain}.prevu3d.com`). Bookmark it for quick access. You can also use the **Login** button on the [main Prevu3D website](https://prevu3d.com). **Why this matters:** Bookmarking your login page saves time on every visit and ensures you always land in the right place for your as-built projects. Step 3 ### Set up your profile **Where:** **My Account** → profile, notification preferences, **Avatar** for 3D navigation **Why this matters:** A complete profile makes collaboration clearer for teammates; your avatar is how you’re represented in 3D environments. * [My Account](/en/realityplatform/getting-started/my-account/) * [Avatar](/en/realityplatform/getting-started/avatar/) ## Phase 2: Set up your organization [Section titled “Phase 2: Set up your organization”](#phase-2-set-up-your-organization) **Admins** · Steps 4–6 Step 4 ### Understand organizational structure and subscriptions Read how Divisions, Sites, and files fit together, and review your active subscription and usage. **Why this matters:** Knowing how organizations, sites, and assets fit together helps you organize data sensibly from day one and avoid restructuring later. * [Organizational Structure Overview](/en/realityplatform/getting-started/organizational-structure-overview/) * [Subscriptions](/en/realityplatform/organization-management/subscriptions/) * [Usage Summary](/en/realityplatform/organization-management/usage-summary/) Step 5 ### Invite team and set permissions **Where:** **Users** → **Groups** → **Roles & Permissions**. Configure **Single Sign-On (SSO)** if your organization uses an identity provider. **Why this matters:** Getting roles right early follows least privilege — people see exactly what they need, nothing more. RealityPlatform supports **unlimited users**; invite everyone who needs the data. * [Users](/en/realityplatform/user-management/users/) * [Groups](/en/realityplatform/user-management/groups/) * [Roles & Permissions](/en/realityplatform/user-management/roles-permissions/) * [Single Sign-On (SSO)](/en/realityplatform/user-management/single-sign-on-sso/) Step 6 ### Assign product licenses Your plan includes floating licenses for **RealityPlan**, **RealityTwin**, and **RealityConnect**. Instead of named seats, you control product access through roles (Step 5). Licenses are claimed from a shared pool when someone opens a product and released when they close it. Track live usage in **Usage Summary**. **Why this matters:** Floating (concurrent) licenses mean you pay for simultaneous users, not named seats — anyone with access can use a product whenever a license is free. * [RealityPlan License](/en/realityplatform/organization-management/realityplan-license/) * [RealityTwin License](/en/realityplatform/organization-management/realitytwin-license/) * [RealityConnect License](/en/realityplatform/organization-management/realityconnect-license/) **Tip:** If your organization needs custom branding, review [White Label](/en/realityplatform/organization-management/white-label/) options before sharing projects with external stakeholders. ## Phase 3: Get your data in [Section titled “Phase 3: Get your data in”](#phase-3-get-your-data-in) **All users** · Steps 7–11 Step 7 ### Create your Site and get oriented **Where:** from your Division, create a **Site**; navigate between Divisions, Sites, and Files in the left panel **Why this matters:** A Site is the container you upload into and the place your team returns to for location data. Creating it first gives every dataset, mesh, and project a clear home. * [Organizational Structure Overview](/en/realityplatform/getting-started/organizational-structure-overview/) Step 8 ### Plan and prepare your capture Review the Data Collection guidelines and confirm your device or capture method is supported. Prevu3D works with TLS point clouds (Leica, Faro, Trimble), SLAM (XGrids, NavVis), drone and handheld 360° photogrammetry, mesh data, and other file types. **Why this matters:** Capture quality sets the ceiling for everything downstream. You don’t need survey-grade hardware to start — handheld 360° cameras through terrestrial lidar are supported. Confirming your method before going on-site avoids wasted trips and failed uploads. * [Data Collection guidelines](/en/realityplatform/dataset-preparation-and-upload/data-collection/) (includes best-practice whitepapers) Step 9 ### Upload your data **Where:** inside a Site → **New** → **File upload** Follow the Upload Workflow. Choose the path that matches how your data was captured (point cloud, mesh, photogrammetry, or other files) and check supported formats for that type before uploading. **Why this matters:** Uploading through the right path the first time prevents validation and processing errors. A clean upload sets up processing, where you generate the representations you’ll actually use. ![New button and File upload in a Site](/_astro/realityplatform-accessing-the-upload-workflow.CbMElaxv_1rwRlv.webp) **New → File upload** * [Upload Workflow](/en/realityplatform/dataset-preparation-and-upload/upload-scans/) Step 10 ### Process your data **Where:** open the Data Bundle → **View Dataset** → processing panel Generate the visual representations you need: point cloud, mesh, photosphere, plus exports such as **3D Tiles** or **RCP**. Processing is required before data can be viewed; you can run it in phases to validate quality first. **Why this matters:** Processing turns raw uploads into optimized, streamable representations for the 3D Data Viewer, RealityTwin, RealityPlan, and RealityConnect. Process in phases to create exactly what your workflow needs. ![Upload Wizard — data type and Data Bundle name](/_astro/realityplatform-choosing-what-you-want-to-upload.DGA6OdSl_FrYWd.webp) **Upload Wizard** — name your Data Bundle before processing outputs * [Processing your data](/en/realityplatform/dataset-preparation-and-upload/upload-scans/#processing-your-data) Step 11 ### Explore your data in the 3D Data Viewer **Where:** double-click a Data Bundle, or right-click and choose **View Dataset** / **Open** Switch between point cloud, mesh, and photosphere representations — or show several at once. Move through the scene with 360° photosphere and free-fly perspective navigation; take measurements in the browser. **Why this matters:** The viewer is where you validate data. A clean render confirms upload and processing worked and lets you check quality, coverage, and alignment before anyone builds on it. Catching a gap or misalignment now is far cheaper than finding it later in a design or a twin. ![3D Data Viewer](/_astro/realityplatform-using-the-3d-data-viewer.BUrFcSxm_1Bk5g4.webp) **3D Data Viewer** — validate before Twin or Plan work * [3D Data Viewer](/en/realityplatform/dataset-preparation-and-upload/3d-data-viewer-workspace/) **Tip:** Get the most out of your 3D experience — review our [Performance Tips](/en/realityplatform/getting-started/performance-tips/) for the smoothest experience. ## Phase 4: Put your data to work [Section titled “Phase 4: Put your data to work”](#phase-4-put-your-data-to-work) **By product** · Steps 12–15 · Choose the paths that match the products in your plan. Step 12 ### RealityPlatform — organize and share Set up **Asset Types**, organize datasets into site folders, and use **Sharing** to generate secure, time-limited links for internal and external stakeholders. Add notes, documents, and comments for feedback. **Why this matters:** This turns scans into a living source of truth — stakeholders work from the same up-to-date record instead of scattered files and outdated copies. * [Asset Types](/en/realityplatform/metadata-settings/metadata-types/) * [Sharing](/en/realityplatform/user-management/sharing/) Step 13 ### RealityTwin — build a visual digital twin Start with [What is RealityTwin?](/en/realitytwin/getting-started/what-is-realitytwin/), then follow [Creating a Twin](/en/realitytwin/getting-started/creating-a-twin/). Learn the Twin Workspace for navigation, measuring, RealityAssets, Points of Interest, and Zones; connect enterprise systems (ERP, MES, CMMS, IIoT). **Why this matters:** A digital twin gives operations and maintenance teams a persistent, up-to-date view of facilities — cutting field time and inspection costs while improving planning and safety. ![Select datasets to compose a Twin](/_astro/realitycomposer-select-datasets-to-compose.CipWDfD2_Z1ASaut.webp) **Composer / Twin layers** — import processed Data Bundles as layers * [Navigating the Twin](/en/realitytwin/twin-workspace/navigating-the-twin/) * [Measuring Tools](/en/realitytwin/twin-workspace/measuring-tools/) * [Working with RealityAssets](/en/realitytwin/twin-workspace/working-with-realityassets/) * [Points of Interest](/en/realitytwin/twin-workspace/point-of-interest-poi/) * [Zones](/en/realitytwin/twin-workspace/zones/) **Tip:** Enterprise integrations (ERP, MES, CMMS, IIoT) are configured by admins under **Metadata settings → Integrations**, supporting AVEVA, AWS SiteWise, SAP, and generic HTTP connectors. See [Integrations docs](/en/realityplatform/metadata-settings/integrations/register-integration-server/). Step 14 ### RealityPlan — install and start planning Read [What is RealityPlan?](/en/realityplan/getting-started/what-is-realityplan/), install the application, and work through **First Steps**. Explore tools like Measure, Annotation, Import 2D/3D, Clash Detection, and Visual Compare. *Note:* review [Mac support](/en/realityplan/update-and-support/about-mac-support/) if applicable. **Why this matters:** RealityPlan combines reality capture with CAD/BIM to plan layouts, simulate changes, and detect clashes — turning data into engineering decisions. * [Installation](/en/realityplan/getting-started/installation/) * [First Steps](/en/realityplan/getting-started/first-steps/) * [Creating a RealityPlan Project from Twin](/en/realitytwin/twin-workspace/creating-realityplan-project-from-twin/) **Tip:** A RealityPlan project can start from (1) a single mesh within a Data Bundle, or (2) the **Composer workspace** in RealityTwin for a merged multi-layer environment. Use the mesh path for one dataset; use *Create RealityPlan Project from Twin* for the full composed twin. Step 15 ### RealityConnect — connect your CAD/BIM tools Read [What is RealityConnect?](/en/realityconnect/what-is-realityconnect/) and install plugin(s) for your software: **Autodesk** (Revit, AutoCAD Plant 3D, Inventor), **Siemens** (NX, Process Simulate), **Bentley** MicroStation, or **NVIDIA** Omniverse. **Why this matters:** RealityConnect brings Prevu3D data directly into the design tools your engineers already use — real-world context without leaving their familiar environment. **Where:** download from [Apps & Plugins](https://cloud.prevu3d.com/settings/apps-and-plugins) (see also [App & Plugins docs](/en/realityplatform/getting-started/app-plugins/)) ![RealityConnect Connect in CAD](/_astro/realityconnect-accessing-your-data-1.D9-vFuzT_160RiG.webp) **Connect from CAD** — authorize, then stream Environment and Assets ## Phase 5: Stay informed [Section titled “Phase 5: Stay informed”](#phase-5-stay-informed) Steps 16–17 · Ongoing Step 16 ### Bookmark the Knowledge Base and watch tutorials Bookmark the [Prevu3D Knowledge Base](/en/) and explore documentation, guides, and FAQs. Watch product demo videos and the [Prevu3D YouTube channel](https://www.youtube.com/@prevu3d) to see workflows in action. **Why this matters:** The Knowledge Base is your go-to for quick answers and deep reference — videos are the fastest way to get oriented. Step 17 ### Stay up to date Check the [Release Notes](/en/release-notes/2026/) for new features and improvements, and the [System Status](https://prevu3d.statuspage.io/) page for service updates. **Why this matters:** Staying current means you benefit from the latest features and fixes, and you’ll know right away if a service issue affects your work. ## Need help? [Section titled “Need help?”](#need-help) We’re here to support you. ### Get support Reach the Prevu3D team through the [Support page](https://prevu3d.com/support/) or [](mailto:support@prevu3d.com). ### Check service status Real-time uptime on the [Status page](https://prevu3d.statuspage.io/). ### Review security Certifications and compliance on the [Security page](https://prevu3d.com/security/). ### Interested in another product? [Contact us](https://prevu3d.com/contact-us/) — tell us about your needs. # Getting Started > Prerequisites, network access, and the security model for the RealityConnect API. Choose an OAuth flow and follow its dedicated guide. Before you call the RealityConnect API, confirm your network can reach it, understand how access is enforced, and pick the OAuth flow that matches your integration. Each flow has its own step-by-step guide. *** ## Prerequisites [Section titled “Prerequisites”](#prerequisites) You’ll need **organization admin access** to create your first OAuth application. If you don’t have it yet, your org admin can either grant you access or create the application for you. Note API access may vary by account. If something described here isn’t available, reach out to your account manager or customer success contact. ## API URLs and network access [Section titled “API URLs and network access”](#api-urls-and-network-access) Before you create OAuth credentials, confirm that the machine or server running your integration can reach the Prevu3D API over HTTPS. Corporate firewalls, proxies, and allowlists often block outbound traffic and cause connection timeouts or DNS errors. Your integration must be able to reach: * **OAuth and API discovery:** * **Regional RealityConnect API** (your organization uses one region; your flow guide explains how to discover the exact URL): * * * * Ask your IT team to allow outbound HTTPS access to these hosts if you cannot connect. ## Security model [Section titled “Security model”](#security-model) API access is enforced through **three layers**. A request must pass **all of them** to succeed; if any layer denies access, the request fails. **Layer 1 — OAuth scopes.** Configured on the OAuth application. Scopes define which families of operations the application is allowed to perform (e.g. `read:basic`, `read:hierarchy`). **Layer 2 — Content access.** Configured on the account that calls the API. For Client Credentials, that is the service user created with your OAuth application. For the Native app flow, it is the signed-in user. This layer determines which nodes (organizations, divisions, sites, etc.) the caller can see and act on. **Layer 3 — Role / permission access.** Configured on that same account, per node. Determines what the caller can do with that content (read, edit, manage, etc.). Each flow guide walks through where and how to configure these layers for your use case. ## Choose an OAuth flow [Section titled “Choose an OAuth flow”](#choose-an-oauth-flow) Pick the OAuth flow that matches how your integration runs, then follow its dedicated guide: | Flow | Best for | Guide | | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | **Client Credentials** | Server-to-server integrations, scripts, and back-end services that act on behalf of your organization | [Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) | | **Native app** | Integrations where a user signs in through a browser (desktop apps, CLI tools, plugins). Uses Authorization Code + Native Application with PKCE, a localhost redirect, and no client secret. | [Native Application Flow](/en/realityconnect/realityconnect-api/oauth-flows/native-application-flow/) | | **Authorization Code + custom HTTPS redirect** | Web applications with a callback URL on your own domain | [Authorization Code + Custom Redirect Flow](/en/realityconnect/realityconnect-api/oauth-flows/authorization-code-custom-redirect-flow/) | Not sure where to start? **Client Credentials** is the simplest path for testing the API or building server-side automation. Use the **Native app** flow when API calls must run as a specific signed-in user. ## Licensing [Section titled “Licensing”](#licensing) Calling **RealityTwin-related endpoints** consumes **one RealityTwin Data Manager license** from your organization’s floating license pool. See [RealityTwin License](/en/realityplatform/organization-management/realitytwin-license/) for how the license pool works and how usage is counted. If your organization has no available licenses, RealityTwin-related API calls will fail until a license is freed or additional licenses are added. ## Experimental endpoints [Section titled “Experimental endpoints”](#experimental-endpoints) Some operations in the [API reference](/apidocs) are marked **experimental**. Treat experimental endpoints differently from stable ones: * **Expect change.** Paths, parameters, payloads, responses, errors, or availability may change without the same stability guarantees as the rest of the API. * **Isolate usage.** In your integration, prefer stable operations. If you rely on something experimental, keep it behind a small adapter so you can adjust quickly when the contract evolves. * **Stay current.** Follow release notes and revisit the API reference after upgrades so you are not surprised by behavioral changes. Note Experimental does not mean unreliable for testing or early adoption. It means the shape and semantics are still settling before we commit to backward-compatible behavior. ## What’s next? [Section titled “What’s next?”](#whats-next) Pick a flow from the following options and follow its guide end to end. * [Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) * [Native Application Flow](/en/realityconnect/realityconnect-api/oauth-flows/native-application-flow/) * [Authorization Code + Custom Redirect Flow](/en/realityconnect/realityconnect-api/oauth-flows/authorization-code-custom-redirect-flow/) Explore the [API reference](/apidocs) to see all available operations. # Getting Started > Authenticate, add the RealityConnect Embed SDK, and load your first interactive RealityTwin viewer inside your own web application. This guide walks through the two integrations you need to embed a RealityTwin: creating an embed session against the RealityConnect API (from your backend) and handing that session to the SDK (in your front-end). Everything specific to the SDK itself — installation details, initialization, the full command and observable surface, error codes, and the runnable playground — lives in the [`@prevu3d/realityconnect-embed`](#sdk-reference) package README, which is the source of truth. Tip A complete Vue.js integration is deployed at **[rcembed-example.prevu3d.io](https://rcembed-example.prevu3d.io)** and its source is on GitHub at [prevu3d/realityconnect-embed-example](https://github.com/prevu3d/realityconnect-embed-example). If you’d rather copy a working setup than build one from scratch, start there. The GitHub repository is **invite only** — ask your Customer Success Manager to have your GitHub account added, the same way access to the SDK repository is granted. *** ## Prerequisites [Section titled “Prerequisites”](#prerequisites) Before you start, make sure you have: * An **Enterprise** plan with RealityConnect Embed enabled in your organization’s **Security** settings. * A **RealityConnect API** OAuth application using the **Client Credentials** flow. If you haven’t set one up, follow the [Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) guide first. * The ID of the twin you want to embed. * **Read access to the private `prevu3d/realityconnect-embed` GitHub repository** for the account that will install the SDK. Access is **granted manually per customer** on request — contact your **Customer Success Manager (CSM)** with the GitHub usernames that need access, and Prevu3D will add them to the repository. Package visibility on GitHub Packages follows repo visibility, so a `read:packages` PAT alone is not enough — repo access is also required. ## How it fits together [Section titled “How it fits together”](#how-it-fits-together) At a high level, an embed session flows like this: 1. Your **backend** authenticates against the RealityConnect API and calls `create-session` for a specific twin. The API returns tokens and URLs. 2. Your backend forwards the browser-safe values (the session token, the iframe base URL, and the regional API URL) to your **front-end**. 3. Your front-end passes those values to the SDK, which injects the iframe and opens a two-way channel with the twin. 4. Before the current token expires, your backend calls `refresh-session` and hands the fresh values back to the front-end. Your OAuth client secret must **never** reach the browser — only your backend uses it. ## Step 1: Create an embed session (backend) [Section titled “Step 1: Create an embed session (backend)”](#step-1-create-an-embed-session-backend) Embed session management reuses the RealityConnect API. Authenticate with the **Client Credentials** flow exactly as described in the [Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) guide, then call the two embed-session operations on the twin: | Operation | Purpose | | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | | `GET {api_url}/v1/twin/{contextId}/embed/create-session` | Starts a session. Returns `iframeUrl`, `token`, `refreshToken`, `expiresAt`, and `apiUrl`. Takes no body. | | `POST {api_url}/v1/twin/{contextId}/embed/refresh-session` | Exchanges a `refreshToken` (sent in the body) for a fresh `token` and `refreshToken`. | Both calls use the bearer access token from the Client Credentials flow in the `Authorization` header, and both require the `read:twin` **and** `embed:twin` scopes on that token. [Embed Sessions](/en/realityconnect/realityconnect-embed/embed-sessions/) is the full reference for these two operations; the [interactive API reference](/apidocs) publishes their schemas. Caution Always request and renew embed sessions from **your own backend**. Your OAuth client secret and access tokens must never reach the browser. The browser only receives the values your backend chooses to forward to it. ## Step 2: Install the SDK (front-end) [Section titled “Step 2: Install the SDK (front-end)”](#step-2-install-the-sdk-front-end) Once your GitHub account has been granted access (see [Prerequisites](#prerequisites)), install the SDK from the private GitHub Packages npm registry as `@prevu3d/realityconnect-embed`. The [SDK README](#sdk-reference) documents the one-time `.npmrc` and Personal Access Token setup end to end. ## Step 3: Hand the session to the SDK [Section titled “Step 3: Hand the session to the SDK”](#step-3-hand-the-session-to-the-sdk) Forward the `create-session` response fields from your backend to your front-end and map them onto the SDK’s configuration: | `create-session` field | SDK config | Notes | | ---------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `iframeUrl` | `iframeUrl` | A **base** URL. Append the embed route yourself: `` `${iframeUrl}/embed` ``. The twin id does not go in the URL — the session token identifies the twin. See [Building the iframe URL](/en/realityconnect/realityconnect-embed/embed-sessions/#building-the-iframe-url). | | `apiUrl` | `backendUrl` | The regional RealityTwin backend the embed talks to. Not the `{api_url}` you called in Step 1. | | `token` | `platformJWT` | The signed session token the embed authenticates with. Delivered to the iframe by the SDK, never as a URL parameter. | Caution `iframeUrl` is a base URL, not an iframe `src`. `` `${iframeUrl}/embed` `` is the value the SDK needs — nothing appends the embed route for you. ```ts RealityConnectEmbed.init({ iframeUrl: `${session.iframeUrl}/embed`, backendUrl: session.apiUrl, platformJWT: session.token, elementId: 'twin-container', }); ``` From there, follow the [SDK README](https://github.com/prevu3d/realityconnect-embed) to install the package, initialize the viewer, and drive the twin. ## Step 4: Keep the session alive [Section titled “Step 4: Keep the session alive”](#step-4-keep-the-session-alive) Embed sessions are short-lived — the `token` returned by `create-session` expires at roughly the `expiresAt` it reports. To keep the twin running past that window, refresh the session from your backend and hand the new access token to the running SDK — no need to recreate the iframe. A common pattern: 1. On the **backend**, expose an endpoint that reads the stored `refreshToken` for the current user’s twin, calls `refresh-session`, persists the new `refreshToken`, and returns the new `token` (and other session fields) to the browser. 2. On the **front-end**, schedule a refresh shortly before the current token expires. 3. When the fresh session arrives, hand the new access token to the running SDK by calling `twin.updateAccessToken(newAccessToken)`: ```ts await twin.updateAccessToken(newAccessToken); ``` The twin threads the new JWT through its next backend request — open subscriptions, camera state, and the loaded workflow all survive. The call resolves `true` on acceptance and `false` on rejection (also surfaced via `onError`); calling it before `onReady` fires throws `RealityConnectEmbedError('TWIN_NOT_READY')`. The exact scheduling strategy (fixed timer before expiry, on user activity, on tab visibility change, etc.) is up to your application. ## Things to be aware of [Section titled “Things to be aware of”](#things-to-be-aware-of) * **Your page owns the interface.** The embed is a bare viewer — build your own controls and wire them to SDK commands. See the [Introduction](/en/realityconnect/realityconnect-embed/introduction/) for what the embed does and doesn’t include. * **Keep credentials server-side.** Request and refresh sessions from your backend only. * **Sessions expire.** Plan for token refresh as part of your integration. * **Enterprise and Security settings.** The embed loads only when enabled for your organization. ## SDK reference [Section titled “SDK reference”](#sdk-reference) The [`@prevu3d/realityconnect-embed`](https://github.com/prevu3d/realityconnect-embed) package is the complete reference for working with the SDK. Read its **README** for: * Full `.npmrc` and Personal Access Token setup for the private GitHub Packages registry * The `RealityConnectEmbed.init(config)` configuration reference * Every namespace’s actions and state observables (navigation, objects, POI, POV, utilities) * The camera view-encoding flow for shareable links * All documented error codes and when they fire * A runnable **playground** you can point at a live twin to explore the command surface ## Next steps [Section titled “Next steps”](#next-steps) * **[Embed Sessions](/en/realityconnect/realityconnect-embed/embed-sessions/)** — the session endpoints, every response field, and how to build the iframe URL. * **[Introduction](/en/realityconnect/realityconnect-embed/introduction/)** — capabilities overview. * **[Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/)** — the authentication this guide builds on. * **[Interactive API reference](/apidocs)** — the full RealityConnect API catalog. * **[Live example on GitHub](https://github.com/prevu3d/realityconnect-embed-example)** — a working Vue.js integration you can copy from. * **[`@prevu3d/realityconnect-embed`](https://github.com/prevu3d/realityconnect-embed)** - Sources repository # First Steps > Learn the first steps when launching RealityPlan: set units, choose quality settings, follow the quick tutorial, and start exploring your 3D environment. These are the initial steps to go through when launching the application. *** ## Application generalities [Section titled “Application generalities”](#application-generalities) Once you launched the application, you may select the length unit that will be used in the application. You can also choose the quality settings. If your computer only meets the minimal requirements, you should probably choose Low for the application to run smoothly. ![RealityPlan Application interface](/_astro/realityplan-application-generalities.COZVHGOn_Z1AiIW7.webp) Note These settings can later be changed in the application settings menu. ## Tutorial [Section titled “Tutorial”](#tutorial) When you launch the application for the first time, a tutorial will quickly show you how to use the interface. This tutorial is dismissed after clicking once anywhere in the application. ![RealityPlan quick tutorial overlay](/_astro/realityplan-tutorial.vr_3IZcK_sHCNk.webp) Note You can see this tutorial again at any time by clicking the ***Help*** menu and selecting ***Quick tutorial***. ## Explore [Section titled “Explore”](#explore) To navigate in your space, simply use *mouse click* to teleport to the location you want to land to in the environment. To get more information on how to fully use the navigation, please see the [navigation](/en/realityplan/getting-started/navigation/) basics. # Installation > Learn how to install the RealityPlan Hub to run and manage projects. Check IT permissions, system requirements, and Windows/Mac compatibility guidelines. Install the RealityPlan Hub to manage and run your projects effortlessly—just download, run the installer, and follow the steps. Ensure your computer meets the minimum requirements for the best experience. *** ## Install the RealityPlan Hub [Section titled “Install the RealityPlan Hub”](#install-the-realityplan-hub) The RealityPlan Hub is a standalone application that allows you to run and manage your projects. To download the installer go to the [App & Plugins](/en/realityplatform/getting-started/app-plugins/) menu from your user profile and click on download, after this run the installer and follow the steps it provides. ![RealityPlan Install the realityplan hub](/_astro/realityplan-install-the-realityplan-hub.Dlx1cBIK_1FHiQH.webp) IT requirements To install the hub you need administrator right on your computer, if you do not have this role please contact your IT department and direct them to the Hub deployment guide. ## Computer requirements and compatibility [Section titled “Computer requirements and compatibility”](#computer-requirements-and-compatibility) Your 3D data is heavily optimized by Prevu3D. Therefore, visualizing your environment doesn’t require a powerful PC: | Specifications | Minimal | Recommended | Ultra | | -------------- | -------------------------- | -------------------------- | -------------------------- | | CPU | i5 (2017+, high frequency) | i7 (2019+, high frequency) | i7 (2021+, high frequency) | | GPU | GTX 970 | RTX 2060 | RTX 2080 | | RAM | 16 Gb | 32 Gb | 32 Gb | Supported systems The desktop app is officially supported only on Windows. Mac users can run it using virtual machines. # Navigation > Explore RealityPlan's navigation modes, including free-view and orbit, for an immersive editing experience in your virtual space. The RealityPlan application allows you to edit and explore your space with multiple navigation modes. *** ## Navigation Menu [Section titled “Navigation Menu”](#navigation-menu) The **navigation menu** sits at the **top left of the screen**. It lets you move through your space using several navigation modes, grouped by type. Hover over a group to expand it and pick a mode; the icon shown in the menu always reflects the mode currently in use. ![The navigation menu with all seven modes numbered: Home, Free view, Photosphere, Orbit, First person, Third person, and VR mode](/_astro/realityplan-navigation-menu-labeled.DJpfV5qq_ZVr8pj.webp) Modes 1 to 4 are **[Editor modes](#editor-mode-default)**, which keep the interface and tools available while you move. Modes 5 and 6 are **[Explore modes](#explore-mode)**, which hide the interface for an immersive walkthrough with your avatar. Mode 7 launches **VR**; see **[VR Settings](/en/realityplan/application-settings/vr-settings/)** to enable it. The control tables below list the keys and mouse actions for each mode. To navigate in your space, `mouse click` **to teleport**, or `drag-and-drop` the navigation mode icon onto the location you want to land in the environment: [](/videos/navigation_drag_drop.mp4 "Drag a navigation mode icon to teleport") Note You may also `mouse click` on the navigation mode icon when you want to land on the point below you ## Editor Mode (default) [Section titled “Editor Mode (default)”](#editor-mode-default) This is the default state that allows you to use the tools and all the features of the application. You may navigate in the environment using the **navigation circle** that appears under your mouse. To **teleport** somewhere, simply `mouse click` on the spot of the environment you want to teleport to. You may also **rotate the view** by `holding and dragging the mouse cursor`. ![Navigation circle marking the teleport destination in Editor mode](/_astro/realityplan-editor-mode-default.DE4HqpCC_Z22Rqon.webp) You can also use the minimap to teleport to a specific point in your space by `double-clicking` on the map. ![Minimap showing the current position and viewing direction](/_astro/realityplan-editor-mode-default-1.x_YGMDpN_LRUdb.webp) Editor navigation modes are: **Home, Free view, Orbit, Photosphere**. Using the **Editor mode**, you may use the following controls : | Action (editor controls only) | Concerned editor navigation modes | KEY | | ---------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | Teleport (except when using a tool or selecting something) | All | ![Left mouse button](/_astro/realityplan-editor-mode-default-2.Tms1rus2_ZTlmOc.webp) (mouse left-click) | | Rotate the view | Freeview, Photosphere | ![Left mouse button](/_astro/realityplan-editor-mode-default-2.Tms1rus2_ZTlmOc.webp) Hold and move mouse (mouse left-click) | | Rotate around pivot | Orbit | ![Right mouse button](/_astro/realityplan-editor-mode-default-3.ClUUK1rL_Z27mHN.webp) Hold and move mouse (mouse right-click) | | Move | All except Photosphere | ![Middle mouse button](/_astro/realityplan-editor-mode-default-4.DGLZ8EPG_10Xj1u.webp) Hold and move mouse (mouse middle click) | | Zoom in/out | All | ![Mouse scroll wheel](/_astro/realityplan-editor-mode-default-4.DGLZ8EPG_10Xj1u.webp) (mouse scroll) | | Drag environment | Home, Orbit | ![Left mouse button](/_astro/realityplan-editor-mode-default-2.Tms1rus2_ZTlmOc.webp) (mouse left-click) | | Switch to explore mode | Free view | ![Right mouse button](/_astro/realityplan-editor-mode-default-3.ClUUK1rL_Z27mHN.webp) (mouse right-click) or Explore button | ## Explore Mode [Section titled “Explore Mode”](#explore-mode) When active, Explore mode will hide the interface and mouse cursor, allowing you to have a much more immersive experience in the environment. In this mode, you may **navigate using the keyboard and mouse** as the navigation controls are enhanced and the tools are disabled. Explore navigation modes are: **Free view, First person, Third person**. Using the Explore mode, you may use the following controls : | Action (explore controls only) | Concerned explore navigation modes | KEY | | ------------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Switch to editor mode | All | ![Right mouse button](/_astro/realityplan-explore-mode.D3BELM0G_8koD5.webp) (mouse right-click) or ![Escape key](/_astro/realityplan-explore-mode-1.BGdLZxl1_2aH9xt.webp) | | Move | All | ![Arrow keys](/_astro/realityplan-explore-mode-2.CHV4wZyW_Z49aeW.webp) or ![WASD keys](/_astro/realityplan-explore-mode-3.D0KJq0Mj_1kEw7f.webp) | | Change look direction | All | Move Mouse | | Move faster | All | ![Shift key](/_astro/realityplan-explore-mode-4.twPkn3Uu_1qMYc7.webp) | | Crouch | Third Person, First person | ![Control key](/_astro/realityplan-explore-mode-5.C1azj3hx_ZJGbai.webp) | | Jump | Third person, First person | ![Space bar](/_astro/realityplan-explore-mode-6.alasS2gL_B5E2U.webp) | | Move up | Free view | ![E key](/_astro/realityplan-explore-mode-7.470-slL7_10dHR6.webp) | | Move down | Free view | ![Q key](/_astro/realityplan-explore-mode-8.KnzFyi_6_Z1sba0v.webp) | ## Orbit navigation [Section titled “Orbit navigation”](#orbit-navigation) When using Orbit navigation wheel, manage your point of view using our Orbit navigation wheel at the bottom right of the interface. ![Orbit navigation wheel with Back, Left, Top, Right, and Front viewpoints](/_astro/realityplan-orbit-navigation.Dh7GMNlh_vz2cD.webp) ## Photospheres [Section titled “Photospheres”](#photospheres) The photosphere navigation mode is a good way to see the real images captured by the scanner. It also supports 3D objects, measures and annotations, blending them all into a surprisingly realistic environment. Your movements are limited to the stations position. ![RealityPlan in Photosphere mode displaying a captured equipment room](/_astro/realityplan-photospheres.D8wyg_yt_ZMDXDL.webp) Station’s Preview Press `space-bar` to toggle the visibility of the stations positions the photospheres were taken from ### Desktop avatar [Section titled “Desktop avatar”](#desktop-avatar) On the desktop, you can see your full 3D avatar To use your avatar: 1. Use the left vertical toolbar to toggle **Third person** mode, or 2. Go to the top menu bar and select **View > Third Person** ![A desktop avatar standing inside a RealityPlan industrial environment](/_astro/realityplan-desktop-avatar.CcFx5Rdg_19pqfd.webp) # Object Management > Enhance your environment with RealityPlan tools! Easily manipulate objects, organize layouts, and utilize features like folders and search for efficient management. RealityPlan tools allow you to place several objects to enhance your environment and reorganize your reality (such as annotations or 3D models). Here are some quick tips to facilitate the manipulation of these objects. *** ## The object panel [Section titled “The object panel”](#the-object-panel) The object panel allows you to visualize and edit your layout easily. **All the objects you placed can be found in the panel**. You can open/close it at any time by clicking on the arrow button in the top left corner of the panel. ![RealityPlan Object panel](/_astro/realityplan-the-object-panel.Cugm1EKF_Z160E7U.webp) ## Object visualization and edition [Section titled “Object visualization and edition”](#object-visualization-and-edition) Three buttons can be found at the right of each object: | Actions | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | ![RealityPlan Object visibility and editing controls](/_astro/realityplan-object-visualization-and-edition.CRdcd0hx_2jfGbF.webp) Teleport | The teleport button teleports you directly to the object | | ![RealityPlan Object visibility and editing controls](/_astro/realityplan-object-visualization-and-edition-1.BxMeaUNy_Z1c5y1A.webp) /![RealityPlan Object visibility and editing controls](/_astro/realityplan-object-visualization-and-edition-2.BxZcAt5V_GtNPP.webp) Lock/unlock | Allows you to lock/unlock an object so that it cannot be selected (except from the object panel) until you unlock it | | ![RealityPlan Object visibility and editing controls](/_astro/realityplan-object-visualization-and-edition-3.CGvNEpSN_Z1Xh41E.webp) Visibility | The eye button toggle the visibility of the object | When selecting an object from the panel, its information panel opens on the settings tab. It allows you to **adjust the object settings** and perform common operations such as moving or deleting the object. ## Properties tab [Section titled “Properties tab”](#properties-tab) Within the information panel of 3D assets, you’ll find an additional tab labeled **Properties**. This tab allows you to append and modify properties on your assets, enhancing your ability to effectively manage your space. [](/videos/realityasset_metadata.mp4 "Editing RealityAsset metadata") ## Folders [Section titled “Folders”](#folders) Folders allow you to categorize your layout objects by a simple drag and drop. You can create folders using the ![folder icon](/images/docs/doc-image-13.png) button. You may also rename a folder using the contextual menu (right click) or the property panel. * Pressing the folder **highlight** button will highlight the objects contained inside the folder * Pressing the folder **visibility** button will toggle the visibility of all elements inside the folder [](/videos/folder.mp4 "Organizing objects in folders") ## Search [Section titled “Search”](#search) If your layout becomes complex and contains several objects, the search bar and the filter system will help you quickly find what you’re looking for. Also, using `Ctrl+F` shortcut will automatically open the object panel and focus on the search bar. ## Multiple selection [Section titled “Multiple selection”](#multiple-selection) You can simultaneously move a group of objects by holding `Shift` while pressing `mouse left-click` on the desired objects. If at least two objects are selected, a handle will appear for you to translate/rotate the group of objects. [](/videos/multiselect.mp4 "Selecting and moving multiple objects") ## Copy/Paste [Section titled “Copy/Paste”](#copypaste) To duplicate an object or a group of objects : * Select an object or a group of objects by using the multiple selection above * Press `Ctrl + C` on your keyboard to **copy** the selection. * Move your mouse to the desired location of the **paste** * Press `Ctrl + V` to paste the selection * You may also use `Ctrl + X` to **cut** the selection ## Contextual menu [Section titled “Contextual menu”](#contextual-menu) `Right-clicking` on objects and elements placed in your space displays a contextual menu, allowing you to reach your main actions more efficiently. If the object is part of the scene, it must be selected before using the right click, in order to open the context menu. ![RealityPlan Contextual menu](/_astro/realityplan-contextual-menu.C6c2it9q_Z2dDXMM.webp) Note Objects must be selected prior to be right-clicked for the dropdown menu to show. # RealityPlan Hub Overview > Login to the RealityPlan Hub to manage your projects, download environments, and run applications seamlessly with just a few clicks. Explore your projects, and easily download or run your environments with a few clicks. *** ## Login to the RealityPlan Hub [Section titled “Login to the RealityPlan Hub”](#login-to-the-realityplan-hub) To download your environment first you need to open the hub and login to your account, to do this click on one of the login buttons hightlighted in the image below. ![RealityPlan Hub login](/_astro/realityplan-login-to-the-realityplan-hub.DQdK72KQ_28sEGx.webp) After pressing the login button a window should open on your browser asking you to login to the cloud platform, or, if you’re already logged in to confirm that you want to login to the hub. ### Interface overview [Section titled “Interface overview”](#interface-overview) The hub interface is divided in 6 main areas as shown below: ![RealityPlan Interface overview](/_astro/realityplan-interface-overview.XU9JpeCe_ZX4NEh.webp) Details * Area 1: Projects area. This is where your projects are displayed, you can launch them by clicking on them or download them by clicking on the arrow button on the bottom right. * Area 2: Organization dropdown. You can click here to select which organization you want to load projects from if you are a member of multiple organizations. * Area 3: Search tools. Here you have the search bar and some advanced filters to filter throught your projects. * Area 4: Cloud/Local tabs. You can switch between seeing your already donwloaded project and all the projects in your organization. Local projects can be run even without an active internet connection. * Area 5: Left topbar. In here you can acces relevant websites directly like the documentation or our support site. * Area 6: Right topbar. In here you can acces the hub and account settings on top of the downloads page, where you can see all currently ongoing downloads. ### Download your environment [Section titled “Download your environment”](#download-your-environment) Once your project has been processed on [RealityPlatform](/en/realityplatform/getting-started/what-is-realityplatform/) it will become available for download on the hub. To download your environment search its name on the search bar and click on the download button, you will see the downloads window opening and showing you the state of your download. Not every project can be downloaded — see [Projects you can open in RealityPlan Desktop](#projects-you-can-open-in-realityplan-desktop) below. ### Projects you can open in RealityPlan Desktop [Section titled “Projects you can open in RealityPlan Desktop”](#projects-you-can-open-in-realityplan-desktop) RealityPlan Desktop renders a project only when **every layer has a mesh or a CAD**. A layer holding only a point cloud or a Gaussian splat is not enough. The Hub now tells you this before you download, rather than after: | Card label | What it means | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | **Web only** | The project opens in the web viewer but not in RealityPlan Desktop. This describes Desktop support — the project itself is complete. | | **Not viewable** | A layer has no representation RealityPlan Desktop can render, so the project cannot be opened there. | A labelled card is dimmed, and download and open are offered only where they will work. Hovering the label explains the reason. To make such a project open in RealityPlan Desktop, give the affected layer a mesh or a CAD, or remove that layer from the project. Representations in the download A download to RealityPlan Desktop carries the mesh and photosphere representations. **Point cloud** and **Gaussian splat** representations are not included — view those in the browser, in RealityTwin, RealityComposer, or the 3D Data Viewer. ### Running the application [Section titled “Running the application”](#running-the-application) You can inmmediately open the app by clicking on the desired environment. The project data will keep downloading while you run the app. You can also download your project prior to opening it. # Using Tools > Easily document and modify your space with RealityPlan's intuitive tools. Learn how to navigate and utilize the toolbar for effective editing. The RealityPlan application allows you to easily document and change your space through the use of simple tools. Here’s a quick overview on how the tools work. You may find a more detailed documentation about each tool in the tools documentation *** ## The toolbar [Section titled “The toolbar”](#the-toolbar) Tools can be accessed from the toolbar. Only one tool can be used at a time. ![RealityPlan The toolbar](/_astro/realityplan-the-toolbar.Cc720RHy_ZorssV.webp) Missing toolbar? If you don’t see the toolbar, you must press mouse right-click to switch from explore controls to editor controls. Here is a quick overview of the tools available in the toolbar : | Tool | | Description | | ------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | ![View tool](/_astro/realityplan-the-toolbar-1.BWDkSmw__Z1iIJNx.webp) | [View](/en/realityplan/getting-started/visualizations/) | Change visualization settings | | ![Rendering style tool](/_astro/realityplan-the-toolbar-2.D_S2LdbC_164GG1.webp) | [Rendering style](/en/realityplan/application-settings/visual-effects/) | Change the camera preset | | ![Measure tool](/_astro/realityplan-the-toolbar-3.BRcbqsmB_Z1F3NVx.webp) | [Measure](/en/realityplan/tools/measure/) | Measure distances, areas and volumes | | ![Annotation tool](/_astro/realityplan-the-toolbar-4.HjbwuwOl_2hEReT.webp) | [Annotation](/en/realityplan/tools/annotation/) | Place contextual annotations to document your space | | ![Import tool](/_astro/realityplan-the-toolbar-5.OeRGewk2_FJGRJ.webp) | [Import](/en/realityplan/tools/import3d/) | Import external 2D/3D models and place them in your space (CAD or MESH) | | ![3D library tool](/_astro/realityplan-the-toolbar-6.C_KqSBq9_Z25IbhV.webp) | [3D library](/en/realityplan/tools/import3d/) | Access imported and extracted 3D models or draw 3D shapes in your space (cube, plane, sphere, cylinder). Color and texture those shapes | | ![Assets Creation tool](/_astro/realityplan-the-toolbar-7.ByULQprh_K8ats.webp) | [Assets Creation](/en/realityplan/tools/realityassets/) | Create RealityAssets with the multi-box tool or the asset magic wand | | ![Clipping Box tool](/_astro/realityplan-the-toolbar-8._aAkRZOg_ZQ7bml.webp) | [Clipping Box](/en/realityplan/tools/clipping-box/) | Create Clips from your environment to separate areas from one another | | ![Cut tool](/_astro/realityplan-the-toolbar-9.DdfItQMW_1XlAfC.webp) | [Cut](/en/realityplan/tools/cut-environment/) | Extract 3D sections of the environment and fill-up the left hole (floor/wall filling) | | ![Constraints tool](/_astro/realityplan-the-toolbar-10.BsFKA26M_f9h7k.webp) | [Constraints](/en/realityplan/tools/constraints/) | Apply constraints on your objects to create relationships with other objects or the environment | | ![Export tool](/_astro/realityplan-the-toolbar-11.Btzie0TX_XnbIG.webp) | [Export](/en/realityplan/tools/export-3d/) | Generate 2D plan and orthophoto of your environment to DXF. Export 3D models to multiple file formats | | ![Share tool](/_astro/realityplan-the-toolbar-12.8kZ_NAys_Z17c6pS.webp) | [Share](/en/realityplan/tools/present-capture/) | Take a screenshot, record the screen, upload a layout to the cloud | Exit a tool If you want to quit any tool, just press `Escape`. ## How to navigate while using a tool [Section titled “How to navigate while using a tool”](#how-to-navigate-while-using-a-tool) While using a tool, you’ll notice that you can’t move using the left click. **Moving while using a tool** can be useful in many cases. For example, the cut tool, where you need to **change you viewpoint** several times to accurately select a zone. All editor navigation mode are designed to be able to change your current viewpoint without using the left click. If you are using Orbit or Home, you can pan and rotate. If you are using Free view, you can simply **pause the tool and switch to explore controls** with `mouse right-click`. When you come back to the editor controls again, the **tool** you paused will be **restored** at the state you left it. You can always refer to the [navigation basics](/en/realityplan/getting-started/navigation/) for more details # Visualizations > Explore RealityPlan's visualization tools, including perspective, heightmap, and X-Ray modes, to understand your space and compare assets effectively. RealityPlan offers multiple visualization tools for you to understand your space in different ways. ![RealityPlan Visualization menu](/_astro/realityplan-getting-started-visualizations.CWDzPiMt_BGGi2.webp) *** ## Perspective/Orthographic [Section titled “Perspective/Orthographic”](#perspectiveorthographic) In the perspective view, objects which are far away are smaller than those nearby. In the orthographic view, all objects appear at the same scale. ![RealityPlan Perspective and orthographic view controls](/_astro/realityplan-perspectiveorthographic.BLlUKdaH_ZnfsfL.webp)![RealityPlan Perspective and orthographic view controls](/_astro/realityplan-perspectiveorthographic-1.DaxO7NIH_Z1Ww4KI.webp) ## Heightmap [Section titled “Heightmap”](#heightmap) The heightmap visualization mode allows you to understand your space on the standpoint of height. ![RealityPlan Heightmap](/_astro/realityplan-heightmap.C36yEtIm_Z1D28DR.webp) Quick Tip The span of the heightmap can be configured in the heightmap options. Setting a small span allows you to visualize the deviation of the selected volume (for example the floor deviation) ## Mesh inspection [Section titled “Mesh inspection”](#mesh-inspection) The Mesh inspection mode allows you to see the meshes in your environment without their textures. ![RealityPlan Mesh inspection](/_astro/realityplan-mesh-inspection.D5TXrSQF_Z1CjrNo.webp) ### Show triangles (Settings) [Section titled “Show triangles (Settings)”](#show-triangles-settings) Enabling this setting allows you to see each vertex and triangle that your environment contains. ![RealityPlan Show triangles settings](/_astro/realityplan-show-triangles-settings.BrsmWAd3_Z3amIW.webp) ### Show normals only (Settings) [Section titled “Show normals only (Settings)”](#show-normals-only-settings) Enabling this setting makes it easier to observe the normals in the environment. ![RealityPlan Show normals only settings](/_astro/realityplan-show-normals-only-settings.DDMCt8NH_k00R3.webp) ## **X**-Ray [Section titled “X-Ray”](#x-ray) The X-Ray mode allows you to see through the environment and highlight the edges. ![RealityPlan X ray](/_astro/realityplan-x-ray.BMrKs3kr_ZWaygT.webp) ## Visual Compare [Section titled “Visual Compare”](#visual-compare) The visual compare tool allow you to see the deviation between 2 selected assets. Typically you will compare the CAD asset against the scanned environment. You can find more details about the Visual Compare tool over [here](/en/realityplan/tools/visual-compare/). ![RealityPlan Visual compare](/_astro/realityplan-visual-compare.D90yRzrm_ZUr43C.webp) ## Show Grid [Section titled “Show Grid”](#show-grid) The grid tool allows you to display a reference grid in the environment. ![RealityPlan Show grid](/_astro/realityplan-show-grid.rSqhLjdJ_Z2dRyc3.webp) From the grid settings, you can: ![RealityPlan Show grid](/_astro/realityplan-show-grid-1.62xaXJoz_Z22MvbD.webp) * **Snap to Grid**\ Enable objects of the [3D library](/en/realityplan/tools/basic-3d-shapes/) snapping automatically with the intersections of the grid lines. * **Adjust Grid Spacing**\ Change the distance between grid lines. * **Move Grid Origin**\ Unlock origin and then select a point in the environment to set as the new origin of the grid . * **Reset Grid Origin**\ Restore the grid to its default . # What is RealityPlan? > Streamline engineering and construction projects with RealityPlan, integrating reality capture data with CAD/BIM tools for enhanced collaboration and reduced costs. ![RealityPlan Overview](/_astro/realityplan-getting-started-what-is-realityplan.CCYUUpWu_2giSzF.webp) RealityPlan is an advanced platform designed to streamline engineering and construction projects by combining reality capture data with CAD (Computer-Aided Design) and BIM (Building Information Modeling) tools. Tailored for engineering, manufacturing, and construction professionals, RealityPlan simplifies design, visualization, and collaboration, enabling teams to make faster, more accurate decisions using real-world data. *** [](/videos/whatisrealityplan.mp4 "RealityPlan overview") ## Key Benefits of RealityPlan [Section titled “Key Benefits of RealityPlan”](#key-benefits-of-realityplan) RealityPlan transforms traditional engineering processes by accelerating workflows, enhancing collaboration, and optimizing resource use. Here’s how it can benefit your project: * **Accelerated Design Iteration**: Move from design concept to visualization in hours rather than days, speeding up project timelines and improving productivity. * **Reduced Operating Costs**: Efficient resource allocation, streamlined workflows, and reduced rework lead to a 35% reduction in operating expenses. * **Lower Planning Errors**: RealityPlan’s real-world data integration helps prevent costly design errors, resulting in a 25% reduction in planning issues. * **Enhanced Collaboration**: RealityPlan facilitates remote collaboration, cutting down on travel needs and achieving a 70% increase in collaborative efficiency by bringing stakeholders into a shared virtual workspace. ## How RealityPlan Works [Section titled “How RealityPlan Works”](#how-realityplan-works) RealityPlan integrates reality capture data—like 3D scans of real-world environments—into a cohesive platform where users can create, modify, and analyze complex engineering layouts. Key features include asset management, design tools, interactive visualization, remote collaboration, and powerful quality assurance tools to validate designs and optimize workflows. ### RealityAssets [Section titled “RealityAssets”](#realityassets) RealityAssets are core elements in RealityPlan, representing spatial definitions of assets within 3D environments. These assets are more than visual elements—they carry metadata and can be organized, annotated, and customized with parameters for a variety of uses, including training, inspection, and safety planning. ### Customizable Parameters and Metadata Integration [Section titled “Customizable Parameters and Metadata Integration”](#customizable-parameters-and-metadata-integration) RealityPlan allows users to enrich RealityAssets with custom parameters, including asset types, model specifications, or technical links. This makes assets easily searchable and usable across different project phases, ensuring all stakeholders have access to consistent, up-to-date data. ### Interactive Design Tools [Section titled “Interactive Design Tools”](#interactive-design-tools) RealityPlan offers powerful mesh segmentation and design tools to define and modify RealityAssets. Users can create 3D models, perform collision testing, animate assets, and export to CAD for seamless integration, transforming raw reality capture data into actionable design assets. Additionally, the **Visual Compare Tool** enables precise validation of CAD/BIM models against as-built conditions. ### AI-Powered RealityAsset Creation [Section titled “AI-Powered RealityAsset Creation”](#ai-powered-realityasset-creation) The **Asset Magic Wand**, powered by AI, allows users to easily isolate and define complex assets from 3D scans. It functions like a selection tool, enabling quick creation of RealityAssets that can then be refined for precision, simplifying complex asset management. ### Comprehensive Documentation and Knowledge Sharing [Section titled “Comprehensive Documentation and Knowledge Sharing”](#comprehensive-documentation-and-knowledge-sharing) RealityPlan centralizes documentation, allowing for a “single source of truth.” Users can attach annotations, technical documents, training videos, and CAD metadata directly to RealityAssets, streamlining knowledge sharing and ensuring that every team member has the necessary context. ### Advanced QA and Measurement Tools [Section titled “Advanced QA and Measurement Tools”](#advanced-qa-and-measurement-tools) RealityPlan includes a suite of tools for quality assurance and accurate measurement, making it easier to validate designs and ensure project accuracy: * **Clash Detection**: Identify conflicts between new CAD designs and existing environments early, helping to reduce costly errors. * **Volume Measurement Tool**: Accurately assess stockpiles, land areas, and other critical measurements for precise planning. * **RealityConnect for Revit**: Integrate RealityPlan directly with Revit for a seamless experience, further enhancing project efficiency. ### Enhanced Navigation and Collaboration [Section titled “Enhanced Navigation and Collaboration”](#enhanced-navigation-and-collaboration) With real-time 3D visualization, team members and stakeholders can remotely explore project environments, interact with assets, and provide feedback. This feature is designed for collaborative work, making it easy to share insights, address concerns, and update designs collectively. # App & Plugins > Download the latest versions of RealityPlan Hub and external plugins from the Apps and Plugins page. Easily access and download the latest versions of RealityPlan Hub and external plugins from the new **Apps & Plugins** page in your user profile. *** ## Apps & Plugins Page [Section titled “Apps & Plugins Page”](#apps--plugins-page) The Apps & Plugins page, available under the User Profile menu, provides a centralized location to access all applications and plugins. This page allows you to: * View and download the latest versions of RealityPlan Hub and external plugins. * Read short descriptions to understand their functionality. * Access direct links to the official documentation for installation and usage guidance. ![RealityPlatform Apps and Plugins page](/_astro/realityplatform-apps-plugins-page.DUwzg2_y_1m5sBY.webp) ### RealityPlan Hub [Section titled “RealityPlan Hub”](#realityplan-hub) The first section of the page features **RealityPlan Hub**, the core application that connects RealityPlan services to your local environment. From here, you can always find and download the latest version. You may refer to the [installation](/en/realityplan/getting-started/installation/) page for more details. ### External Plugins [Section titled “External Plugins”](#external-plugins) The second section lists all plugins that integrate with third-party software, such as Revit and other supported applications. Each plugin includes: * A short description of its functionality. * A direct download link for the latest version. * A link to detailed documentation for setup and usage. # Avatar > Personalize your 3D experience with avatars for exploring and collaborating in Prevu3D environments. Avatars bring your 3D environment to life, allowing you to represent yourself while exploring and collaborating in immersive environments across RealityTwin and RealityPlan. Your avatar is associated with your user profile and can be used across supported Prevu3D products. *** ## Creating avatars [Section titled “Creating avatars”](#creating-avatars) To create an avatar, go to ***Settings > Avatar***. There are two ways to get an avatar, and either one can then carry your custom branding: * **Predefined avatar** — the quick path. Pick a ready-to-use avatar; no preparation required. Best for most users. * **Custom avatar (GLB)** — the advanced path. Import a model you built in 3D software. It gives you full control over how the avatar looks, but the model must meet the technical requirements below. ### Choose a predefined avatar [Section titled “Choose a predefined avatar”](#choose-a-predefined-avatar) Choose from a curated list of ready-to-use avatars available in the system. This is the fastest option — no modeling or rigging required. ### Import a custom avatar (GLB) [Section titled “Import a custom avatar (GLB)”](#import-a-custom-avatar-glb) Custom avatars are self-service: prepare your model in your own 3D software, export it to **GLB**, and upload it from ***Settings > Avatar***. This lets teams add avatars that reflect their own environment — for example operators, technicians, maintenance workers, or plant-floor personnel. 3D terms, in plain English * **GLB** — the single file that holds your whole avatar: its shape, its textures, and its skeleton. * **Mesh & materials** — the visible surface of the character and the colors and images (textures) painted on it. A logo is a texture. * **Rig & skeleton** — the internal bones that let the avatar move. A humanoid skeleton names and connects those bones the standard way Prevu3D expects. To display and animate correctly, a custom avatar must meet these technical requirements: * **GLB format** — the avatar is uploaded as a single `.glb` file. * **Standard humanoid rig** — the mesh must be skinned to a standard humanoid skeleton that follows the Mixamo rig (also compatible with Unity’s humanoid rig), using the expected bone names such as `Hips`. This shared skeleton is what lets Prevu3D animate your avatar — walking, idle, and third-person movement. * **Embedded textures** — export with the textures embedded inside the GLB, so colors and logos travel with the single file. * **Compatible mesh and materials** — meshes and materials must export cleanly to GLB. Exporting to GLB Some rigging tools do not export GLB directly, so a conversion step is usually required. Conversion fidelity can vary between tools, so after importing, confirm your avatar appears and animates correctly in a supported environment. #### Before you upload [Section titled “Before you upload”](#before-you-upload) * The file is a single **GLB**. * The character is **humanoid and rigged** with a standard skeleton. * It stands **upright**, at roughly human height, facing forward. * Meshes, materials, and any logo look correct in a GLB preview. * **Textures are embedded** in the file. * The file size is reasonable for the web — smaller is better. * You have the **rights** to every model, texture, and logo you used. ### Add custom branding (optional) [Section titled “Add custom branding (optional)”](#add-custom-branding-optional) You can personalize your avatar by adding: * A logo on the front * A logo on the back This allows teams to represent company branding inside collaborative 3D environments.![RealityPlatform Add custom branding](/_astro/realityplatform-3-add-custom-branding.nmL7DMsI_1aHk4t.webp) ## Changing or removing your avatar [Section titled “Changing or removing your avatar”](#changing-or-removing-your-avatar) To swap your avatar, return to ***Settings > Avatar***, pick a different predefined avatar or upload a new custom GLB, preview it, and save — the new choice replaces the previous one. The same screen is where you remove a custom avatar to go back to a predefined one. RealityPlan Desktop manages avatars separately; see [Avatar Behavior by Platform](#avatar-behavior-by-platform) below. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) Use the preview area as your checkpoint before saving: * **Avatar looks gray or untextured** — the textures were not embedded in the GLB. Re-export with embedded textures and upload again. * **A logo is missing** — the textures were not embedded, or the logo sits on a hidden part of the mesh. Re-check placement and re-export. * **Avatar is tiny, huge, lying down, or facing away** — a scale or orientation issue in the source model. Set it upright, at roughly human height, facing forward, then re-export. * **The upload is rejected or the avatar does not move** — usually a rigging or skeleton problem. Confirm the model is a rigged, standard humanoid. Note We don’t build custom avatars on your behalf — the modeling and GLB export happen in your own 3D software. ## Avatar Behavior by Platform [Section titled “Avatar Behavior by Platform”](#avatar-behavior-by-platform) ### Web (RealityTwin & RealityPlan Web) [Section titled “Web (RealityTwin & RealityPlan Web)”](#web-realitytwin--realityplan-web) Once configured, your avatar will automatically appear in supported environments. ### RealityPlan Desktop [Section titled “RealityPlan Desktop”](#realityplan-desktop) RealityPlan Desktop includes its own predefined avatar set. If you want to use your selected web avatar in the Desktop application, additional configuration steps are required. Please refer to the dedicated article: [Using Your Web Avatar in RealityPlan Desktop](/en/realityplan/application-settings/custom-avatar/) ## Navigation and Third-Person Mode [Section titled “Navigation and Third-Person Mode”](#navigation-and-third-person-mode) Navigation and Third-Person mode behavior are covered in a separate article. Refer to: [Navigation Modes and Third-Person View (Web)](/en/realitytwin/twin-workspace/navigating-the-twin/) [Navigation Modes and Third-Person View (Desktop)](/en/realityplan/getting-started/navigation/) On a managed network? Avatar configuration and third-person view rely on the avatar service (`avatar.prevu3d.io`). If your organization uses a firewall or proxy, ask your IT team to allow it. See [Network & Firewall Requirements](/en/realityplatform/getting-started/network-and-firewall-requirements/). # My Account > Learn how to manage your RealityPlan account. Update your name, email preferences, and profile picture easily from the Profile Page and save your changes. The *My account* provides users with essential information and settings regarding their account. This guide covers each feature available on the Profile Page to help users manage their account information and preferences easily. *** ![RealityPlatform My Account page](/_astro/realityplatform-getting-started-my-account.Bj9vnxRa_5yBaS.webp) There are 3 editable sections of this profile page 1. **Full name**: Displays the name associated with your account. 2. **Email preferences**: Users can choose to receive emails from Prevu3D, such as news, promotions, and updates. Use the checkbox to toggle your selection. 3. **Profile picture**: `Hover` the profile picture to upload a new picture or to remove it entirely. ![RealityPlatform My Account page](/_astro/realityplatform-getting-started-my-account-1.CQcGuBEK_Z23W8NB.webp) Note To ensure your changes are saved, press the *Save changes* button. ![RealityPlatform My Account page](/_astro/realityplatform-getting-started-my-account-2.iBtpFbwZ_Z1VoPFn.webp) # Network & Firewall Requirements > Domains and endpoints your IT team should allow so Prevu3D products — RealityPlatform, RealityTwin, RealityPlan Web, RealityPlan Desktop, and avatars — work correctly on managed networks. If your organization runs a firewall, proxy, or content filter, your IT team should allow the domains below so Prevu3D products load and function correctly. This page is aimed at IT and network administrators. These endpoints are shared across the whole Prevu3D solution — the web experiences (RealityPlatform, RealityTwin, and RealityPlan Web), the RealityPlan desktop application and Hub, and the RealityConnect plugins. Allowing them once covers every Prevu3D product your organization uses. *** ## Prevu3D service endpoints [Section titled “Prevu3D service endpoints”](#prevu3d-service-endpoints) Prevu3D products connect to the following domains for the web portal, API, project data, updates, and regional storage: * Web portal: `https://cloud.prevu3d.com/` * If your organization uses a white-labeled portal, allow your custom subdomain instead — for example, `https://your-domain.prevu3d.com/`. * Prevu3D API: `https://cloud-api.prevu3d.com/` * Project data and binaries: `https://assets-cloud.prevu3d.com/` * Serves authenticated requests only. A direct URL returns `403 Forbidden` — see [Testing connectivity](#testing-connectivity). * Update server: `https://hub-binaries.prevu3d.com/` * RealityConnect plugin binaries: `https://binaries.prevu3d.com/` * Plugin installers and thumbnails on **Settings > Apps & Plugins**. A different host from the update server above — allow both. * Regional layout / 3D model storage: * \[Europe] `https://prevu3d-production-assets-165572999906-ec1.s3.eu-central-1.amazonaws.com/` * \[US] `https://prevu3d-production-assets-165572999906-ue1.s3.amazonaws.com/` * \[Japan] `https://prevu3d-production-assets-165572999906-an1.s3.ap-northeast-1.amazonaws.com/` * \[Canada] `https://prevu3d-production-assets-165572999906-cc1.s3.ca-central-1.amazonaws.com/` * RealityConnect API (regional): * `https://api-ec1.prevu3d.com/realityconnect-api` * `https://api-ue1.prevu3d.com/realityconnect-api` * `https://api-an1.prevu3d.com/realityconnect-api` * `https://api-cc1.prevu3d.com/realityconnect-api` ## Third-party services [Section titled “Third-party services”](#third-party-services) A few features load resources from vendor domains rather than from `prevu3d.com`. Start with the security check: it runs before the portal completes a sign-in, including single sign-on, so users cannot sign in while it is unreachable. | Service | Domains | What depends on it | | ----------------------- | ------------------------------------------- | -------------------------------------------------------------------------- | | hCaptcha security check | `hcaptcha.com`, `*.hcaptcha.com` | **Required for sign-in**, including the redirect to your identity provider | | Map tiles | `api.maptiler.com` | The map on the Sites page | | Web fonts | `fonts.googleapis.com`, `fonts.gstatic.com` | Page typography; text stays readable in a fallback font | | Monitoring | `*.browser-intake-datadoghq.com` | Error reporting that helps support diagnose issues | ## TLS/SSL inspection [Section titled “TLS/SSL inspection”](#tlsssl-inspection) If your organization uses a TLS-intercepting proxy or secure web gateway — Zscaler, Netskope, Palo Alto, Blue Coat, or similar — configure it to bypass SSL inspection for the Prevu3D domains listed above. Inspection that rewrites URLs, query strings, or headers will break access to project data even though the domains are allowed. The usual symptom is a RealityPlan Hub **Cloud** tab that stays empty, or thumbnails and projects that never load. ### Redirection matters more than inspection [Section titled “Redirection matters more than inspection”](#redirection-matters-more-than-inspection) Some gateways answer a request for an allowed domain with an HTTP `302` or `307` redirect to their own hostname. Prevu3D pages carry a Content Security Policy that permits only the vendor domains listed above, so the browser refuses the redirected address and the resource never loads. The most visible symptom is a sign-in that stays on the login page instead of moving on to your identity provider. Decrypting and inspecting the traffic is fine on its own; rewriting the destination is not. If your proxy logs show a `302` or `307` for `hcaptcha.com`, add a rule that lets that domain through without redirection. Zscaler, Netskope, Palo Alto and similar gateways all offer one, usually called an authentication bypass or a redirect exemption. Keep inspection enabled if your policy requires it. ## Testing connectivity [Section titled “Testing connectivity”](#testing-connectivity) These checks need no credentials. Five should return `200 OK`; `assets-cloud.prevu3d.com` should return `403 Forbidden`. ```bash curl -i https://cloud-api.prevu3d.com/status # expect 200 OK curl -i https://cloud.prevu3d.com/ # expect 200 OK curl -i https://hub-binaries.prevu3d.com/ # expect 200 OK curl -i https://binaries.prevu3d.com/plugins/revit/thumbnail.png # expect 200 OK curl -i https://hcaptcha.com/1/api.js # expect 200 OK curl -i https://assets-cloud.prevu3d.com/ # expect 403 Forbidden ``` On `hcaptcha.com`, a `302` or `307` in place of the `200 OK` points to the redirection described above, even when the domain itself is allowed. Caution On `assets-cloud.prevu3d.com`, `403 Forbidden` is the expected result. That host serves authenticated requests only, so a direct URL is always refused — on every network, including a working one. It is not evidence of a block. A genuine problem looks different: a connection timeout, a DNS or TLS handshake error, or a `403` returned as an HTML or proxy-branded page rather than a short XML response. If all six checks behave as described and the issue persists, contact Prevu3D support with a HAR capture of the session from your browser’s developer tools. We do not maintain a source-IP allowlist for any Prevu3D endpoint. You never need to register your organization’s egress IP ranges with us. ## Avatars & third-person view [Section titled “Avatars & third-person view”](#avatars--third-person-view) Configuring an avatar and using **third-person view** depend on the avatar service. If this domain is blocked, users cannot set up their avatar and third-person mode will not work correctly. * Avatar service: `https://avatar.prevu3d.io/` Note This applies to RealityTwin and RealityPlan Web (third-person navigation) as well as avatar configuration from **Settings > Avatar**. See [Avatar](/en/realityplatform/getting-started/avatar/). ## RealityPlan desktop deployment [Section titled “RealityPlan desktop deployment”](#realityplan-desktop-deployment) The RealityPlan desktop application and Hub use the same [Prevu3D service endpoints](#prevu3d-service-endpoints) listed above. For desktop-specific installation details — command-line options, files written, and registry keys — see the [RealityPlan Deployment Guide](/en/realityplan/update-and-support/realityplan-deployment-guide/). # Notifications > Stay informed with in-app notifications and customizable settings to track processing and account status in Prevu3D. Get real-time updates with in-app notifications and customizable settings to track processing and account status. *** ## What is the Notification System? [Section titled “What is the Notification System?”](#what-is-the-notification-system) The Notification System provides users with in-app or email notifications and a dedicated Notification Settings page to stay informed about important events in RealityPlatform. Key Features & Benefits 🔹 Stay informed — Receive real-time updates on key processing events. 🔹 Customizable alerts — Choose which notifications you want to receive. 🔹 Subscription monitoring — Admins get automatic alerts about storage usage. 🔹 Mentions — Know when someone mentions you in a comment. ## Types of Notifications Available [Section titled “Types of Notifications Available”](#types-of-notifications-available) ### 1. Processing Status Notifications [Section titled “1. Processing Status Notifications”](#1-processing-status-notifications) Users can enable notifications for: * Processing Started — Know when a process begins. * Processing Completed — Get notified when a process finishes. * Processing Failed — Be alerted if an issue occurs. These notifications can be toggled on or off in the **Notification Settings** page. ![RealityPlatform Processing status notifications](/_astro/realityplatform-1-processing-status-notifications.aM6Cbjxt_4iHXb.webp) ### 2. Admin-Only Subscription Alerts [Section titled “2. Admin-Only Subscription Alerts”](#2-admin-only-subscription-alerts) Admins receive critical alerts regarding account status, such as: * Storage Usage Alert — Example: “75% of storage consumed.” * Processing Usage Alert — Example: “90% of processing consumed.” These notifications cannot be disabled to ensure proper monitoring of resource usage. ### 3. Comment Mentions [Section titled “3. Comment Mentions”](#3-comment-mentions) When someone mentions you with **@** in a [comment](/en/realitytwin/twin-workspace/comments/), you are notified here, with the option to also receive an email. These notifications can be toggled on or off in the **Comments** section of the **Notification Settings** page. # Organizational Structure Overview > Explore our three-tier organizational structure--Division, Site, and Files--designed for efficient project and data management tailored to various business needs. Our system’s organizational structure is designed to accommodate various business needs through a three-tier hierarchy: Division, Site, and Files. This structure promotes efficient project and data management, ensuring ease of access and organization. Below is a detailed explanation of each tier, along with tailored recommendations for different types of organizations. *** ## Overview [Section titled “Overview”](#overview) ![RealityPlatform Division, Site, and Files hierarchy](/_astro/realityplatform-overview.CJSkfzVX_11t5Vk.webp) ## Division [Section titled “Division”](#division) ### Description [Section titled “Description”](#description) The Division is the highest level in our organizational hierarchy. It serves as a broad categorization unit, encompassing multiple Sites. Divisions help in segmenting large amounts of data and projects at a macro level. ![RealityPlatform Division level](/_astro/realityplatform-description.X6RdOAbM_1K5Nah.webp) ### Recommendations [Section titled “Recommendations”](#recommendations) * Industrial Companies: * Purpose: Reflect internal divisions within the company. * Structure: Typically divided by geographical regions (e.g., North America, Europe) or by specific products or specializations (e.g., Consumer Electronics, Automotive). * Example: A global manufacturing company may have divisions such as “North America Operations” and “European Operations,” each containing relevant sites and projects. * Engineering, Procurement, and Construction (EPC) Companies: * Purpose: Segment and manage different customer profiles. * Structure: Each Division represents a distinct customer, ensuring that customer data and projects are kept separate. Essential for maintaining client confidentiality and preventing cross-visibility. Ensures that clients can only access their own projects and data. * Example: An EPC firm could have divisions named “Client ABC Projects” and “Client XYZ Projects,” ensuring that the projects and data for ABC and XYZ are isolated from one another. ## Site [Section titled “Site”](#site) ### Description [Section titled “Description”](#description-1) A Site is a mid-level organizational unit within a Division. It organizes and contains various Files like Folders, Pointclouds, and RealityPlan Projects. Sites are used to represent physical locations. ![RealityPlatform Site level](/_astro/realityplatform-description-1.rx-_7xZ3_Z12H6TQ.webp) ### Recommendations [Section titled “Recommendations”](#recommendations-1) * Industrial Companies and EPCs: * Purpose: Represent physical locations such as factories, plants, or operational facilities. * Structure: Each site should correspond to a specific location or facility within the division. * Example: Within the “North America Operations” Division, sites could be “Chicago Plant,” “Dallas Distribution Center,” etc. When creating a new Site, it’s essential to enter a physical address or geographic coordinates. This enables the Map View feature, allowing you to visualize all your sites on an interactive map. Easily navigate and manage multiple sites, visually track project locations, and enhance operational oversight across different facilities. This feature is especially useful for large-scale operations with multiple sites, helping you stay organized and efficient. ![RealityPlatform site location map](/_astro/realityplatform-recommendations.CrmJuq9y_Z27Jjy4.webp) Note If the physical address is unavailable, you can input precise geographic coordinates to ensure the site is accurately positioned on the map. ## Files [Section titled “Files”](#files) ### Description [Section titled “Description”](#description-2) Files are the core data elements stored within a Site. They include: * **Folders** * **Data Bundles** * **RealityPlan Projects** * **Other Files** (reports, notes, documents, etc.) Each file has its own contextual menu (right-click or overflow menu) for actions such as renaming, sharing, moving, and customizing thumbnails. ![RealityPlatform Files level](/_astro/realityplatform-description-2.Csyer2ua_Z1VtrXD.webp) Recommendations * Industrial Companies and EPCs: * Purpose: Facilitate detailed organization and easy access to specific data and project components. * Structure: Organize files logically within each site to streamline workflows and data retrieval. * Example: Within the “Chicago Plant” site, files could include “Production Line Blueprints” (Folders), “Factory Floor Scan” (Pointclouds), and “New Equipment Installation” (RealityPlan Projects). Each file has its own contextual menu, which can be opened by `right-clicking` on it or by clicking on the overflow menu. This menu provides additional functionalities like sharing and moving. You can even customize your thumbnail. ![RealityPlatform file context menu](/_astro/realityplatform-description-3.DTSeyy1w_1uryjM.webp) # **Data Bundle** [Section titled “Data Bundle”](#data-bundle) A **Data Bundle** is the primary container for all raw input files uploaded through the Upload Wizard.\ It may include: * Point cloud inputs * Mesh inputs * Photogrammetry datasets Once uploaded, you can trigger processing to generate one or more **visual representations**, such as: * Point cloud visual representation * Mesh visual representation * Photosphere visual representation * Other derived artifacts supported by the platform Prevu3D applies **optimization logic** to prepare all data for high-performance visualization across RealityTwin, RealityPlan, RealityConnect, and the 3D Data Viewer. ![RealityPlatform Data Bundle contents](/_astro/realityplatform-data-bundle.CkfiGfDJ_IEK8k.webp) ### RealityPlan Project [Section titled “RealityPlan Project”](#realityplan-project) RealityPlan Web version of your projects, allows you to review your design layouts and collaborate with all your stakeholders easily. Those are the projects visible from the [Prevu3D RealityPlan Hub](/en/realityplan/getting-started/realityplan-hub-overview/) desktop application, which offers enhanced engineering features and capabilities for more advanced workflows. # Performance Tips > Optimize your Prevu3D experience with tips for browsers, network settings, and hardware configurations. Get the most out of your 3D experience *** ## Setting Your Browser to High-Performance Graphics [Section titled “Setting Your Browser to High-Performance Graphics”](#setting-your-browser-to-high-performance-graphics) Prevu3D’s web-powered tools are designed to run smoothly regardless of your machine’s specifications. Still, navigating dense 3D environments feels noticeably better with a high-performance GPU. While a discrete GPU isn’t strictly required, it’s recommended over integrated (onboard) graphics. If you notice slow camera movement, long refreshes, or lag during navigation, the issue may stem from your browser using a lower-performance GPU. **To ensure your browser runs on the best GPU available (Windows):** 1\. Open **Settings → System → Display → Graphics** (or **Graphics settings** on Windows 10). 2\. *Optional:* If your browser isn’t already listed under **Custom settings for applications**, click **Add desktop app** (or **Add Microsoft Store app** if applicable) and locate your browser executable (`chrome.exe`, `msedge.exe`, `firefox.exe`, etc.). 3\. Select your browser from the list, locate the **GPU preference** setting, then choose **High Performance**. 4\. Restart your browser. In some cases, you may also need to restart your computer to ensure the setting is applied, as background browser tasks can remain active. ![RealityPlatform Browser high-performance graphics setting](/_astro/realityplatform-setting-your-browser-to-high-perfo.DAPfYMeh_15tiiJ.webp) # Sign up & Log In > Sign up and log in to RealityPlatform easily for secure access to projects and collaboration tools. Follow our simple steps to get started today! RealityPlatform offers a seamless process for signing up and logging in, ensuring secure access to projects and collaboration tools. Follow these steps to get started *** ## How to Sign Up and Log In to RealityPlatform [Section titled “How to Sign Up and Log In to RealityPlatform”](#how-to-sign-up-and-log-in-to-realityplatform) ### Receiving an Invitation [Section titled “Receiving an Invitation”](#receiving-an-invitation) When a project is shared with you, you’ll receive an email invitation to join RealityPlatform. Here’s what to do: ![RealityPlatform project invitation email](/_astro/realityplatform-receiving-an-invitation.CYhN_efr_Z1OamcK.webp) * **New Users**: If you don’t have an account yet, clicking the invitation link will direct you to the **Create an account** page, where you enter your name, email, company, and a password, then accept the Terms of Service, Privacy Policy, and Cookie Policy to complete the sign-up process. ![RealityPlatform registration page](/_astro/realityplatform-receiving-an-invitation-1.BEc3JtwC_Z15nEc3.webp) Note If your organization uses Single Sign-On, do not create a password-based account from the invitation link. Sign in with SSO instead — see [Single Sign-On (SSO)](#single-sign-on-sso) below. * **Existing Users**: For those with an account, simply [log in](#logging-in) and you’ll be prompted to accept the invite to access the shared content. You can also review your pending invitations at any time from the settings menu, under **Invites**. ![RealityPlatform settings menu with the Invites option highlighted](/_astro/realityplatform-invites-menu.cpcJE_PF_Z1qH3vB.webp) Once the invitation is accepted, you’ll have access to the content for which you received the invite. ### Accessing RealityPlatform [Section titled “Accessing RealityPlatform”](#accessing-realityplatform) To make logging in quick and easy, we recommend bookmarking the [RealityPlatform web page](https://cloud.prevu3d.com/) Alternatively, you can also click the Login button from the main [Prevu3D website](https://www.prevu3d.com/) ![Prevu3D website with the Login button highlighted](/_astro/realityplatform-accessing-realityplatform.DH2B3Hw0_Z1CIrJc.webp) ### Logging in [Section titled “Logging in”](#logging-in) Enter your email and password, then click **Login**. Optionally, select **Remember for 30 days** to stay signed in on this device. ![RealityPlatform login page](/_astro/realityplatform-login-page.Dm1sbOkT_Z1VL2Iy.webp) If your organization uses Single Sign-On, use the **Sign in with SSO** link below the Login button instead — see [Single Sign-On (SSO)](#single-sign-on-sso) below. ### Resetting Your Password [Section titled “Resetting Your Password”](#resetting-your-password) If you’ve forgotten your password, don’t worry! Follow these steps to reset it: * On the Login page, click **Forgot password** * Enter your email, and you’ll receive instructions to reset your password. ## Single Sign-On (SSO) [Section titled “Single Sign-On (SSO)”](#single-sign-on-sso) If your organization uses [Single Sign-On](/en/realityplatform/user-management/single-sign-on-sso/), you sign in through your company’s identity provider rather than with a Prevu3D password. ### Signing in with SSO [Section titled “Signing in with SSO”](#signing-in-with-sso) 1. Go to the [RealityPlatform login page](https://cloud.prevu3d.com/). 2. Click **Sign in with SSO**, below the Login button. 3. Enter your work email address. If your email domain is configured for SSO, you are redirected to your organization’s identity provider. 4. Sign in with your usual company credentials. You are returned to RealityPlatform and signed in. You can also sign in directly from your identity provider — for example, by clicking the Prevu3D tile in your company’s application portal. Note Entering your email and password in the main login form does **not** sign you in through your organization’s identity provider. Always use the **Sign in with SSO** link. If you are not redirected after entering your work email, your email domain may not be configured yet. Contact your IT administrator. ### Linking an existing account [Section titled “Linking an existing account”](#linking-an-existing-account) If you created a Prevu3D account before your organization enabled SSO, that account must be linked to your identity provider once before you can sign in with SSO. This is a one-time step. The first time you sign in with SSO, you are guided through the account linking flow: 1. You are asked to authenticate to continue the SSO account linking process. Enter your **existing Prevu3D password** to confirm the account belongs to you. 2. A confirmation page displays your organization name and identity provider URL, and asks you to confirm that you trust this identity provider. 3. Select **I have confirmed this with my organization’s administrator**, then click **Link account**. Your projects and data are preserved. From then on, you sign in through your identity provider, and your Prevu3D password is no longer used. Note A “session timed out, please enter your email” message can appear during this flow. This is a normal part of account linking, not an error — continue with the steps. Caution Linking requires your existing Prevu3D password. If you no longer remember it, use **Forgot password** to reset it first, then start the SSO sign-in again. Administrators can avoid this step entirely for their users: contact to link all accounts on your email domain in a single operation. # What is RealityPlatform? > Streamline data management and enhance visualization with RealityPlatform's cloud-based solution for efficient remote collaboration and data-driven decisions. ![RealityPlatform overview](/_astro/realityplatform-getting-started-what-is-realitypla.DYwvdjGk_Z22u38c.webp) RealityPlatform is a cloud-based solution designed to streamline data management and enhance visualization for seamless remote collaboration. With advanced tools and capabilities, RealityPlatform empowers teams to make faster, data-driven decisions and efficiently manage reality capture data. *** ## RealityPlatform Overview [Section titled “RealityPlatform Overview”](#realityplatform-overview) [](/videos/whatisrealityplatform.mp4 "RealityPlatform overview") ## Key Benefits of RealityPlatform [Section titled “Key Benefits of RealityPlatform”](#key-benefits-of-realityplatform) ### Store & host reality capture data [Section titled “Store & host reality capture data”](#store--host-reality-capture-data) * Centralized Data Management: Store, host, and manage reality capture data in one centralized platform, making it easily accessible to team members and stakeholders. * Cloud-Based Access: Access your data from anywhere with secure cloud storage, reducing the need for costly travel and minimizing delays. * Security Compliance: With SOC 2 Type II compliance, RealityPlatform ensures your data is protected, meeting the highest standards for data security and privacy. ### Automated meshing [Section titled “Automated meshing”](#automated-meshing) * Automatically convert point clouds to detailed meshes without manual manipulation * Reduce file sizes for better accessibility without sacrificing quality or requiring specialized hardware * Gain rich visual context and better understanding through 3D mesh models compared to point clouds ![RealityPlatform Automated meshing](/_astro/realityplatform-automated-meshing.C8ZjyXDi_ZPxnTA.webp) ### Advanced Data Visualization [Section titled “Advanced Data Visualization”](#advanced-data-visualization) * Point Cloud and 3D Mesh Viewing: Visualize point clouds, CAD designs, and 3D meshes with intuitive navigation options like avatar mode, flythrough, and photosphere. * Multiple Visualization Modes: Explore environments with different visualization styles—X-ray, heightmap, shaded, and MatCap (greyscale)—to gain a better contextual understanding. ![RealityPlatform Advanced data visualization](/_astro/realityplatform-advanced-data-visualization.RTeUotA2_Z1sihoJ.webp) ### Effortless Collaboration & Sharing [Section titled “Effortless Collaboration & Sharing”](#effortless-collaboration--sharing) * User-Friendly Sharing Options: Generate secure, time-limited web links to share data with internal and external stakeholders. * Collaboration Tools: Annotate assets with notes, attach documents, add URL links, and leave comments for real-time feedback. * Unlimited User Access: Share projects with an unlimited number of users, enabling cross-functional teams to collaborate seamlessly. ![RealityPlatform Effortless collaboration sharing](/_astro/realityplatform-effortless-collaboration-sharing.CaAt14nA_1qlVrQ.webp) ### Efficient Site & Project Management [Section titled “Efficient Site & Project Management”](#efficient-site--project-management) * Site Folder Organization: Create site folders containing metadata for point cloud, RealityMesh, and RealityPlan design layouts * Flexible File Support: Upload various file types directly into site folders, supporting a streamlined workflow and enhancing team productivity. * Optimized Workflows: RealityPlatform’s efficient workflows allow teams to work faster and more effectively, creating better alignment and ensuring project success. # Creating a Twin > Create your Twin for visualization and workflows. Upload reality capture data, assemble your 3D Twin, and collaborate seamlessly in RealityTwin. Creating a Twin is the starting point for all visualization, annotation, and operational workflows within the platform. *** ## Before You Begin [Section titled “Before You Begin”](#before-you-begin) Each site can have **only one Twin**. Before you can create a Twin, you must first create a [**Site**](/en/realityplatform/getting-started/organizational-structure-overview/#site) if one does not already exist. Once your site is created and opened, you’ll land on its **Home page**. ## Launch the Twin Workflow [Section titled “Launch the Twin Workflow”](#launch-the-twin-workflow) On the Home page, you’ll see a prominent **RealityTwin** banner. Clicking this banner for the **first time** will initiate the Twin creation process. Here’s what happens next: 1. You are automatically redirected into the **RealityComposer Workspace**. 2. This workspace allows you to **select and align the reality capture layers** you want to include in your Twin. ## Upload Your Reality Capture Data [Section titled “Upload Your Reality Capture Data”](#upload-your-reality-capture-data) In order to build a Twin, your site must have **reality capture data** (e.g., 3D scans, photogrammetry meshes, etc.) available. If **no data has been uploaded yet**, you will see prompts and buttons allowing you to upload your files. This will take you into the [Upload workflows](/en/realityplatform/dataset-preparation-and-upload/upload-scans/). Note Currently, a **meshed version** of your data is **mandatory** to use it inside RealityTwin. Point clouds data without meshing are not yet supported in the Twin view. ## Finalizing Your Twin [Section titled “Finalizing Your Twin”](#finalizing-your-twin) Once your layers are selected and aligned in the [Composer workspace](/en/realitytwin/composer-workspace/alignment/), your Twin is automatically assembled. From there, you can: * Switch to the **Twin Workspace** to explore and interact with your 3D twin * Start tagging and organizing assets * Share the Twin with collaborators ## Resetting a Twin [Section titled “Resetting a Twin”](#resetting-a-twin) Resetting a Twin permanently clears everything composed into it, along with any drafts, while keeping the site itself and the RealityPlan Projects that belong to it. The data bundles that went into the composition are freed, so they can be composed again. Open the site, then the **⋮** menu on its **RealityTwin** card, and select **Reset twin**. You are asked to retype the site name before the reset goes through. ![The RealityTwin card on a site, with its overflow menu open showing Share and Reset twin](/_astro/realitytwin-reset-twin-menu.Z4Q6YGfE_Z1TqfQh.webp) Caution A reset cannot be undone. The Twin’s content and drafts are deleted permanently — this is not the same as moving something to the trash, and there is nothing to restore afterwards. # What is a Workspace? > Explore RealityTwin's specialized workspaces for efficient asset management, scene composition, and streamlined workflows tailored to your digital twin tasks. A **Workspace** in RealityTwin is a **dedicated interface** tailored to a specific aspect of the digital twin workflow. Each workspace offers a focused set of tools and capabilities designed to help users perform specialized tasks efficiently, whether they are managing assets, editing layers, or composing scenes. *** RealityTwin currently offers multiple types of workspaces, with more to come as the platform evolves. Each workspace isolates a particular type of activity, keeping your experience streamlined and relevant. ## Types of Workspaces [Section titled “Types of Workspaces”](#types-of-workspaces) ### Twin Workspace [Section titled “Twin Workspace”](#twin-workspace) The **Twin Workspace** is designed for users who want to: * View and navigate a fully composed digital twin * Interact with mapped assets and spatial data * Monitor and document asset conditions * Share insights with collaborators * Batch changes using [**Draft Mode**](/en/realitytwin/twin-workspace/draft-mode/) before publishing them to the live Twin It’s the go-to workspace for everyday operations, asset exploration, and annotation. ### Composer Workspace [Section titled “Composer Workspace”](#composer-workspace) The **Composer Workspace** focuses on editing and alignment workflows, such as: * Importing and aligning multiple reality capture layers (e.g., scans, meshes) * Managing spatial relationships and coordinate systems * Adjusting visibility and layer order for scene composition This workspace is essential during the initial setup of your Twin. ## Switching Between Workspaces [Section titled “Switching Between Workspaces”](#switching-between-workspaces) To move from one workspace to another: 1. Open RealityTwin. 2. Use the **workspace switcher** in the top-left corner of the interface. ![RealityTwin Switching between workspaces](/_astro/realitytwin-switching-between-workspaces.DymiNq1W_ZDW2iR.webp) 3. Select either **Twin Workspace** or **RealityComposer Workspace**, depending on your task. 4. Your session will reload in the chosen context, preserving project data. ## Why Workspaces Matter [Section titled “Why Workspaces Matter”](#why-workspaces-matter) Segmenting workflows into workspaces ensures that: * Users see only the tools and data relevant to their current task * Performance is optimized for the type of interaction # What is RealityTwin? > Transform your facilities with RealityTwin™--a cloud-native platform that creates interactive visual twins from 3D scan data for enhanced operations and safety. ![RealityTwin Workspace overview](/_astro/realitytwin-getting-started-what-is-realitytwin.BZmZzrz3_Z2d7YFY.webp) RealityTwin™ is a real-time, cloud-native platform that transforms 3D scan data into an interactive visual twin of your facilities. Designed for engineering, operations, and maintenance teams, RealityTwin bridges the gap between the physical and digital worlds, providing a persistent, up-to-date view of your sites enriched with connected data. By combining visual accuracy with enterprise integrations, RealityTwin enables teams to plan, execute, and optimize work more effectively without unnecessary site visits. *** [](/videos/whatisrealitytwin.mp4 "RealityTwin overview") ## **Key Benefits of RealityTwin** [Section titled “Key Benefits of RealityTwin”](#key-benefits-of-realitytwin) RealityTwin revolutionizes the way organizations manage and interact with their facilities by reducing field time, improving safety, and enabling data-driven decision-making. Here’s how it benefits your operations: * **Reduced Field Time**: Cut over 90% of time spent in the field by accessing site conditions remotely through accurate, updated digital twins. * **Lower Inspection Costs**: Reduce on-site inspection hours by up to 30% by maintaining a trusted visual reference of real-world conditions. * **Enterprise Connectivity**: Integrates seamlessly with ERP, MES, CMMS, IIoT, and other enterprise systems for unified asset and maintenance management. * **Improved Safety and Planning**: Minimize site travel, reduce operational risks, and ensure all stakeholders work from one visual source of truth. ## **How RealityTwin Works** [Section titled “How RealityTwin Works”](#how-realitytwin-works) RealityTwin ingests reality capture data such as TLS, SLAM, drone, or photogrammetry scans and merges them into a single high-fidelity 3D environment. This environment becomes your visual layer of existing conditions, always ready to be updated with new scans when changes occur. Key capabilities include: * **Multi-Source Scan Integration**: Combine multiple scanning methods into one unified model. * **Incremental Updates**: Update only the changed areas without rescanning the entire site. * **Data Cleanup**: Remove noise or artifacts from raw scan data for cleaner, more usable models. * **Interactive Navigation**: Move through complex facilities in 3D, perform asset-level analysis, and assess site readiness remotely. ### **RealityAssets in RealityTwin** [Section titled “RealityAssets in RealityTwin”](#realityassets-in-realitytwin) In RealityTwin, assets are more than just visual objects. They are selectable, information-rich entities. Users can define asset metadata templates, attach technical specifications, and link to enterprise records. This structure transforms static scan data into a searchable, actionable asset database accessible to the whole organization. ### **Integration with Enterprise Systems** [Section titled “Integration with Enterprise Systems”](#integration-with-enterprise-systems) RealityTwin connects directly to your operational ecosystem, enabling data enrichment and secure access control: * Link assets to ERP, MES, CMMS, IIoT, and more. * Enforce user-based permissions to control who can view or edit specific datasets. * Keep data synchronized across engineering and operations teams. ### **Advanced Navigation and Visualization Tools** [Section titled “Advanced Navigation and Visualization Tools”](#advanced-navigation-and-visualization-tools) RealityTwin makes it easy to explore and analyze facilities: * **High-Fidelity 3D Viewing**: Traverse your facility virtually with smooth, detailed navigation. * **Asset Search and Isolation**: Quickly find and focus on specific equipment or areas. * **Remote Site Assessment**: Evaluate operational readiness and plan work before stepping on-site. ### **Who Uses RealityTwin** [Section titled “Who Uses RealityTwin”](#who-uses-realitytwin) RealityTwin is built for a variety of industries and roles: * **EPCs and Reality Capture Providers**: Prepare, merge, and deliver high-quality digital twins to clients. * **Operations and Maintenance Teams**: Manage facilities remotely with accurate, up-to-date visual references. * **Facility Managers and Operators**: Support digital transformation and improve asset lifecycle management. # Welcome to Prevu3D Knowledge Base > Find documentation, tutorials, and best practices for all Prevu3D products. From first-time setup to advanced engineering workflows — everything you need is here. ## Browse by Solutions [Section titled “Browse by Solutions”](#browse-by-solutions) [![RealityPlatform](/images/product_02.png)](/en/realityplatform/getting-started/what-is-realityplatform/) [Manage reality capture data with secure cloud hosting, browser-based access, and granular access control for your entire team.](/en/realityplatform/getting-started/what-is-realityplatform/) [Read more →](/en/realityplatform/getting-started/what-is-realityplatform/)[![RealityTwin](/images/product_04.png)](/en/realitytwin/getting-started/what-is-realitytwin/) [Unify all 3D scanning data into a single source of truth. Connect your systems of record through one cohesive visual platform.](/en/realitytwin/getting-started/what-is-realitytwin/) [Read more →](/en/realitytwin/getting-started/what-is-realitytwin/)[![RealityPlan](/images/product_01.png)](/en/realityplan/getting-started/what-is-realityplan/) [Transform point clouds into high-quality meshed RealityAssets™. Integrate CAD and BIM to visualize plan updates with stakeholders.](/en/realityplan/getting-started/what-is-realityplan/) [Read more →](/en/realityplan/getting-started/what-is-realityplan/)[![RealityConnect](/images/product_03.png)](/en/realityconnect/what-is-realityconnect/) [Extend Prevu3D beyond the platform. Plugins, APIs, SDKs, and embeds that bring your reality capture data into the tools your enterprise already uses.](/en/realityconnect/what-is-realityconnect/) [Read more →](/en/realityconnect/what-is-realityconnect/) ## New to Prevu3D Watch demo tutorials to learn more about our Prevu3D products [](/videos/platformtour.mp4 "Prevu3D platform tour") [More videos →](https://www.youtube.com/channel/UCUQAHXb3R7e3Ca7ll5JP9sQ) ![](/images/icon_help.svg) ### Need more help? Have questions or need assistance? We’ll get back to you as soon as possible. [Get support](https://www.prevu3d.com/support/) ![](/images/icon_product.svg) ### Interested in another product? Tell us about your needs, and we’ll help you explore the right solution! [Contact us](https://www.prevu3d.com/contact-us/) # EXPLODE Command for DXF File Importation in Prevu3D > Optimize your DXF imports for Prevu3D by using the EXPLODE command in AutoCAD to simplify complex objects and resolve scaling issues effectively. Prevu3D offer the possibility to [import 2D DXF](/en/realityplan/tools/import-2d/), it is highly recommended to EXPLODE the DXF files prior to the import in order to preserve text and other elements. The EXPLODE command in AutoCAD breaks compound objects (blocks, polylines, hatch patterns) into individual components, simplifying complex objects for easier editing and visualization when importing DXF files. ## Why Use the EXPLODE Command [Section titled “Why Use the EXPLODE Command”](#why-use-the-explode-command) **Use EXPLODE when importing DXF files to:** * Edit Complex Objects: Explodes blocks, polylines, and hatches for easier manipulation. * Simplify Geometry: Converts complex shapes (splines, hatch patterns) into basic elements (lines, arcs, points). * Resolve Scaling Issues: Prevent misinterpretations from nonuniformly scaled blocks. ## When to Use EXPLODE [Section titled “When to Use EXPLODE”](#when-to-use-explode) **Use EXPLODE to:** * Modify components of compound objects. * Simplify geometry for Prevu3D. * Fix issues with nonuniformly scaled blocks or attributes in blocks and hatch patterns. ## How to Use EXPLODE [Section titled “How to Use EXPLODE”](#how-to-use-explode) 1. Import the DXF File: Open AutoCAD and import the DXF file via File > Import. 2. Identify Compound Objects: Identify blocks, polylines, or hatches to explode. 3. Activate EXPLODE: Type EXPLODE or select it from the toolbar. 4. Select Objects to Explode: Choose the compound objects to explode. 5. Confirm Explosion: Press Enter to break the object into its components (lines, arcs, regions, etc.). 6. Save the File: Save the modified DXF file. ## Results of EXPLODE on DXF Objects [Section titled “Results of EXPLODE on DXF Objects”](#results-of-explode-on-dxf-objects) * Blocks: Broken into individual components; nested blocks must be exploded separately. * Polylines: Converted into line and arc segments. * Hatches: Broken into lines, arcs, or regions. * 3D Solids: Explodes into individual faces or regions. * Dimensions: Converts to text and lines, losing associativity. ## Important Notes [Section titled “Important Notes”](#important-notes) * Attribute Loss: Exploding blocks removes attribute values, leaving only definitions. * External References (Xrefs): Cannot be exploded and remain as references. * Nonuniformly Scaled Blocks: May produce unexpected results, sometimes grouped into anonymous blocks. * Prevu3D Limitations: Be aware of how Prevu3D handles exploded objects, as results may vary with complex DXF files. ## Conclusion [Section titled “Conclusion”](#conclusion) The EXPLODE command simplifies and prepares DXF files for Prevu3D by breaking complex objects into manageable components, making them easier to manipulate and visualize in 3D models. # Introducing Data Bundles - The New Foundation > Prevu3D's new Data Bundle unifies 3D data management, enhancing consistency and compatibility across RealityPlan, RealityTwin, and RealityComposer. ## **Overview** [Section titled “Overview”](#overview) Starting November 18th, Prevu3D is introducing a new way to manage and store 3D data across all product lines: the **Data Bundle**. A **Data Bundle** is a unified container that holds every representation of your 3D data — from raw inputs to optimized and visualized formats. It replaces the old model where point clouds, meshes, and artifacts were managed separately. This new foundation ensures data consistency, accelerates processing, and unlocks future capabilities for RealityPlan, RealityTwin, and RealityComposer. ## **What Is a Data Bundle?** [Section titled “What Is a Data Bundle?”](#what-is-a-data-bundle) A **Data Bundle** groups all raw data and its derived outputs under one consistent structure: * **Raw inputs:** E57, LAS, images, videos, meshes, etc. * **Optimized outputs:** Pointcloud tilesets, RealityMeshes (HLOD), Photospheres, and Gaussian splats. In short, everything related to a single scan now lives inside one unified bundle. Your new *source of truth* for all visual and processing workflows. ## **Why This Matters** [Section titled “Why This Matters”](#why-this-matters) ### **1. Unified data model** [Section titled “1. Unified data model”](#1-unified-data-model) Previously, point clouds and meshes were treated as separate entities. This often led to: * Workarounds to synchronize edits between representations. * Inconsistencies between the point cloud and mesh representation due to the Project Editor cropping. ![Data Bundle unified data model diagram](/_astro/guide-1-unified-data-model.CA274E07_Z2urRxv.webp) The new **Data Bundle architecture** eliminates this fragmentation. All representations share the same core data and metadata, meaning that: * A mask or edit applied once propagates across all visual formats. * You can switch between point cloud, mesh, or future formats seamlessly in the different viewers. * Set the ground to be more independent of the mesh representation. ![Data Bundle representation model diagram](/_astro/guide-1-unified-data-model-1.CGaBKzy__GBW20.webp) ### **2. Cross-product compatibility** [Section titled “2. Cross-product compatibility”](#2-cross-product-compatibility) Data Bundles power every Prevu3D product: * **RealityPlan:** Uses bundles as the base for design and layout projects. * **RealityTwin and RealityComposer:** Imports layers (Data Bundles) and Stream point clouds, meshes, and photospheres in one environment. * **RealityConnect:** Access data directly from the platform, no more manual conversions. ### **3. Scalable and future-proof** [Section titled “3. Scalable and future-proof”](#3-scalable-and-future-proof) The new model supports evolving data formats, from photogrammetry to 360° video.\ By unifying all inputs and outputs, Prevu3D can now evolve without requiring structural rework for each new type of data. ## **What’s Changing in the Product** [Section titled “What’s Changing in the Product”](#whats-changing-in-the-product) ### **New “Data Bundle” Card** [Section titled “New “Data Bundle” Card”](#new-data-bundle-card) The following elements are being consolidated: * **Old:** “Pointcloud,” “RealityMesh,” and “Artifacts” cards. * **New:** A single **Data Bundle** card containing all related representations. ![New Data Bundle card](/_astro/guide-new-data-bundle-card.xgMslPjv_WldXT.webp) ### **Revamped 3D Data Viewer** [Section titled “Revamped 3D Data Viewer”](#revamped-3d-data-viewer) The platform now includes a **new** [**3D Data Viewer**](/en/realityplatform/dataset-preparation-and-upload/3d-data-viewer-workspace/) that replaces the old Point Cloud Viewer allowing you to: * View point clouds, meshes, and photospheres side by side. * Validate data quality directly in the browser. * Leverage a single viewer experience across all product lines. ![Updated 3D Data Viewer](/_astro/guide-revamped-3d-data-viewer.Sr9Hiuw3_Zl1KYU.webp) ### **Project Editor Replacement** [Section titled “Project Editor Replacement”](#project-editor-replacement) The legacy **Project Editor** is being retired in favor of [**RealityComposer**](/en/realitytwin/composer-workspace/clip-layer-tool/), which offers: * Unified [Clip Layer](/en/realitytwin/composer-workspace/clip-layer-tool/) and [Clean Layer](/en/realitytwin/composer-workspace/clean-layer-tool/) tools. * Operations that apply consistently to all representations. ## **Migration Details** [Section titled “Migration Details”](#migration-details) ### **Timeline** [Section titled “Timeline”](#timeline) * **November 18th:** Feature flag enabled for all new accounts and demo accounts. * **November 2025—March 2026:** Phased migration of legacy data for existing paid accounts. ### **What will happen, short version** [Section titled “What will happen, short version”](#what-will-happen-short-version) Most projects will be migrated automatically, with no action required from customers and no downtime. A small number of complex cases will require manual verification, and our Customer Success and Platform teams will coordinate directly with the affected teams. ### **Automatic migration — Step 1** [Section titled “Automatic migration — Step 1”](#automatic-migration--step-1) * The majority of projects will be upgraded automatically, covering over 90% of the data currently on the platform. * If your point cloud, mesh, and artifacts share the same site location, roles, and permissions, they will be merged into a single Data Bundle. * For these automatic upgrades there is no interruption to service, and the change will be transparent in the product. ### **Manual migration — Step 2** [Section titled “Manual migration — Step 2”](#manual-migration--step-2) * Some projects have configurations that prevent safe automatic conversion, for example when assets span different site locations, show mismatched permissions, or contain other inconsistencies. * In those cases our Customer Success and Platform teams will reach out to the teams that own the data, share a short report identifying the datasets that need attention, and work with you to complete the migration. * We will only require confirmation or a small amount of verification for these cases, and we will not proceed without your agreement. ### **How accounts are handled** [Section titled “How accounts are handled”](#how-accounts-are-handled) * Legacy accounts will be migrated in a phased rollout, performed in batches to reduce risk and allow Customer Success to review lists before work begins. * If you have accounts that should not be migrated at this time, or accounts you would like prioritized, please contact your Customer Success manager as soon as possible so we can accommodate your request. * Customer Success will be given the opportunity to flag accounts for deferral before a batch is migrated. ### **Impact and availability** [Section titled “Impact and availability”](#impact-and-availability) * **No downtime.** Migration is non-disruptive and will not interrupt customers using the product. You will be able to continue working exactly as before. * **Visibility.** After migration, Data Bundles and the Data Bundle viewer will be available where you expect them. For manual cases we will provide clear instructions and a short report listing any actions required. * **Support.** If you notice anything unexpected after migration, contact your Customer Success manager and we will resolve it quickly. ## **Looking Ahead** [Section titled “Looking Ahead”](#looking-ahead) Data Bundles are not just an infrastructure change, they’re the **foundation for the future** of the Prevu3D ecosystem. They ensure: * Consistency and reliability across all visual representations. * Simplified data management for teams. * Scalable architecture ready for next-generation formats and workflows. This change enables faster innovation across RealityTwin, RealityPlan, and RealityComposer, bringing your entire 3D workflow closer together. # The New RealityPlan Web Viewer: What Changed and What's New > What changed with the new RealityPlan Web viewer since June 2026 — what's new and improved, how legacy capabilities carry over, and the legacy viewer flag. As of the **June 25, 2026** platform release, RealityPlan Projects created from a single **Data Bundle** now open in the **new RealityPlan Web viewer** instead of the older (“legacy”) viewer. This unifies the experience so that all projects — whether created from a Data Bundle or a [RealityTwin](/en/realitytwin/twin-workspace/creating-realityplan-project-from-twin/) — use the same modern viewer. *** ## What Changed [Section titled “What Changed”](#what-changed) Creating a RealityPlan Project from a Data Bundle is not new — you have always been able to do this. **What changed is which viewer the project opens in.** | | Before June 25, 2026 | After June 25, 2026 | | -------------------------------------- | ----------------------------- | ------------------------------ | | Project created from a **Data Bundle** | Legacy RealityPlan Web viewer | **New RealityPlan Web viewer** | | Project created from a **RealityTwin** | New RealityPlan Web viewer | New RealityPlan Web viewer | Previously, the viewer you got depended on how the project was created, which left an inconsistent experience. That gap is now closed — everything uses the new viewer. Note This is a behavior change, not a new feature. You do not need to do anything to enable it, and your existing data is not modified. ## Why We Made This Change [Section titled “Why We Made This Change”](#why-we-made-this-change) * **Consistency:** One viewer for all projects, regardless of how they were created. * **Performance & stability:** The new viewer includes optimizations for layouts containing many cuts and 3D models, where the legacy viewer can be slower and less stable with heavier layouts. * **Closer to RealityTwin:** The new viewer’s look and feel is aligned with RealityTwin, making it easier to move between the two. * **Ongoing investment:** The new viewer is where active development is focused and will continue to evolve. The legacy viewer is no longer receiving further updates. ## What’s New and Improved in the New Viewer [Section titled “What’s New and Improved in the New Viewer”](#whats-new-and-improved-in-the-new-viewer) Most capabilities carry over, and many are new, improved, or now standardized with the rest of the platform (RealityTwin, the 3D Data Viewer, and the Asset Library). Here’s what to look for. ### Scene and Layout [Section titled “Scene and Layout”](#scene-and-layout) * **Left side panel:** Lists the scene entities using the same panel as RealityTwin. Right-click an entity to teleport to it. * **Layout manager:** All available layouts are now in a top-bar **Layout manager** dropdown. * **Search and filtering:** The same search and filter experience as RealityTwin, right in the left panel. * **Point cloud display:** Show the point cloud (when available) by ordering blending layers under **View** — the same pipeline that will enable Gaussian splat projects on the web. * **Minimap:** A new minimap option for orientation. ![RealityPlan new viewer entities listing in the left side panel](/_astro/realityplan-new-viewer-entities-listing.LDXsDmuY_Z3cn1u.webp) ![Layout manager dropdown in the top bar](/_astro/realityplan-new-viewer-layout-management.yS-8t2Fs_2eYrIM.webp) ![Search and filtering in the left panel](/_astro/realityplan-new-viewer-search.BYmBHRiC_Z21aVKH.webp) ![Point cloud display through blending layers](/_astro/realityplan-new-viewer-point-cloud.Cb71vSdq_Z1ruhKl.webp) ![Minimap option in the new viewer](/_astro/realityplan-new-viewer-minimap.DOXfWbZ4_1xxcP.webp) ### Settings and Standardization [Section titled “Settings and Standardization”](#settings-and-standardization) * **Quality settings:** Moved to the top-bar **View** dropdown, where they’re easy to find. * **Navigation help:** A **Help** dropdown explains the navigation commands, including keyboard and mouse controls. * **Measurement units:** The viewer now uses the unit from your user profile, standardized across every viewer. ![Quality settings in the top-bar View dropdown](/_astro/realityplan-new-viewer-quality-settings.BK02kbLI_Z1jKgMh.webp) ![Help dropdown with navigation help](/_astro/realityplan-new-viewer-help-menu.CPwii4Bn_Z1VHcPe.webp) ![Keyboard and mouse controls popup](/_astro/realityplan-new-viewer-keyboard-controls.D3xprntK_ZjWyln.webp) ![Measurement unit standardized from the user profile](/_astro/realityplan-new-viewer-measurement-units.CGmpgQ14_Z2uk4Q9.webp) ### 3D Navigation [Section titled “3D Navigation”](#3d-navigation) * **Navigation bar:** Moved to the top, matching RealityTwin, the 3D Data Viewer, and the Asset Library. * **Perspective mode:** A unified **Perspective** mode that blends the previous Fly and Orbit modes. * **Isometric / orthographic:** Now available directly in the navigation bar alongside the other modes. * **Third-person avatar:** Uses the avatar you selected in your account settings. ![Navigation bar moved to the top of the viewer](/_astro/realityplan-new-viewer-navigation-bar.BK6LiE6U_Zm0dXD.webp) ![Isometric option in the navigation bar](/_astro/realityplan-new-viewer-isometric.Dm9gtCAF_ZiFpjq.webp) ![Avatar selected in account settings](/_astro/realityplan-new-viewer-avatar-account-setting.CXzBfsJm_YAqQy.webp) ![Third-person avatar uses your selected avatar](/_astro/realityplan-new-viewer-avatar-comparison.D1Q6PV4-_1Y2uiK.webp) ### Measurement [Section titled “Measurement”](#measurement) * **Measure tool placement:** Moved to the top-middle, standardized with RealityComposer, RealityTwin, and others. * **Orthogonal measurement:** A new orthogonal measurement mode, useful for engineering workflows. ![Measure tool placement in the new viewer](/_astro/realityplan-new-viewer-measure-tool.MrjFpm7B_Z1WtuDc.webp) ![Orthogonal measurement in the new viewer](/_astro/realityplan-new-viewer-orthogonal-measurement.CxXoXilZ_Z166b1D.webp) ## Legacy Capabilities, Now in the New Viewer [Section titled “Legacy Capabilities, Now in the New Viewer”](#legacy-capabilities-now-in-the-new-viewer) Four capabilities were still on the way when this page was first published. All four have since shipped, and each one gained something on the way over. Here is the before and after, the same way as the table at the top of this page. | Capability | Legacy viewer | New viewer | | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Spatial commenting** | **Memos** — one thread at a time, in a panel of its own | **[Comments](/en/realitytwin/twin-workspace/comments/)** — spatial *and* entity comments, threaded replies, rich text, @mentions, and resolve, shared with RealityTwin | | **Clipping** | **Height clipping** — a single slider that cut the scene by ceiling height | **[Clipping box](/en/realitytwin/twin-workspace/navigating-the-twin/#clipping-box)** — a full box sized on width, height and depth, then moved and rotated freely | | **Public link sharing** | A layout [uploaded from the desktop app](/en/realityplan/layout-management/sharing-layouts/#sharing-a-layout-online), then shared from the platform | **[Public links](/en/realityplatform/user-management/sharing/#public-links)** created straight from the viewer’s **Layout manager**, with an optional password and expiry date | | **Entity organization** | A bare **Entities** list, tucked into a corner of the interface, with no search | The RealityTwin left panel: search, filtering, group by type, sort, and nestable **[folders](/en/realitytwin/twin-workspace/organizing-entities/#folders)** | The two that changed the most are worth a closer look. ### Comments, Formerly Memos [Section titled “Comments, Formerly Memos”](#comments-formerly-memos) A legacy memo was a single thread pinned in the scene, with its own panel and its own conventions. [Comments](/en/realitytwin/twin-workspace/comments/) cover the same ground and more: pin a comment in 3D or attach one to an entity, reply in a thread, format your text, mention a teammate, and mark the thread resolved when it is settled — identically in RealityTwin and RealityPlan Web. ![Memos in the legacy viewer: a single thread in its own panel](/_astro/realityplan-legacy-viewer-memos.BD7eAr_G_ZYhxcK.webp) ![The comments panel in the new viewer, listing spatial and entity comments](/_astro/realitytwin-comments-panel.DImKqaFY_ZOjxxO.webp) ### Clipping, from a Height Slider to a Full Box [Section titled “Clipping, from a Height Slider to a Full Box”](#clipping-from-a-height-slider-to-a-full-box) Legacy clipping was a single vertical slider: it cut the scene by height, and that was the only axis available. The new [clipping box](/en/realitytwin/twin-workspace/navigating-the-twin/#clipping-box) is a full box — size it on **Width**, **Height** and **Depth**, position it on X, Y and Z, and move or rotate it with the handle at its centre. Cutting by height is still there as one case of a much more flexible tool, so you can look into a structure from any direction instead of only from above. Open it from **View → Clip environment**. ![Height clipping in the legacy viewer: one vertical slider](/_astro/realityplan-legacy-viewer-height-clipping.QTi1HxDi_12bRmp.webp) ![The clipping box in the new viewer, with the Edit clipping box panel and the View menu open](/_astro/realityplan-new-viewer-clipping-box.MuLkHVP-_Z1Y3jqO.webp) ## Can I Go Back to the Legacy Viewer? [Section titled “Can I Go Back to the Legacy Viewer?”](#can-i-go-back-to-the-legacy-viewer) Yes. A feature flag can be enabled on your account that reverts **new Data Bundle projects** to the legacy viewer. If you’d like this enabled, contact your Customer Success Manager or our support team. Caution This is intended as a **temporary bridge** while your team transitions, not a long-term configuration, since the legacy viewer will not receive further improvements. ### Important Limitations of the Legacy Viewer [Section titled “Important Limitations of the Legacy Viewer”](#important-limitations-of-the-legacy-viewer) Before requesting the flag, please be aware: * **Performance & stability:** The legacy viewer is less efficient than the new viewer and can struggle with layouts that contain a lot of cuts or 3D models. The new viewer is optimized for these cases. * **RealityTwin always uses the new viewer:** Even with the flag enabled, projects created from a RealityTwin will always open in the new viewer. The legacy viewer cannot be used within a RealityTwin environment. * **Reduced compatibility with RealityTwin:** Layouts built in the legacy viewer have limited compatibility when merged into a RealityTwin. These limitations are expected to grow as new capabilities such as web editing become available. ## Frequently Asked Questions [Section titled “Frequently Asked Questions”](#frequently-asked-questions) **Did I lose the ability to create a project from a Data Bundle?**\ No. The workflow to create a RealityPlan Project from a Data Bundle is unchanged — it simply opens in the new viewer now. **Will my existing projects change?**\ Not for now — this change applies to the viewer used when creating new projects from a Data Bundle. A migration of existing projects to the new viewer may come down the road; we will communicate ahead of time before any such change. If you have questions about existing projects, contact support. **Some tools look like they’ve moved.**\ The new viewer uses the new-generation interface, so some controls are located differently than in the legacy viewer. See [What’s New and Improved in the New Viewer](#whats-new-and-improved-in-the-new-viewer) for where things are now. Everything from the legacy viewer is now in the new viewer — see [Legacy Capabilities, Now in the New Viewer](#legacy-capabilities-now-in-the-new-viewer) for where each one lives. ## Need Help? [Section titled “Need Help?”](#need-help) Reach out to your Customer Success Manager or our support team. If you’d like to enable the legacy viewer flag or want a walkthrough of the new viewer, we’re happy to help. **Related:** [June 25, 2026 release notes](/en/release-notes/2026/#25-june-2026) # Introduction to Data Bundles > End-to-end guide for creating a data bundle, uploading capture inputs, launching processing, monitoring progress, and downloading input files through the RealityConnect API. A **data bundle** is the container for one capture: raw input files (point clouds, trajectories, images, and so on) plus the processed outputs the platform generates from them. The RealityConnect API exposes the same bundle lifecycle the Prevu3D UI uses, so integrations can create bundles, upload data, launch processing, track progress, and retrieve input files without a browser. This document assumes you have completed an OAuth flow and hold an `access_token`, your regional `api_url`, and your `organization_id`. See the [flow guides](/en/realityconnect/realityconnect-api/getting-started/#choose-an-oauth-flow) if you do not. All data bundle workflow endpoints (`/v1/bundles/...`, `/v1/organization/.../data-bundle-input-tree`, and `/v1/nodes/.../bundle`) are marked **experimental**. Expect the contract to evolve until they graduate to stable. See [Experimental endpoints](/en/realityconnect/realityconnect-api/getting-started/#experimental-endpoints). ## Required scopes [Section titled “Required scopes”](#required-scopes) | Scope | Used for | | -------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | `read:bundle` | Fetch the device input tree, list upload sessions, list processing options, list processing records, list input file download URLs | | `write:bundle` | Create a bundle, open and finalize upload sessions, start processing | You also need content access and node permissions on the parent node where the bundle is created, and on the bundle itself for later steps. ## End-to-end flow [Section titled “End-to-end flow”](#end-to-end-flow) ``` flowchart LR A["1. Get input tree"] --> B["2. Create bundle"] B --> C["3. Upload input files"] C --> D["4. List processing options"] D --> E["5. Start processing"] E --> F["6. Poll processing records"] ``` Each numbered step maps to a dedicated guide: | Step | Guide | Summary | | ---- | ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | 1–2 | [Creating a Data Bundle](/en/realityconnect/realityconnect-api/data-bundle-workflows/creating-a-data-bundle/) | Fetch the device input tree, pick a leaf `dbuPath`, create the bundle under a parent node | | 3 | [Uploading Data to a Data Bundle](/en/realityconnect/realityconnect-api/data-bundle-workflows/data-bundle-uploads/) | Open an upload session, multipart-upload each file to S3, finalize | | 4–6 | [Processing and Monitoring](/en/realityconnect/realityconnect-api/data-bundle-workflows/processing-and-monitoring/) | List available outputs, launch processing, poll until every job reaches a terminal state | [Downloading Input Files](/en/realityconnect/realityconnect-api/data-bundle-workflows/downloading-input-files/) is optional: use it only when you need to retrieve the bundle’s uploaded input files again. ## Validation model [Section titled “Validation model”](#validation-model) Structural rules (mandatory file types, allowed extensions, cross-type dependencies, multiplicity) are described in the `requirements` array returned when you open an upload session. **It is the user’s responsibility** to follow that structure before uploading and before launching processing. The upload API records each file under the `type` you provide and completes the session on **count** alone. Deep content validation (whether a `.las` is a genuine device capture, whether metadata JSON correctly references its image) happens after **launching a processing**, not at upload time. A correctly named but malformed file uploads without error and fails later during processing. Processing failures caused by an incorrect upload structure (missing mandatory types, broken dependencies, wrong extensions, and so on) will not be refunded. # Creating a Data Bundle > How to fetch the device input tree, resolve a dbuPath, and create a data bundle under a parent node through the RealityConnect API. Before you upload capture data, you need an empty **data bundle** tied to a specific capture device. Creation is a two-step flow: fetch the data bundle device input tree, then create the bundle with the fully resolved `dbuPath` of the leaf device you selected. The input tree is returned in a single call; walk it locally (by `name` and `children`) until you reach a leaf. Leaf nodes carry the `dbuPath` string you pass at creation time; branch nodes have `dbuPath: null`. *** ## Endpoints [Section titled “Endpoints”](#endpoints) | Method | Path | Scope | Purpose | | ------ | ---------------------------------------------------------- | -------------- | --------------------------- | | `GET` | `/v1/organization/{organizationId}/data-bundle-input-tree` | `read:bundle` | Fetch the device input tree | | `POST` | `/v1/nodes/{parentId}/bundle` | `write:bundle` | Create a data bundle | ## Step 1: fetch the input tree [Section titled “Step 1: fetch the input tree”](#step-1-fetch-the-input-tree) ```http GET {api_url}/v1/organization/{organizationId}/data-bundle-input-tree Authorization: Bearer {access_token} ``` The response is a nested tree. Each node includes: | Field | Meaning | | ---------- | ------------------------------------------------------------ | | `name` | Stable identifier used to build paths | | `label` | Human-readable display name | | `isLeaf` | `true` when the node is a selectable capture device | | `dbuPath` | Fully resolved device path on leaf nodes; `null` on branches | | `children` | Child nodes (empty array on leaves) | Example (truncated): ```json { "nodes": [ { "name": "POINTCLOUD", "label": "Point Cloud", "isLeaf": false, "dbuPath": null, "children": [ { "name": "ZF", "label": "ZF", "isLeaf": false, "dbuPath": null, "children": [ { "name": "ZFSLAM", "label": "ZF SLAM", "isLeaf": true, "dbuPath": "POINTCLOUD/ZF/ZFSLAM", "children": [] } ] } ] } ] } ``` Walk the tree until `isLeaf` is `true`, then copy `dbuPath` (here `POINTCLOUD/ZF/ZFSLAM`). ## Step 2: create the bundle [Section titled “Step 2: create the bundle”](#step-2-create-the-bundle) Create the bundle under a parent node you have permission on (typically a site or folder). Pass the bundle name and the leaf `dbuPath` from step 1. ```http POST {api_url}/v1/nodes/{parentId}/bundle Authorization: Bearer {access_token} Content-Type: application/json { "name": "ZF capture 2026-06-01", "dbuPath": "POINTCLOUD/ZF/ZFSLAM" } ``` ```json { "id": "a6f75b3c-f261-4b27-9a2a-9a6cc1234c53", "name": "ZF capture 2026-01-01", "dbuPath": "POINTCLOUD/ZF/ZFSLAM" } ``` Use the returned `id` as `bundleId` for upload, processing, and download steps. ### Error cases [Section titled “Error cases”](#error-cases) | Status | Cause | | ----------------- | ------------------------------------------------------ | | `400 Bad Request` | `dbuPath` is unknown, not a leaf, or not available | | `403 Forbidden` | No permission on the parent node, or no content access | ## Full example [Section titled “Full example”](#full-example) ```python import requests API_URL = "https://" TOKEN = "" ORG_ID = "" PARENT_ID = "" headers = {"Authorization": f"Bearer {TOKEN}"} tree = requests.get( f"{API_URL}/v1/organization/{ORG_ID}/data-bundle-input-tree", headers=headers, ).json() # Walk the tree to find the ZF SLAM leaf (your navigation logic may differ). def find_dbu_path(nodes, *path): node = nodes for segment in path: node = next(n for n in node if n["name"] == segment) node = node["children"] leaf = node[0] assert leaf["isLeaf"] return leaf["dbuPath"] dbu_path = find_dbu_path(tree["nodes"], "POINTCLOUD", "ZF", "ZFSLAM") bundle = requests.post( f"{API_URL}/v1/nodes/{PARENT_ID}/bundle", headers=headers, json={"name": "ZF capture 2026-01-01", "dbuPath": dbu_path}, ).json() bundle_id = bundle["id"] print(f"Created bundle {bundle_id} for device {bundle['dbuPath']}") ``` ## Next step [Section titled “Next step”](#next-step) With a `bundleId` in hand, continue to [Uploading Data to a Data Bundle](/en/realityconnect/realityconnect-api/data-bundle-workflows/data-bundle-uploads/). # Uploading Data to a Data Bundle > How to upload raw input files (point clouds, trajectories, images, metadata) to a data bundle through the RealityConnect API, using multipart upload sessions. Worked example with a ZF SLAM capture, including cross-type dependencies. This guide explains how to upload the raw input files of a capture to a **data bundle** through the RealityConnect API. All upload endpoints require the `write:bundle` scope; listing sessions requires `read:bundle`. *** ## Upload flow [Section titled “Upload flow”](#upload-flow) A data bundle holds the raw inputs for a single capture: a point cloud, a trajectory, images, per-image metadata, and so on. The exact set of files a bundle accepts depends on the **device** the bundle was created for. Files are uploaded in **upload sessions**. A session is a server-created container for one batch of a bundle’s files. When you open it you declare how many files the batch will contain (`expectedFileCount`); the session completes automatically once that many files have been finalized. Each individual file is uploaded with an S3 **multipart** upload: 1. **Open a session** on the bundle, declaring the total number of files you will send. 2. For **each file**: **initiate** the upload, **PUT** its parts directly to the returned URLs, then **finalize** it. 3. When the number of finalized files reaches `expectedFileCount`, the session is marked `completed`. ``` sequenceDiagram participant Client as Client participant RCAPI as RCAPI participant S3 as S3 Client->>RCAPI: POST upload-sessions RCAPI-->>Client: sessionId + requirements loop for each file Client->>RCAPI: POST initiate file RCAPI-->>Client: fileId + presigned part URLs loop for each part Client->>S3: PUT part S3-->>Client: ETag end Client->>RCAPI: POST finalize RCAPI-->>Client: file completed + sessionStatus end ``` The upload `requirements` (returned when you open a session) tell you exactly which file types the bundle accepts, which are mandatory, and how they depend on each other. ## The worked example: a ZF SLAM capture [Section titled “The worked example: a ZF SLAM capture”](#the-worked-example-a-zf-slam-capture) A ZF SLAM bundle is a good example because it accepts four different file types with a cross-type dependency. A complete ZF capture consists of: | File | Type | Notes | | ----------------- | ------------------ | ------------------------------- | | `scan.las` | point cloud | exactly one | | `…laser_0.txt` | trajectory | exactly one | | `panorama/*.jpg` | panorama images | many, each paired with metadata | | `panorama/*.json` | per-image metadata | many, one per image | So a full ZF batch is `1 point cloud + 1 trajectory + N images + N metadata files`. We will upload all of them in a single session. ## Endpoints [Section titled “Endpoints”](#endpoints) All paths are relative to your regional `api_url`. The bundle is addressed by its own id (`bundleId`). | Method | Path | Scope | Purpose | | ------ | ---------------------------------------------------------------------------------------- | -------------- | --------------------------------- | | `POST` | `/v1/bundles/{bundleId}/upload-sessions` | `write:bundle` | Open a session | | `GET` | `/v1/bundles/{bundleId}/upload-sessions` | `read:bundle` | List sessions (resume / progress) | | `POST` | `/v1/bundles/{bundleId}/upload-sessions/{sessionId}/files` | `write:bundle` | Initiate a file upload | | `GET` | `/v1/bundles/{bundleId}/upload-sessions/{sessionId}/files/{fileId}/refresh/{startIndex}` | `write:bundle` | Reissue expired part URLs | | `POST` | `/v1/bundles/{bundleId}/upload-sessions/{sessionId}/files/{fileId}/finalize` | `write:bundle` | Finalize a file upload | ## Before you begin [Section titled “Before you begin”](#before-you-begin) In order to upload data to a data bundle, you need: * a completed OAuth flow with an `access_token` and your regional `api_url` * an existing data bundle (`bundleId`) If you do not have a bundle yet, create one first by following [Creating a Data Bundle](/en/realityconnect/realityconnect-api/data-bundle-workflows/creating-a-data-bundle/). That flow fetches the device input tree, picks a leaf `dbuPath`, and creates the bundle under a parent node. ## Step 1: open an upload session [Section titled “Step 1: open an upload session”](#step-1-open-an-upload-session) Declare the total number of files the batch will contain. For a full ZF capture with 13 images that is `1 + 1 + 13 + 13 = 28`. ```http POST {api_url}/v1/bundles/{bundleId}/upload-sessions Authorization: Bearer {access_token} Content-Type: application/json { "expectedFileCount": 28 } ``` The response returns the `sessionId` and the bundle’s `requirements`: ```json { "sessionId": "6ebf0fe5-4428-4b26-a7e4-e3274980123b", "expectedFileCount": 28, "requirements": [ { "type": "pointclouds", "allowedExtensions": ["las", "laz"], "optional": false, "allowMultiples": false, "dependencies": [] }, { "type": "trajectories", "allowedExtensions": ["txt"], "optional": false, "allowMultiples": false, "dependencies": [] }, { "type": "pictures", "allowedExtensions": ["jpg", "png", "jpeg"], "optional": true, "allowMultiples": true, "dependencies": ["picturesMetadata"] }, { "type": "picturesMetadata", "allowedExtensions": ["json"], "optional": true, "allowMultiples": true, "dependencies": ["pictures"] } ] } ``` ## Understanding `requirements` and cross-dependencies [Section titled “Understanding requirements and cross-dependencies”](#understanding-requirements-and-cross-dependencies) Each entry in `requirements` describes one file type the bundle accepts: | Field | Meaning | | ------------------- | ---------------------------------------------------------------------------------- | | `type` | The identifier you pass as `type` when initiating a file upload. | | `allowedExtensions` | File extensions accepted for this type. | | `optional` | If `false`, the bundle cannot be processed without at least one file of this type. | | `allowMultiples` | If `false`, only one file of this type may be uploaded. | | `dependencies` | Other types that must also be present whenever this type is present. | For the ZF example: * **`pointclouds`** and **`trajectories`** are mandatory (`optional: false`) and single (`allowMultiples: false`). Every ZF bundle needs exactly one of each. * **`pictures`** and **`picturesMetadata`** are optional and accept multiple files. * The two image types **depend on each other**: `pictures.dependencies = ["picturesMetadata"]` and `picturesMetadata.dependencies = ["pictures"]`. A dependency means: *if a type is present, every type it lists must also be present.* Because the ZF image types reference each other, they are **all-or-nothing as a pair**. You may upload the images and their metadata together, or skip both, but you cannot upload one without the other. Valid ZF batches: * **Minimal** — `1 pointcloud + 1 trajectory` (no images). `expectedFileCount = 2`. * **Full** — `1 pointcloud + 1 trajectory + N pictures + N picturesMetadata`. `expectedFileCount = 2 + 2N`. Invalid: * Images without their metadata (or vice versa) since the cross-dependency is unsatisfied. * A batch with no point cloud or no trajectory since a mandatory type is missing. Before you open a session, count every file you plan to upload and set that total as `expectedFileCount`. Optional types only count if you include them in the batch. The session completes when that many files are finalized, so the number you declare must match what you actually upload. ## Step 2: upload each file [Section titled “Step 2: upload each file”](#step-2-upload-each-file) Repeat the following three calls for every file in the batch. ### 2a. Initiate [Section titled “2a. Initiate”](#2a-initiate) Pass the file name, its size in bytes, and its `type` (one of the `requirements` types): ```http POST {api_url}/v1/bundles/{bundleId}/upload-sessions/{sessionId}/files Authorization: Bearer {access_token} Content-Type: application/json { "fileName": "scan.las", "fileSize": 734003200, "type": "pointclouds" } ``` The response describes the multipart upload: how many `parts` to send and one presigned `url` per part. ```json { "fileId": "c8c8cb0b-f476-4211-a3a4-72e4e04b91d5", "parts": 8, "urls": [ { "partNumber": 1, "url": "https://s3…/part-1?…" }, { "partNumber": 2, "url": "https://s3…/part-2?…" } ] } ``` ### 2b. Upload the parts [Section titled “2b. Upload the parts”](#2b-upload-the-parts) Split the file into `parts` sequential chunks of `ceil(fileSize / parts)` bytes and `PUT` each chunk to its presigned `url`. No auth header is sent on these requests; the URL is already signed. Keep the `ETag` response header of every part, you need it to finalize. ```python import math, requests def upload_parts(file_path, file_size, urls): part_size = math.ceil(file_size / len(urls)) parts = [] with open(file_path, "rb") as handle: for entry in sorted(urls, key=lambda u: u["partNumber"]): res = requests.put(entry["url"], data=handle.read(part_size)) res.raise_for_status() parts.append({"partNumber": entry["partNumber"], "etag": res.headers["ETag"]}) return parts ``` Pass the `ETag` back exactly as returned, including its surrounding quotes. ### 2c. Finalize [Section titled “2c. Finalize”](#2c-finalize) Send the collected parts to complete the file. The endpoint returns `200 OK`. ```http POST {api_url}/v1/bundles/{bundleId}/upload-sessions/{sessionId}/files/{fileId}/finalize Authorization: Bearer {access_token} Content-Type: application/json { "parts": [ { "partNumber": 1, "etag": "\"a1b2…\"" }, { "partNumber": 2, "etag": "\"c3d4…\"" } ] } ``` The response echoes the file and reports the session status: ```json { "fileId": "c8c8cb0b-f476-4211-a3a4-72e4e04b91d5", "fileName": "scan.las", "type": "pointclouds", "size": 734003200, "status": "completed", "sessionStatus": "pending" } ``` `sessionStatus` stays `pending` until the last expected file is finalized, at which point it becomes `completed`. ### Refreshing expired URLs [Section titled “Refreshing expired URLs”](#refreshing-expired-urls) Presigned URLs expire. If an upload runs long and a `PUT` starts returning `403`, reissue the URLs from the part you stopped at and continue: ```http GET {api_url}/v1/bundles/{bundleId}/upload-sessions/{sessionId}/files/{fileId}/refresh/0 Authorization: Bearer {access_token} ``` ```json { "startIndex": 0, "urls": [ { "partNumber": 1, "url": "https://s3…/part-1?…" } ] } ``` The file does not need to be re-initiated; only the part URLs are renewed. ## Step 3: track progress and resume [Section titled “Step 3: track progress and resume”](#step-3-track-progress-and-resume) List a bundle’s sessions to check progress or resume an interrupted batch without keeping the `sessionId` in memory. The list is paginated and sortable, with an optional `status` filter. Query parameters: `page` (default `1`), `limit` (default `20`, maximum `20`), `sortBy` (`createdAt` or `status`, default `createdAt`), `sortDir` (`ASC` or `DESC`, default `ASC`), `status` (optional filter: `pending` or `completed`). ```http GET {api_url}/v1/bundles/{bundleId}/upload-sessions?page=1&limit=20&sortBy=createdAt&sortDir=DESC Authorization: Bearer {access_token} ``` ```json { "items": [ { "sessionId": "6ebf0fe5-4428-4b26-a7e4-e3274980123b", "status": "pending", "expectedFileCount": 28, "finalizedFileCount": 14 } ], "total": 1 } ``` `finalizedFileCount` versus `expectedFileCount` tells you how many files are left. To resume, initiate and finalize only the files that have not completed yet. ## Validation and limits [Section titled “Validation and limits”](#validation-and-limits) Read this carefully as it determines what you are responsible for when using the RealityConnect API to upload data. * The upload endpoints record each file under the `type` you provide and complete the session purely on **count**: once `finalizedFileCount` equals `expectedFileCount`, the session is `completed`. At upload time, the server does **not** verify that the `type` is one of the `requirements`, that the file extension is allowed, that mandatory types are present, or that cross-dependencies are satisfied. * All the rules (mandatory types, `allowMultiples`, and the `dependencies` between types) are enforced **after the bundle is sent for processing**. A batch that ignores the `requirements` will upload successfully but fail to process. * **Deep content validation is never performed by the upload API.** Whether a `.las` is a genuine ZF point cloud, or a `.json` correctly references its image, is only checked at processing. Treat `requirements` as the contract. Honor the types, extensions, optionality, multiplicity, and dependencies in your upload batch so the bundle is processable once uploaded. Processing failures caused by an incorrect upload structure are not refundable. ## Full example [Section titled “Full example”](#full-example) Putting it together for the ZF capture. `files` is the list you build from your local dataset, each entry pairing a path with its `type` from `requirements`. ```python import math, requests API_URL = "https://" TOKEN = "" BUNDLE_ID = "" HEADERS = {"Authorization": f"Bearer {TOKEN}"} # (local path, schema type) for every file in the batch files = [ ("scan.las", "pointclouds"), ("2024-07-scan.laser_laser_0.txt", "trajectories"), ("panorama/2024-07-scan-idx40.jpg", "pictures"), ("panorama/2024-07-scan-idx40.json", "picturesMetadata"), # … remaining image / metadata pairs … ] def upload_one(session_id, path, file_type): size = __import__("os").path.getsize(path) base = f"{API_URL}/v1/bundles/{BUNDLE_ID}/upload-sessions/{session_id}/files" initiated = requests.post( base, headers=HEADERS, json={"fileName": path.split("/")[-1], "fileSize": size, "type": file_type}, ).json() part_size = math.ceil(size / initiated["parts"]) parts = [] with open(path, "rb") as handle: for entry in sorted(initiated["urls"], key=lambda u: u["partNumber"]): res = requests.put(entry["url"], data=handle.read(part_size)) res.raise_for_status() parts.append({"partNumber": entry["partNumber"], "etag": res.headers["ETag"]}) return requests.post( f"{base}/{initiated['fileId']}/finalize", headers=HEADERS, json={"parts": parts}, ).json() # 1. Open the session for the exact number of files we will send. session = requests.post( f"{API_URL}/v1/bundles/{BUNDLE_ID}/upload-sessions", headers=HEADERS, json={"expectedFileCount": len(files)}, ).json() # 2. Upload every file under its type. result = None for path, file_type in files: result = upload_one(session["sessionId"], path, file_type) # 3. The last finalize reports the session as completed. assert result["sessionStatus"] == "completed" ``` ## Next step [Section titled “Next step”](#next-step) Once every file is uploaded and the session is `completed`, continue to [Processing and Monitoring](/en/realityconnect/realityconnect-api/data-bundle-workflows/processing-and-monitoring/) to turn the raw inputs into viewable outputs. # Downloading Input Files > How to list signed download URLs for a data bundle's finalized input files and retrieve the file bytes through the RealityConnect API. Once input files are uploaded and finalized, you can download them again through the API. It assumes you have a bundle with finalized input files and hold the `read:bundle` scope. *** ## How it works [Section titled “How it works”](#how-it-works) The download endpoint returns **ready-to-use signed URLs**. Download file bytes directly from CDN/S3 with no `Authorization` header on the GET, the same pattern used for scan file downloads. ``` sequenceDiagram participant Client as RCAPI client participant RCAPI as RCAPI participant CDN as CDN / S3 Client->>RCAPI: GET input-files (page, limit) RCAPI-->>Client: items with signed urls + total loop for each item Client->>CDN: GET url CDN-->>Client: file bytes end ``` RCAPI signs the bundle’s input prefix once per request. Each item’s `url` is that signature with a wildcard replaced by the file’s storage path, so every URL in a single response shares the same expiry. ## Endpoint [Section titled “Endpoint”](#endpoint) | Method | Path | Scope | Purpose | | ------ | ------------------------------------ | ------------- | --------------------------------------------------- | | `GET` | `/v1/bundles/{bundleId}/input-files` | `read:bundle` | List signed download URLs for finalized input files | ## List input file download URLs [Section titled “List input file download URLs”](#list-input-file-download-urls) ```http GET {api_url}/v1/bundles/{bundleId}/input-files?page=1&limit=20 Authorization: Bearer {access_token} ``` ### Query parameters [Section titled “Query parameters”](#query-parameters) | Parameter | Type | Description | | ----------- | ------ | -------------------------------------------------------- | | `page` | number | 1-based page index (default `1`) | | `limit` | number | Page size (default `20`, maximum `20`) | | `sessionId` | uuid | Optional. Limit results to files from one upload session | No sorting is offered. Files are returned in a stable storage order. ### Response [Section titled “Response”](#response) A paginated list (`{ items, total }`): ```json { "items": [ { "fileName": "scan.las", "url": "https://cdn…/bundles/…/scan.las?X-Amz-…", "sessionId": "6ebf0fe5-4428-4b26-a7e4-e3274980123b" }, { "fileName": "panorama/2024-07-scan-idx40.jpg", "url": "https://cdn…/bundles/…/panorama/2024-07-scan-idx40.jpg?X-Amz-…", "sessionId": "6ebf0fe5-4428-4b26-a7e4-e3274980123b" } ], "total": 28 } ``` | Field | Meaning | | ----------- | ------------------------------------------------------------------- | | `fileName` | The input file’s name (the path substituted into the signed prefix) | | `url` | Signed download URL, ready to `GET` without an auth header | | `sessionId` | Upload session the file belongs to | | `total` | Total finalized input files across all pages | ## Download the bytes [Section titled “Download the bytes”](#download-the-bytes) For each item, `GET` the `url` directly. No bearer token is required; the signature is embedded in the query string. ```python import requests response = requests.get(item["url"]) response.raise_for_status() with open(local_path, "wb") as handle: handle.write(response.content) ``` ### Expired URLs [Section titled “Expired URLs”](#expired-urls) All URLs in one response share a single signature expiry (about 24 hours, consistent with other signed links in the API). If a download returns `403 Forbidden`, the URL has expired. Request a fresh page from the list endpoint and retry. ## Paginating large bundles [Section titled “Paginating large bundles”](#paginating-large-bundles) When `total` exceeds `limit`, page through the results: ```python import requests API_URL = "https://" TOKEN = "" BUNDLE_ID = "" LIMIT = 20 headers = {"Authorization": f"Bearer {TOKEN}"} base = f"{API_URL}/v1/bundles/{BUNDLE_ID}/input-files" page = 1 while True: listing = requests.get( base, headers=headers, params={"page": page, "limit": LIMIT} ).json() for item in listing["items"]: local_name = item["fileName"].replace("/", "_") data = requests.get(item["url"]) data.raise_for_status() with open(local_name, "wb") as handle: handle.write(data.content) print(f"Downloaded {item['fileName']}") if page * LIMIT >= listing["total"]: break page += 1 ``` ## When to use this endpoint [Section titled “When to use this endpoint”](#when-to-use-this-endpoint) | Use case | Notes | | -------------------- | ---------------------------------------------------------- | | Archival | Copy raw captures into your own storage after upload | | Reprocessing | Download inputs locally, then upload to a new bundle | | Audit / verification | Confirm which files landed on the bundle before processing | | Integration testing | Round-trip upload and download in CI pipelines | This endpoint returns **input** files only (what you uploaded). Processed outputs (HLODs, standardized point clouds, and so on) are exposed as bundle component signed links on `GET /v1/site/{siteId}/bundles/{bundleId}`. See [Retrieving processed outputs](/en/realityconnect/realityconnect-api/data-bundle-workflows/processing-and-monitoring/#retrieving-processed-outputs). ## Error cases [Section titled “Error cases”](#error-cases) | Status | Cause | | --------------- | --------------------------------------------------------------- | | `403 Forbidden` | Missing `read:bundle` scope or no read permission on the bundle | | `404 Not Found` | Unknown `bundleId` | An empty `items` array with `total: 0` means the bundle has no finalized input files yet. Complete an upload session first; see [Uploading Data to a Data Bundle](/en/realityconnect/realityconnect-api/data-bundle-workflows/data-bundle-uploads/). # Processing and Monitoring > How to list processing options, launch data bundle processing, and poll progress until every output reaches a terminal state through the RealityConnect API. After input files are uploaded, the platform can generate processed outputs (standardized point clouds, mesh HLODs, photospheres, and so on). This guide explains how to list processing options, launch processing, and poll progress until every output reaches a terminal state. It assumes you have a bundle with at least one completed upload session and hold `read:bundle` and `write:bundle` scopes. *** ## How it works [Section titled “How it works”](#how-it-works) Processing is **fire-and-forget**: the API enqueues a processing job and returns immediately. ``` sequenceDiagram participant Client as Client participant RCAPI as RCAPI Client->>RCAPI: GET processing/options RCAPI-->>Client: options + metadata Client->>RCAPI: POST processing RCAPI-->>Client: accepted or typed error loop until all terminal Client->>RCAPI: GET bundle/processings RCAPI-->>Client: processing records (status, progress) end ``` ## Endpoints [Section titled “Endpoints”](#endpoints) | Method | Path | Scope | Purpose | | ------ | ------------------------------------------- | ---------------- | ------------------------------------------------------------------ | | `GET` | `/v1/bundles/{bundleId}/processing/options` | `read:bundle` | List possible output types and their metadata | | `POST` | `/v1/bundles/{bundleId}/processing` | `write:bundle` | Launch processing for requested outputs | | `GET` | `/v1/bundles/{bundleId}/processings` | `read:bundle` | List the bundle’s processing records to poll progress | | `GET` | `/v1/site/{siteId}/bundles/{bundleId}` | `read:hierarchy` | Get the bundle with its processed output components (signed links) | ## Step 1: list processing options [Section titled “Step 1: list processing options”](#step-1-list-processing-options) Before launching, discover which outputs the bundle can produce and how much each one costs. ```http GET {api_url}/v1/bundles/{bundleId}/processing/options?page=1&limit=20&sortBy=type&sortDir=ASC Authorization: Bearer {access_token} ``` ### Query parameters [Section titled “Query parameters”](#query-parameters) | Parameter | Type | Description | | --------- | ------ | -------------------------------------- | | `page` | number | 1-based page index (default `1`) | | `limit` | number | Page size (default `20`, maximum `20`) | | `sortBy` | string | `type` or `cost` (default `type`) | | `sortDir` | string | `ASC` or `DESC` (default `ASC`) | The response is a paginated list (`{ items, total }`). Each option describes one output type: | Field | Meaning | | --------------- | ----------------------------------------------------------------------------------------------------------- | | `type` | Output component type to pass when starting processing (e.g. `StandardizedPointCloud`, `OgcPointCloudHlod`) | | `hasProcessing` | `true` when a processing for this output has already been launched | | `cost` | Processing cost in bytes for paid outputs; `0` for free-tier outputs | Example: ```json { "items": [ { "type": "StandardizedPointCloud", "hasProcessing": false, "cost": 734003200 }, { "type": "OgcPointCloudHlod", "hasProcessing": false, "cost": 734003200 } ], "total": 2 } ``` Skip outputs where `hasProcessing` is `true` unless you intend to reprocess. ## Step 2: start processing [Section titled “Step 2: start processing”](#step-2-start-processing) Pass the list of output component types you want the pipeline to produce, plus a `cost` field that acknowledges the total processing charge. The server sums the `cost` values from Step 1 for every type in `requestedComponents` and rejects the request when your acknowledgment does not match. Processing starts asynchronously once the cost is accepted. ```http POST {api_url}/v1/bundles/{bundleId}/processing Authorization: Bearer {access_token} Content-Type: application/json { "requestedComponents": [ "StandardizedPointCloud", "OgcPointCloudHlod" ], "cost": 1468006400 } ``` In the example above, `cost` is `734003200 + 734003200` from the Step 1 options list. ### Success response [Section titled “Success response”](#success-response) `204 No Content`: Processing was accepted and enqueued. ### Error response [Section titled “Error response”](#error-response) When processing cannot be launched, the API returns `409 Conflict` with a typed `error`: | `error` value | Meaning | | -------------------------------- | -------------------------------------------------------------------------------- | | `ProcessingCostMismatch` | The submitted `cost` does not match the computed total for the requested outputs | | `InsufficientProcessingCapacity` | Organization processing limit would be exceeded | | `NoInputDataFoundForProcessing` | No finalized input files are available on the bundle | | `FailedToLaunchProcessing` | Pipeline submission failed for an unexpected reason | Example: ```json { "error": "ProcessingCostMismatch" } ``` Structural validation of the uploaded batch (mandatory types, extensions, dependencies) is enforced by the processing pipeline after launch. If your upload session completed but violated the `requirements` contract, processing may fail later even though every file uploaded successfully and the start call returned `204`. ## Step 3: poll for progress [Section titled “Step 3: poll for progress”](#step-3-poll-for-progress) After a successful start, poll the bundle’s processing records until every one reaches a terminal state. ```http GET {api_url}/v1/bundles/{bundleId}/processings Authorization: Bearer {access_token} ``` The response is a list (`{ items, total }`) with every processing record for the bundle. There are no query parameters; all records are returned in a single call. Each item tracks one processing job: | Field | Meaning | | -------------- | --------------------------------------------------------------------------------------------------------------- | | `id` | Identifier of the processing record | | `status` | Pipeline status (see table below) | | `progress` | Completion percentage (`0`–`100`) while active | | `createdAt` | When the job was created | | `updatedAt` | When the job last changed state | | `launchedById` | Id of the user who launched the job, or `null` | | `knownErrors` | Structured failures, each with an `errorCode` and the affected `errorFilepaths` (`null` when not file-specific) | ### Processing states [Section titled “Processing states”](#processing-states) | Status | Terminal? | Meaning | | ---------------- | --------- | -------------------------------------- | | `Pending` | no | Queued, not yet started | | `Processing` | no | Pipeline is running | | `Restarted` | no | Job was restarted and is running again | | `Ready` | yes | Output produced successfully | | `Failed` | yes | Unstructured pipeline failure | | `FailedToLaunch` | yes | Job never entered the pipeline | | `KnownError` | yes | Structured validation or format error | Poll until **every** record is in a terminal state (`Ready`, `Failed`, `FailedToLaunch`, or `KnownError`). Example mid-flight response: ```json { "items": [ { "id": "3f2b1c4d-8e7a-4b2c-9d1e-0a1b3c4d4e6f", "status": "Processing", "progress": 42, "createdAt": "2026-06-01T14:05:00Z", "updatedAt": "2026-06-01T14:12:00Z", "launchedById": "b1a2c3d4-5e6f-7a8b-9c0d-1e2f3a2b2c1d", "knownErrors": [] }, { "id": "9c0d1e2f-3a4b-5c6d-7e8f-9a0b2c3d3e4f", "status": "Pending", "progress": 0, "createdAt": "2026-06-01T14:05:00Z", "updatedAt": "2026-06-01T14:05:00Z", "launchedById": "b1a2c3d4-5e6f-7a8b-9c0d-1e2f3a3b1c1d", "knownErrors": [] } ], "total": 2 } ``` Example with a known error: ```json { "items": [ { "id": "3f2b1c4d-8e7a-4b2c-9d1e-0a2b3c4d4e5f", "status": "KnownError", "progress": 100, "createdAt": "2026-06-01T14:05:00Z", "updatedAt": "2026-06-01T14:48:00Z", "launchedById": "b1a2c3d4-5e6f-7a8b-1c0d-2e6f3a4b5c6d", "knownErrors": [ { "errorCode": "MissingTrajectory", "errorFilepaths": ["scan.las"] } ] } ], "total": 1 } ``` The processing list does not include the output `type` per record. To map finished outputs back to their component types and signed links, fetch the bundle’s components (see [Retrieving processed outputs](#retrieving-processed-outputs)). ### Polling guidance [Section titled “Polling guidance”](#polling-guidance) * **Interval:** 1-5 minutes is a reasonable default. Processing can run for multiple minutes to several hours depending on input size. * **Rate limits:** the bundle endpoints share a rate limit bucket with multiple other endpoints. Avoid sub-minute polling. ## Retrieving processed outputs [Section titled “Retrieving processed outputs”](#retrieving-processed-outputs) Once a processing record reaches `Ready`, fetch the bundle to get its output components and their signed download links. Bundle details live on the hierarchy endpoint: ```http GET {api_url}/v1/site/{siteId}/bundles/{bundleId} Authorization: Bearer {access_token} ``` This endpoint requires the `read:hierarchy` scope and returns the bundle with its `components` array: | Field | Meaning | | ------------ | ---------------------------------------------------------------- | | `id` | Bundle id | | `name` | Bundle name | | `components` | One entry per available component (inputs and processed outputs) | Each component carries: | Field | Meaning | | ------------ | ------------------------------------------------------------------ | | `id` | Component id | | `type` | Component type, e.g. `StandardizedPointCloud`, `OgcPointCloudHlod` | | `version` | Component version | | `signedLink` | Signed URL to download the component; no auth header required | | `roots` | Entry-point paths within the component, when applicable | Example: ```json { "id": "a6f75b3c-f261-4b27-9a2a-9a6cc4178a13", "name": "ZF capture 2026-06-01", "components": [ { "id": "5d6e7f8a-9b0c-1d2e-3f4a-1b3c7d4e8f0a", "type": "StandardizedPointCloud", "version": "1", "signedLink": "https://cdn…/components/…?X-Amz-…" } ] } ``` A RealityPlan project exposes the same bundle through `GET /v1/reality-plan/{projectId}/bundles/{bundleId}` (scope `read:twin`). ## Full example [Section titled “Full example”](#full-example) ```python import time import requests API_URL = "https://" TOKEN = "" BUNDLE_ID = "" headers = {"Authorization": f"Bearer {TOKEN}"} base = f"{API_URL}/v1/bundles/{BUNDLE_ID}" # 1. Discover outputs. options = requests.get( f"{base}/processing/options", headers=headers, params={"page": 1, "limit": 20}, ).json() options_by_type = {item["type"]: item for item in options["items"]} to_process = [ item["type"] for item in options["items"] if not item["hasProcessing"] ] total_cost = sum(options_by_type[t]["cost"] for t in to_process) print(f"Launching: {to_process} (cost: {total_cost})") # 2. Start processing. response = requests.post( f"{base}/processing", headers=headers, json={"requestedComponents": to_process, "cost": total_cost}, ) if response.status_code == 409: raise RuntimeError( f"Processing failed to start: {response.json().get('error')}" ) response.raise_for_status() # expect 204 # 3. Poll until every job is terminal. TERMINAL = {"Ready", "Failed", "FailedToLaunch", "KnownError"} POLL_SECONDS = 15 TIMEOUT_SECONDS = 3600 deadline = time.time() + TIMEOUT_SECONDS while time.time() < deadline: listing = requests.get( f"{base}/processings", headers=headers, ).json() processings = listing.get("items", []) for p in processings: print(f" {p['id']}: {p['status']} ({p['progress']}%)") if processings and all(p["status"] in TERMINAL for p in processings): break time.sleep(POLL_SECONDS) else: raise TimeoutError("Processing did not finish within the timeout") ``` ## Next step [Section titled “Next step”](#next-step) To retrieve the raw input files that were uploaded (for archival, reprocessing, or audit), see [Downloading Input Files](/en/realityconnect/realityconnect-api/data-bundle-workflows/downloading-input-files/). # Bulk Import Assets from CSV > Create many RealityAssets in a twin from a CSV spreadsheet of names and 3D bounding boxes using the RealityConnect API. This guide shows how to bulk-create RealityAssets in a twin from a CSV file. Each row defines an asset name and an oriented bounding box in twin space. The workflow uses the [Client Credentials flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) and the `write:asset` scope. *** ## Prerequisites [Section titled “Prerequisites”](#prerequisites) * An OAuth application configured for **Client Credentials** * Scopes: `read:basic`, `read:hierarchy`, `write:asset` * Your `client_id` and `client_secret` * Content access and edit permissions on the target twin * The twin ID where assets should be created ## When to use this pattern [Section titled “When to use this pattern”](#when-to-use-this-pattern) Use a CSV-driven import when you already have asset definitions outside Prevu3D, for example: * Equipment lists exported from a CMMS or ERP system with 3D coordinates * Survey or tagging results from an external tool * Migration from another platform where assets were positioned in twin coordinates Each API call creates one asset. A script loops over the CSV rows and calls `POST /v1/twin/{twinId}/assets` for each entry. ## CSV format [Section titled “CSV format”](#csv-format) The spreadsheet must include a header row. Required columns: | Column | Maps to | Description | | -------------- | -------------- | -------------------------------------------- | | `Description` | Asset `name` | Display name for the RealityAsset | | `Manual_X` | Box center `x` | X coordinate of the box center in twin space | | `Manual_Y` | Box center `y` | Y coordinate of the box center in twin space | | `Manual_Z` | Box center `z` | Z coordinate of the box center in twin space | | `Manual_Box_X` | Box size `x` | Width of the bounding box | | `Manual_Box_Y` | Box size `y` | Depth of the bounding box | | `Manual_Box_Z` | Box size `z` | Height of the bounding box | Example: ```csv Description,Manual_X,Manual_Z,Manual_Y,Manual_Box_X,Manual_Box_Z,Manual_Box_Y Pump A,6.27,-5.10,187.12,0.35,0.64,0.33 Valve B,8.84,-3.14,189.41,2.99,1.11,4.69 ``` Note Column order in the file can differ from the example above as long as the header names match. Extra columns are ignored. Coordinates must be in the same coordinate system as the twin. If you positioned assets manually in RealityTwin, export or record values in twin space. Rotation defaults to identity; the API accepts an optional `rotation` quaternion on each box if you need oriented volumes. ## End-to-end flow [Section titled “End-to-end flow”](#end-to-end-flow) ``` flowchart LR A["1. Authenticate"] --> B["2. Read CSV rows"] B --> C["3. Build workingStructure"] C --> D["4. POST asset per row"] D --> E["5. Review results"] ``` | Step | Endpoint | What you get | | --------------- | ------------------------------- | -------------------- | | Authenticate | `POST /oauth/token` | Access token | | Resolve API URL | `GET /oauth/api-info` | Regional `apiUrl` | | Create asset | `POST /v1/twin/{twinId}/assets` | New asset ID per row | ## Asset payload shape [Section titled “Asset payload shape”](#asset-payload-shape) Each row becomes one asset with a `workingStructure` containing a single oriented box: ```json { "name": "Pump A", "workingStructure": { "boxes": [ { "center": { "x": 6.27, "y": 187.12, "z": -5.10 }, "size": { "x": 0.35, "y": 0.33, "z": 0.64 }, "rotation": { "x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0 } } ] } } ``` To assign an asset type at creation time, add `assetTypeId` with the UUID of a type configured in your organization. See [Asset Types](/en/realityplatform/metadata-settings/metadata-types/) for how types are defined in RealityPlatform. ## Step 1 — Authenticate [Section titled “Step 1 — Authenticate”](#step-1--authenticate) Obtain an access token with Client Credentials: ```http POST https://cloud-api.prevu3d.com/oauth/token Authorization: Basic base64(client_id:client_secret) Content-Type: application/x-www-form-urlencoded grant_type=client_credentials ``` ```http GET https://cloud-api.prevu3d.com/oauth/api-info Authorization: Bearer {access_token} ``` ## Step 2 — Create assets from CSV [Section titled “Step 2 — Create assets from CSV”](#step-2--create-assets-from-csv) ```http POST {api_url}/v1/twin/{twinId}/assets Authorization: Bearer {access_token} Content-Type: application/json { "name": "Pump A", "workingStructure": { "boxes": [ { "center": { "x": 6.27, "y": 187.12, "z": -5.10 }, "size": { "x": 0.35, "y": 0.33, "z": 0.64 }, "rotation": { "x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0 } } ] } } ``` A successful response returns the created asset, including its `id`. Repeat for each CSV row. ## Complete example [Section titled “Complete example”](#complete-example) ```python import base64 import csv from pathlib import Path import requests CLIENT_ID = "your-client-id" CLIENT_SECRET = "your-client-secret" CLOUD_API_BASE = "https://cloud-api.prevu3d.com" TWIN_ID = "your-twin-id" CSV_FILE = Path("assets.csv") credentials = base64.b64encode(f"{CLIENT_ID}:{CLIENT_SECRET}".encode()).decode() token_response = requests.post( f"{CLOUD_API_BASE}/oauth/token", data={"grant_type": "client_credentials"}, headers={"Authorization": f"Basic {credentials}"}, ) token_response.raise_for_status() access_token = token_response.json()["access_token"] headers = {"Authorization": f"Bearer {access_token}"} api_info = requests.get(f"{CLOUD_API_BASE}/oauth/api-info", headers=headers).json() api_url = api_info["apiUrl"].rstrip("/") def api_post(path: str, body: dict) -> dict: response = requests.post(f"{api_url}{path}", json=body, headers=headers) response.raise_for_status() return response.json() def oriented_box(cx: float, cy: float, cz: float, sx: float, sy: float, sz: float) -> dict: return { "center": {"x": cx, "y": cy, "z": cz}, "size": {"x": sx, "y": sy, "z": sz}, "rotation": {"x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0}, } with CSV_FILE.open(newline="", encoding="utf-8") as handle: rows = list(csv.DictReader(handle)) created = [] errors = [] for row in rows: name = row["Description"].strip() body = { "name": name, "workingStructure": { "boxes": [ oriented_box( cx=float(row["Manual_X"]), cy=float(row["Manual_Y"]), cz=float(row["Manual_Z"]), sx=float(row["Manual_Box_X"]), sy=float(row["Manual_Box_Y"]), sz=float(row["Manual_Box_Z"]), ) ] }, } try: asset = api_post(f"/v1/twin/{TWIN_ID}/assets", body) print(f"[OK] {name} -> {asset['id']}") created.append(asset) except requests.HTTPError as error: print(f"[ERR] {name} -> {error.response.status_code} {error.response.text}") errors.append(name) print(f"\nCreated: {len(created)} / Errors: {len(errors)}") ``` ## Finding the twin ID [Section titled “Finding the twin ID”](#finding-the-twin-id) The twin ID is the UUID of the twin node in your content hierarchy. You can: * Copy it from the RealityPlatform URL when the twin is open * Browse the hierarchy with `GET /v1/nodes/{organizationId}/browse` and locate a node with `type: "Twin"` ## Tips for large imports [Section titled “Tips for large imports”](#tips-for-large-imports) * **Batch responsibly.** The API creates one asset per request. For hundreds of rows, add a short delay or backoff if you hit rate limits. * **Validate coordinates first.** Import a single test row before running the full file. * **Use Draft Mode in RealityTwin** when you want to review assets before other users see them. Assets created through the API appear in the twin immediately unless your integration targets a draft workflow. * **Attach metadata later.** After creation, use `PATCH /v1/twin/{twinId}/object/{assetId}/metadata` to add property values. See the asset endpoints in the [API reference](/apidocs). ## What’s next? [Section titled “What’s next?”](#whats-next) * Set up authentication in the [Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) guide. * Learn how assets work in the twin workspace: [Working with RealityAssets](/en/realitytwin/twin-workspace/working-with-realityassets/). * Browse asset endpoints in the [API reference](/apidocs). # Downloading Scan Files > Download processed point clouds, meshes, and photosphere images from a site bundle through the RealityConnect API using signed CDN URLs. This guide explains how to download processed scan outputs from the RealityConnect API: point clouds, meshes, and photosphere images. The workflow uses the [Client Credentials flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) and the `read:hierarchy` scope. *** ## Prerequisites [Section titled “Prerequisites”](#prerequisites) * An OAuth application configured for **Client Credentials** * Scopes: `read:basic`, `read:hierarchy` * Your `client_id` and `client_secret` * Content access to the site that holds the bundles you want to download `read:twin`, `read:asset`, and `download:scan` are **not** required for scan file download — the file bytes are authorized by the signed CDN URL, not by an OAuth scope. ## How scan data is organized [Section titled “How scan data is organized”](#how-scan-data-is-organized) Processed scan data lives in **bundles** attached to a **site**. Each bundle contains one or more **components**, where each component is a different output format: | Component type | Format | Description | | -------------------- | ---------------------------- | ------------------------------------------------------------------- | | `OgcPointCloudHlod` | OGC 3D Tiles (open standard) | Point cloud data. `tileset.json` entry point with `.glb` tile files | | `RealityMeshHlod` | Prevu3D HLOD | Mesh data. `hlod_tree.json` entry point with `.pvt` tile files | | `RealityPhotosphere` | JPEG images | Photosphere data. `stations.json` manifest with `.jpeg` images | ## End-to-end flow [Section titled “End-to-end flow”](#end-to-end-flow) ``` flowchart LR A["1. Authenticate"] --> B["2. Find a site"] B --> C["3. List bundles"] C --> D["4. Get bundle details"] D --> E["5. Download entry files"] E --> F["6. Follow file references"] ``` | Step | Endpoint | What you get | | --------------- | ------------------------------------------ | -------------------------------------- | | Authenticate | `POST /oauth/token` | Access token | | Resolve API URL | `GET /oauth/api-info` | Regional `apiUrl` and organization ID | | Find site | `GET /v1/nodes/{id}/browse` | Site ID from the content hierarchy | | List bundles | `GET /v1/site/{siteId}/bundles` | Bundle IDs for the site | | Get components | `GET /v1/site/{siteId}/bundles/{bundleId}` | `signedLink` and `roots` per component | | Download files | `GET` on the constructed CDN URL | Entry files, tiles, and images | ## Step 1 — Authenticate [Section titled “Step 1 — Authenticate”](#step-1--authenticate) Obtain an access token with Client Credentials: ```http POST https://cloud-api.prevu3d.com/oauth/token Authorization: Basic base64(client_id:client_secret) Content-Type: application/x-www-form-urlencoded grant_type=client_credentials ``` Resolve your regional API URL: ```http GET https://cloud-api.prevu3d.com/oauth/api-info Authorization: Bearer {access_token} ``` The response contains `apiUrl` (for example `https://api-ue1.prevu3d.com/realityconnect-api`). Use this as the base URL for all subsequent API calls. ## Step 2 — Find a site [Section titled “Step 2 — Find a site”](#step-2--find-a-site) Browse the node hierarchy starting from your organization: ```http GET {api_url}/v1/nodes/{organizationId}/browse Authorization: Bearer {access_token} ``` Traverse the tree recursively until you find a node with `type: "Site"`. Note its `id`. ## Step 3 — List bundles [Section titled “Step 3 — List bundles”](#step-3--list-bundles) ```http GET {api_url}/v1/site/{siteId}/bundles Authorization: Bearer {access_token} ``` Returns a paginated list of bundles for that site. ## Step 4 — Get bundle details [Section titled “Step 4 — Get bundle details”](#step-4--get-bundle-details) ```http GET {api_url}/v1/site/{siteId}/bundles/{bundleId} Authorization: Bearer {access_token} ``` Example response: ```json { "id": "f75de673-...", "name": "My Bundle", "components": [ { "id": "abc123", "type": "OgcPointCloudHlod", "signedLink": "https://cdn.prevu3d.com/.../OgcPointCloudHlod/*?Policy=...&Signature=...&Key-Pair-Id=...", "roots": [ "sessions/0f4a60cb09a8/tileset.json", "sessions/2a5ed597dc0f/tileset.json" ] }, { "id": "def456", "type": "RealityMeshHlod", "signedLink": "https://cdn.prevu3d.com/.../RealityMeshHlod/*?Policy=...&Signature=...&Key-Pair-Id=...", "roots": ["hlod_tree.json"] }, { "id": "ghi789", "type": "RealityPhotosphere", "signedLink": "https://cdn.prevu3d.com/.../RealityPhotosphere/*?Policy=...&Signature=...&Key-Pair-Id=...", "roots": ["stations.json"] } ] } ``` Each component exposes two fields you need for downloading: * **`signedLink`**: a CDN signed URL ending in `/*`. The `*` is a placeholder. The signature grants read access to **all files** under this prefix, not just a single file. * **`roots`**: an array of relative paths to the entry-point file(s) for this component. ## Step 5 — Download files [Section titled “Step 5 — Download files”](#step-5--download-files) Construct a downloadable URL by replacing the `*` in `signedLink` with a file path: ```python download_url = component["signedLink"].replace("*", root) response = requests.get(download_url) ``` The query parameters (`Policy`, `Signature`, `Key-Pair-Id`) stay attached and authenticate the request. Download file bytes directly from the CDN with no `Authorization` header on the GET. Caution Signed URLs are time-limited (typically valid for 24 hours). If you receive a `403` response, fetch the bundle details again to obtain fresh URLs. ## Component-specific details [Section titled “Component-specific details”](#component-specific-details) ### OgcPointCloudHlod (point clouds) [Section titled “OgcPointCloudHlod (point clouds)”](#ogcpointcloudhlod-point-clouds) **Entry point:** each value in `roots` is a path to a `tileset.json` file (one per scan session). ```python for root in component["roots"]: url = component["signedLink"].replace("*", root) tileset = requests.get(url).json() ``` **Tile traversal:** `tileset.json` follows the [OGC 3D Tiles specification](https://www.ogc.org/standard/3dtiles/). It contains a tree of tile nodes. Each node may have a `content` field with a `uri` pointing to a `.glb` file relative to the tileset directory: ```json { "asset": { "version": "1.0" }, "root": { "boundingVolume": { }, "content": { "uri": "cell.glb" }, "children": [ { "content": { "uri": "cell0.glb" }, "children": [ ] } ] } } ``` Resolve tile paths relative to the tileset directory: ```python session_dir = root.rsplit("/tileset.json", 1)[0] tile_path = f"{session_dir}/{tile_uri}" tile_url = component["signedLink"].replace("*", tile_path) tile_data = requests.get(tile_url).content ``` Traverse the tree recursively to download all tiles. ### RealityMeshHlod (meshes) [Section titled “RealityMeshHlod (meshes)”](#realitymeshhlod-meshes) **Entry point:** `roots` contains `["hlod_tree.json"]`. ```python url = component["signedLink"].replace("*", "hlod_tree.json") hlod_tree = requests.get(url).json() ``` **Tree structure:** `hlod_tree.json` contains an HLOD tree: ```json { "environment_offset": [ ], "version": 1, "root": { "center": [1.17, -1.22, 5.63], "size": [50.54, 46.61, 19.63], "model_path": "cell", "density": 6.73, "children": [ { "model_path": "cell0", "children": [ ] } ], "textures": [ { "name": "color", "min_mip": 5, "max_mip": 11, "path": "cell" }, { "name": "ao", "min_mip": 5, "max_mip": 11, "path": "cell_ao" } ] } } ``` **Tile file naming:** geometry and texture files use the pattern `{model_path}_{mip_level}.pvt`: ```python model_path = node["model_path"] mip_level = texture["min_mip"] tile_file = f"{model_path}_{mip_level}.pvt" tile_url = component["signedLink"].replace("*", tile_file) tile_data = requests.get(tile_url).content ``` Traverse the `children` array recursively to discover all `model_path` values at every level of detail. Note `.pvt` files are a Prevu3D mesh format. You can download them through the API; rendering them requires the Prevu3D TWIN viewer or an integration that supports this format. ### RealityPhotosphere (photospheres) [Section titled “RealityPhotosphere (photospheres)”](#realityphotosphere-photospheres) **Entry point:** `roots` contains `["stations.json"]`. ```python url = component["signedLink"].replace("*", "stations.json") stations = requests.get(url).json() ``` **Additional files:** * `index.tsv`: a tab-separated index file alongside `stations.json` * Photosphere images follow the pattern `station_{n}/H_{face}_{x}_{y}.jpeg` ```python image_path = "station_1/H_0_0_0.jpeg" image_url = component["signedLink"].replace("*", image_path) image_data = requests.get(image_url).content ``` Parse `stations.json` to discover all station directories and their associated image files. ## Complete example [Section titled “Complete example”](#complete-example) This script authenticates, finds a site, fetches the first bundle, downloads entry-point files, and follows one referenced tile or image per component. ```python import base64 import json import os from pathlib import Path import requests CLIENT_ID = "your-client-id" CLIENT_SECRET = "your-client-secret" CLOUD_API_BASE = "https://cloud-api.prevu3d.com" OUTPUT_DIR = Path("downloads") credentials = base64.b64encode(f"{CLIENT_ID}:{CLIENT_SECRET}".encode()).decode() token_response = requests.post( f"{CLOUD_API_BASE}/oauth/token", data={"grant_type": "client_credentials"}, headers={"Authorization": f"Basic {credentials}"}, ) token_response.raise_for_status() access_token = token_response.json()["access_token"] headers = {"Authorization": f"Bearer {access_token}"} api_info = requests.get(f"{CLOUD_API_BASE}/oauth/api-info", headers=headers).json() api_url = api_info["apiUrl"].rstrip("/") organization_id = api_info["organization"]["id"] def api_get(path: str) -> dict: response = requests.get(f"{api_url}{path}", headers=headers) response.raise_for_status() return response.json() def download(url: str, dest: Path) -> bool: response = requests.get(url, timeout=30) if not response.ok: return False dest.parent.mkdir(parents=True, exist_ok=True) dest.write_bytes(response.content) return True def find_tile_uri(node: dict, depth: int = 0): if depth > 5 or not isinstance(node, dict): return None content = node.get("content", {}) uri = content.get("uri") or content.get("url") if isinstance(uri, str) and not uri.startswith("http"): return uri for value in node.values(): if isinstance(value, dict): found = find_tile_uri(value, depth + 1) if found: return found elif isinstance(value, list): for item in value: found = find_tile_uri(item, depth + 1) if found: return found return None queue = api_get(f"/v1/nodes/{organization_id}/browse").get("items", []) site_id = None visited = set() while queue and not site_id: node = queue.pop(0) if node["id"] in visited: continue visited.add(node["id"]) browse = api_get(f"/v1/nodes/{node['id']}/browse") current = browse.get("node", {}) if current.get("type", "").lower() == "site": site_id = current["id"] break queue.extend(browse.get("items", [])) if not site_id: raise RuntimeError("No site found in hierarchy") bundles = api_get(f"/v1/site/{site_id}/bundles") bundle_id = bundles["items"][0]["id"] bundle = api_get(f"/v1/site/{site_id}/bundles/{bundle_id}") for component in bundle.get("components", []): comp_type = component.get("type", "unknown") signed_link = component.get("signedLink", "") roots = component.get("roots", []) if not signed_link or not roots: continue for root in roots: entry_url = signed_link.replace("*", root) entry_dest = OUTPUT_DIR / comp_type / root.replace("/", os.sep) if not download(entry_url, entry_dest): continue if root.endswith("tileset.json"): tileset = json.loads(entry_dest.read_bytes()) tile_uri = find_tile_uri(tileset.get("root", tileset)) if tile_uri: session_dir = root.rsplit("/tileset.json", 1)[0] tile_path = f"{session_dir}/{tile_uri}" if session_dir else tile_uri download(signed_link.replace("*", tile_path), OUTPUT_DIR / comp_type / tile_path.replace("/", os.sep)) elif root == "hlod_tree.json": tree = json.loads(entry_dest.read_bytes()) model_path = tree.get("root", {}).get("model_path", "") if model_path: tile_file = f"{model_path}_5.pvt" download(signed_link.replace("*", tile_file), OUTPUT_DIR / comp_type / tile_file) elif root == "stations.json": download(signed_link.replace("*", "index.tsv"), OUTPUT_DIR / comp_type / "index.tsv") download(signed_link.replace("*", "station_1/H_0_0_0.jpeg"), OUTPUT_DIR / comp_type / "station_1" / "H_0_0_0.jpeg") break ``` ## What’s next? [Section titled “What’s next?”](#whats-next) * Set up authentication end to end in the [Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) guide. * Upload and process new captures with [Data Bundle Workflows](/en/realityconnect/realityconnect-api/data-bundle-workflows/). * Browse every operation in the [API reference](/apidocs). # Introduction > Overview of the Prevu3D RealityConnect API: capabilities, regional architecture, OAuth2 authentication, and how it fits into RealityPlatform and RealityTwin integrations. The **RealityConnect API** is the single public surface that lets external systems interact with the Prevu3D ecosystem. Use it to read and write content in RealityPlatform, drive RealityTwin workspaces, manage your organization, upload files and datasets, and so much more. *** ## How the API is organized [Section titled “How the API is organized”](#how-the-api-is-organized) A few design choices are worth knowing before you start building: * **Regional base URLs.** The API runs in multiple regions (US East, EU Central, Asia North, Canada Central). Your organization is provisioned in exactly one of them. Always fetch your base URL from the discovery endpoint instead of hardcoding it. The [Getting Started](/en/realityconnect/realityconnect-api/getting-started/) guide shows how. * **Everything is scoped to your organization.** A token only sees nodes the service user has been granted access to. Cross-organization calls are not possible. * **Resources live in a content hierarchy.** Most operations target a node identified by UUID. Nodes form a tree (organization → division → site → folder) that you can navigate with the `/v1/nodes/{id}/browse` endpoint. * **Three-layer access control.** OAuth scopes, content access, and per-node roles all have to pass for a request to succeed. See the [Security Model](/en/realityconnect/realityconnect-api/getting-started/#security-model) for how to configure each one. * **JSON over HTTPS.** Every endpoint accepts and returns JSON, uses bearer-token authentication, and follows standard HTTP status codes. ## OAuth authentication [Section titled “OAuth authentication”](#oauth-authentication) The API authentication is based on the **OAuth2 protocol**. Supported flows: | OAuth Flow | Description | Use case examples | | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | | **Client Credentials** | Server-to-server access without a signed-in user. Creates a service user in your organization; you configure its permissions separately. | Scripts, automation, backend integrations, testing the API | | **Native app** | A user signs in through the browser and consents to scopes. Uses Authorization Code + Native Application with PKCE and a `http://localhost` redirect. No client secret. | Desktop apps, CLI tools, CAD plugins | | **Authorization Code + custom HTTPS redirect** | Web applications with a callback URL on your own domain. Uses Authorization Code with PKCE and an exact-match HTTPS redirect URI. | Web apps, SaaS integrations | ## Next steps [Section titled “Next steps”](#next-steps) * **[Getting Started](/en/realityconnect/realityconnect-api/getting-started/)**: prerequisites, network access, security model, and choosing an OAuth flow. * **[Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/)**: server-to-server setup from OAuth app creation to your first API call. * **[Native Application Flow](/en/realityconnect/realityconnect-api/oauth-flows/native-application-flow/)**: user sign-in with PKCE and a localhost redirect. * **[Authorization Code + Custom Redirect Flow](/en/realityconnect/realityconnect-api/oauth-flows/authorization-code-custom-redirect-flow/)**: web app sign-in with PKCE and a custom HTTPS callback on your domain. * **[Interactive API reference](/apidocs)**: full endpoint catalog with request/response schemas and a built-in request builder. * **[Data Bundle Workflows](/en/realityconnect/realityconnect-api/data-bundle-workflows/)**: creating a data bundle, uploading data, launching processing, monitoring progress, and downloading input files. # Authorization Code + Custom Redirect Flow > Step-by-step guide to the Authorization Code OAuth flow with PKCE and a custom HTTPS redirect URI: create an app, sign in through the browser, get a token, and make your first RealityConnect API call. Use the **Authorization Code + custom HTTPS redirect** flow for web applications that act on behalf of a signed-in user and receive the OAuth callback on your own domain. It uses **Authorization Code with PKCE**, an **exact-match HTTPS redirect URI**, and an **optional client secret** for confidential server-side clients. Review the [Getting Started](/en/realityconnect/realityconnect-api/getting-started/) guide first if you have not already covered prerequisites, network access, and the [security model](/en/realityconnect/realityconnect-api/getting-started/#security-model). *** ## What you’ll do [Section titled “What you’ll do”](#what-youll-do) 1. **Create an OAuth application**: Register a web app in Prevu3D with your HTTPS callback URL 2. **Configure user access**: Make sure the signing-in user can reach the data it needs 3. **Authorize with PKCE**: Send the user through the browser consent page 4. **Exchange the code for a token**: Trade the authorization code for an access token 5. **Find your API URL**: Discover your organization’s base URL (it varies by region) 6. **Make your first call**: Test the connection with a simple request ## Step 1: Create your OAuth application [Section titled “Step 1: Create your OAuth application”](#step-1-create-your-oauth-application) 1. Log in to the [Prevu3D Platform](https://cloud.prevu3d.com). 2. Go to **Settings** → **OAuth**. 3. Click to create a new application. 4. Enable **Authorization Code flow**. 5. Leave **Native Application** **off**. 6. Enter your **Redirect URI**, for example `https://app.example.com/oauth/callback`. It must be HTTPS with a fully qualified domain name and must match exactly at authorization and token exchange time. 7. Optionally enable a **client secret** if your app can store it server-side. Public browser-only clients should not use a secret. 8. Copy and securely store your **Client ID** (and secret if generated). ## Step 2: Configure user access [Section titled “Step 2: Configure user access”](#step-2-configure-user-access) This flow calls the API **as the signed-in user**, not a service user. This covers **layers 2 and 3** of the security model: which nodes the user can see (content access), and what it can do with them (role / permission access). 1. Make sure the user who will sign in has **content access** to the nodes (organizations, divisions, sites, etc.) your use case requires. 2. Make sure the user has a **role** on those nodes with the permissions your integration needs (read, edit, manage, etc.). On the consent screen, the user also selects which **organization** to authorize. The scopes the user approves there configure **layer 1**. ## Step 3: Authorize with PKCE [Section titled “Step 3: Authorize with PKCE”](#step-3-authorize-with-pkce) Before opening the consent page, generate three values: | Value | How | | ---------------- | ------------------------------------------------------- | | `code_verifier` | Random string, 43 to 128 characters | | `code_challenge` | `BASE64URL(SHA256(code_verifier))` without padding | | `state` | Random string; validate it when the redirect comes back | Open the user’s browser to the consent page. **Consent URL:** `https://cloud.prevu3d.com/oauth` **Query parameters** (all required): | Parameter | Value | | ----------------------- | ------------------------------------------------------------------------------------- | | `response_type` | `code` | | `code_challenge_method` | `S256` | | `client_id` | Your Client ID | | `redirect_uri` | Your registered HTTPS callback URI (exact match, no trailing slash unless registered) | | `scopes` | One per scope, e.g. `scopes=read:basic&scopes=read:hierarchy` | | `code_challenge` | The PKCE challenge from above | | `state` | Your random state value | After the user signs in and clicks **Allow**, the browser redirects to your callback: ```http https://app.example.com/oauth/callback?code={authorization_code}&state={state} ``` If the user denies access, you receive `?error=access_denied` instead. Authorization codes expire after **60 seconds**, so exchange them right away. ## Step 4: Exchange the code for an access token [Section titled “Step 4: Exchange the code for an access token”](#step-4-exchange-the-code-for-an-access-token) **Endpoint:** `POST https://cloud-api.prevu3d.com/oauth/token` **Headers:** `Content-Type: application/x-www-form-urlencoded` **Body:** | Field | Value | | --------------- | ----------------------------- | | `grant_type` | `authorization_code` | | `client_id` | Your Client ID | | `code` | Code from the redirect | | `redirect_uri` | The same URI used in Step 3 | | `code_verifier` | The original PKCE verifier | | `client_secret` | Only if your app has a secret | You may send `client_id` and `client_secret` in the body or use `Authorization: Basic base64(client_id:client_secret)`. **Example response:** ```json { "hasError": false, "expires_in": 86400, "access_token": "eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9...", "refresh_token": "..." } ``` Save both tokens. Use the `access_token` for API calls. When it expires, request a new one with `grant_type=refresh_token` and your stored `refresh_token`. ## Step 5: Get your API base URL [Section titled “Step 5: Get your API base URL”](#step-5-get-your-api-base-url) Call the discovery endpoint to get the `apiUrl` for your organization. Do not hardcode a regional URL. **Endpoint:** `GET https://cloud-api.prevu3d.com/oauth/api-info` **Headers:** `Authorization: Bearer ` **Example response:** ```json { "user": { "..." : "..." }, "organization": { "id": "217ebd23-ec54-4af0-a6d6-4a441a6d1966", "name": "Test Organization" }, "scopes": ["read:basic", "read:hierarchy"], "apiUrl": "https://api-ue1.prevu3d.com/realityconnect-api" } ``` Use the `apiUrl` value as the base for all your API calls. Also note the `organization.id`, which you will need for many endpoints. ## Step 6: Make your first API call [Section titled “Step 6: Make your first API call”](#step-6-make-your-first-api-call) You now have everything you need: an access token and your base URL. Let’s make a simple request to retrieve your organization’s divisions: ```http GET {apiUrl}/v1/nodes/{organization_id}/browse Authorization: Bearer ``` **Example with real values:** ```http GET https://api-ue1.prevu3d.com/realityconnect-api/v1/nodes/217ebd23-ec54-4af0-a6d6-4a441a6d1966/browse HTTP/1.1 Authorization: Bearer eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9... ``` A successful response containing a list of divisions confirms that your integration is working correctly. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) | Symptom | What to check | | ------------------------------------------------------ | --------------------------------------------------------------------------------------- | | **Redirect URI mismatch** at consent or token exchange | `redirect_uri` must match the value registered on the OAuth app character for character | | **Invalid OAuth redirect URI** when saving the app | Use `https`, a valid domain name, no query string or fragment in the registered URI | | **Bad OAuth application secret** | Include `client_secret` only if the app was created with a secret | | **Grant exchange expired** | Authorization codes expire after 60 seconds; restart the flow | | **403 on RCAPI calls** | User may lack content access, node role, or OAuth scope for the operation | Need a loopback redirect for a desktop app or CLI? Use the [Native Application Flow](/en/realityconnect/realityconnect-api/oauth-flows/native-application-flow/) instead. ## What’s next? [Section titled “What’s next?”](#whats-next) * [Native Application Flow](/en/realityconnect/realityconnect-api/oauth-flows/native-application-flow/) for localhost / PKCE without a custom domain * [Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) for server-to-server access * [Interactive API reference](/apidocs) for the full endpoint catalog # Client Credentials Flow > Step-by-step guide to the Client Credentials OAuth flow: create an app, configure a service user, get a token, and make your first RealityConnect API call. Use the **Client Credentials** flow for server-to-server integrations that act on behalf of your organization without a signed-in user. This guide walks you through setup from OAuth application creation to your first API call. Review the [Getting Started](/en/realityconnect/realityconnect-api/getting-started/) guide first if you have not already covered prerequisites, network access, and the [security model](/en/realityconnect/realityconnect-api/getting-started/#security-model). *** ## What you’ll do [Section titled “What you’ll do”](#what-youll-do) 1. **Create an OAuth application** — Register your app in Prevu3D and get credentials 2. **Configure service user access** — Give your app access to the data it needs 3. **Get an access token** — Authenticate and receive a token to use the API 4. **Find your API URL** — Discover your organization’s base URL (it varies by region) 5. **Make your first call** — Test the connection with a simple request ## Step 1: Create your OAuth application [Section titled “Step 1: Create your OAuth application”](#step-1-create-your-oauth-application) 1. Log in to the [Prevu3D Platform](https://cloud.prevu3d.com). 2. Go to **Settings** → **OAuth**. 3. Click to create a new application. 4. Choose **Client Credentials** as the OAuth flow. 5. Assign the permissions your application needs (this configures **layer 1: OAuth scopes**). Your org admin can help you decide which scopes are required. 6. Click the create button. 7. Copy and securely store your **Client ID** and **Client Secret**. You will need these for every API request. Caution Store these credentials securely (e.g., environment variables or a secrets manager). Never commit them to source control or expose them in client-side applications. ## Step 2: Configure service user access [Section titled “Step 2: Configure service user access”](#step-2-configure-service-user-access) When you create an OAuth application, a corresponding **service user** is automatically created in your organization. This service user represents your application when it interacts with the API, but it doesn’t have any access yet. This step covers **layers 2 and 3** of the security model: which nodes the service user can see (content access), and what it can do with them (role / permission access). 1. Go to **Settings** → **Users**. 2. Find your service user and click the edit button (it should be similarly named to the OAuth application you created). 3. Grant the service user **content access** to the nodes (organizations, divisions, sites, etc.) your use case requires. 4. Assign the appropriate **role / permission** on those nodes so the service user can perform the operations it needs (read, edit, manage, etc.). 5. Confirm the changes. ## Step 3: Get your access token [Section titled “Step 3: Get your access token”](#step-3-get-your-access-token) To call the API, you first need an access token. Send a request to the token endpoint with your Client ID and Client Secret. **Endpoint:** `POST https://cloud-api.prevu3d.com/oauth/token` **Headers:** * `Authorization: Basic ` — Encode your Client ID and Secret as `client_id:client_secret`, then Base64-encode that string * `Content-Type: application/x-www-form-urlencoded` **Body:** `grant_type=client_credentials` **Example request:** ```http POST https://cloud-api.prevu3d.com/oauth/token HTTP/1.1 Host: cloud-api.prevu3d.com Authorization: Basic eW91ci1jbGllbnQtaWQ6eW91ci1jbGllbnQtc2VjcmV0 Content-Type: application/x-www-form-urlencoded grant_type=client_credentials ``` **Example response:** ```json { "hasError": false, "access_token": "eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9...", "refresh_token": "eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9...", "expires_in": 3599, "token_type": "bearer" } ``` Save the `access_token` from the response. It is a bearer token: send it as `Authorization: Bearer ` on every RealityConnect API call. `expires_in` describes the accompanying `refresh_token`, not the access token itself: the two have independent, deployment-configurable lifetimes. Rather than assuming a fixed duration, treat any `401 Unauthorized` as a signal to request a new access token the same way. ## Step 4: Get your API base URL [Section titled “Step 4: Get your API base URL”](#step-4-get-your-api-base-url) **Regional RealityConnect API** (your organization uses one region; this guide explains how to discover the exact URL): * * * * Call the discovery endpoint below to get the `apiUrl` for your organization. Do not hardcode a regional URL. **Endpoint:** `GET https://cloud-api.prevu3d.com/oauth/api-info` **Headers:** `Authorization: Bearer ` **Example response:** ```json { "user": { "..." : "..." }, "organization": { "id": "217ebd23-ec54-4af0-a6d6-4a441a6d1966", "name": "Test Organization" }, "scopes": ["read:basic", "read:hierarchy"], "apiUrl": "https://api-ue1.prevu3d.com/realityconnect-api" } ``` Use the `apiUrl` value as the base for all your API calls. Also note the `organization.id` — you’ll need it for many endpoints. ## Step 5: Make your first API call [Section titled “Step 5: Make your first API call”](#step-5-make-your-first-api-call) You now have everything you need: an access token and your base URL. Let’s make a simple request to retrieve your organization’s divisions: ```http GET {apiUrl}/v1/nodes/{organization_id}/browse Authorization: Bearer ``` **Example with real values:** ```http GET https://api-ue1.prevu3d.com/realityconnect-api/v1/nodes/217ebd23-ec54-4af0-a6d6-4a441a6d1966/browse HTTP/1.1 Authorization: Bearer eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9... ``` A successful response containing a list of divisions confirms that your integration is working correctly. ## Try it with Python [Section titled “Try it with Python”](#try-it-with-python) Here’s a complete script that does everything above. Replace `client_id` and `client_secret` with your credentials, then run it. ```python import requests import base64 import json client_id = "your-client-id" client_secret = "your-client-secret" base_url = "https://cloud-api.prevu3d.com" # Step 1: Get a token token_response = requests.post( f"{base_url}/oauth/token", data={"grant_type": "client_credentials"}, headers={ "Authorization": f'Basic {base64.b64encode(f"{client_id}:{client_secret}".encode()).decode()}', "Content-Type": "application/x-www-form-urlencoded", }, ) token_response.raise_for_status() access_token = token_response.json()["access_token"] # Step 2: Get your API URL and org ID api_info = requests.get( f"{base_url}/oauth/api-info", headers={"Authorization": f"Bearer {access_token}"}, ).json() api_url = api_info["apiUrl"] organization_id = api_info["organization"]["id"] # Step 3: Browse divisions divisions = requests.get( f"{api_url}/v1/nodes/{organization_id}/browse", headers={"Authorization": f"Bearer {access_token}"}, ).json() print("Divisions:", json.dumps(divisions, indent=2)) ``` ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) | If you see… | Try this… | | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **401 Unauthorized** when getting a token | Double-check your Client ID and Secret. Make sure you’re Base64-encoding `client_id:client_secret` correctly. | | **403 Forbidden** when calling the API | A request must pass all three security layers. Check that (1) your OAuth application has the right scopes, (2) the service user has content access to the target node, and (3) it has a role with the required permissions on that node. | For connection, DNS, and API URL issues, see [Getting Started — API URLs and network access](/en/realityconnect/realityconnect-api/getting-started/#api-urls-and-network-access). ## What’s next? [Section titled “What’s next?”](#whats-next) * Add logic to request a new access token when a call returns `401 Unauthorized`, rather than assuming a fixed lifetime. * Explore the [API reference](/apidocs) to see all available operations. # Native Application Flow > Step-by-step guide to the Authorization Code (native) OAuth flow: create an app, sign in with PKCE and a localhost redirect, get a token, and make your first RealityConnect API call. Use the **Native app** flow for integrations that act on behalf of a signed-in user from their own machine, such as a desktop app, CLI, or CAD plugin. It uses **Authorization Code with PKCE**, a **localhost loopback redirect**, and **no client secret**. This guide walks you through setup from OAuth application creation to your first API call. Review the [Getting Started](/en/realityconnect/realityconnect-api/getting-started/) guide first if you have not already covered prerequisites, network access, and the [security model](/en/realityconnect/realityconnect-api/getting-started/#security-model). *** ## What you’ll do [Section titled “What you’ll do”](#what-youll-do) 1. **Create an OAuth application**: Register a native app in Prevu3D and get a Client ID 2. **Configure user access**: Make sure the signing-in user can reach the data it needs 3. **Authorize with PKCE**: Send the user through the browser consent page 4. **Exchange the code for a token**: Trade the authorization code for an access token 5. **Find your API URL**: Discover your organization’s base URL (it varies by region) 6. **Make your first call**: Test the connection with a simple request ## Step 1: Create your OAuth application [Section titled “Step 1: Create your OAuth application”](#step-1-create-your-oauth-application) 1. Log in to the [Prevu3D Platform](https://cloud.prevu3d.com). 2. Go to **Settings** → **OAuth**. 3. Click to create a new application. 4. Enable **Authorization Code flow**. 5. Enable **Native Application**. The redirect URI is fixed to `http://localhost`. 6. Leave the client secret **off**. Native apps do not use one. 7. Copy and securely store your **Client ID**. You will need it for every authorization. ## Step 2: Configure user access [Section titled “Step 2: Configure user access”](#step-2-configure-user-access) The native flow calls the API **as the signed-in user**, not a service user. This covers **layers 2 and 3** of the security model: which nodes the user can see (content access), and what it can do with them (role / permission access). 1. Make sure the user who will sign in has **content access** to the nodes (organizations, divisions, sites, etc.) your use case requires. 2. Make sure the user has a **role** on those nodes with the permissions your integration needs (read, edit, manage, etc.). On the consent screen, the user also selects which **organization** to authorize. The scopes the user approves there configure **layer 1**. ## Step 3: Authorize with PKCE [Section titled “Step 3: Authorize with PKCE”](#step-3-authorize-with-pkce) Native apps cannot keep a secret, so the flow uses **PKCE** to protect the authorization code. Before opening the consent page, generate three values: | Value | How | | ---------------- | ------------------------------------------------------- | | `code_verifier` | Random string, 43 to 128 characters | | `code_challenge` | `BASE64URL(SHA256(code_verifier))` without padding | | `state` | Random string; validate it when the redirect comes back | Start a local loopback server on a free port, then open the user’s browser to the consent page. **Consent URL:** `https://cloud.prevu3d.com/oauth` **Query parameters** (all required): | Parameter | Value | | ----------------------- | ------------------------------------------------------------------------------------- | | `response_type` | `code` | | `code_challenge_method` | `S256` | | `client_id` | Your Client ID | | `redirect_uri` | Your loopback URI, e.g. `http://localhost:8765` (include the port, no trailing slash) | | `scopes` | One per scope, e.g. `scopes=read:basic&scopes=read:hierarchy` | | `code_challenge` | The PKCE challenge from above | | `state` | Your random state value | After the user signs in and clicks **Allow**, the browser redirects to your loopback URI: ```http http://localhost:8765/?code={authorization_code}&state={state} ``` If the user denies access, you receive `?error=access_denied` instead. Authorization codes expire after **60 seconds**, so exchange them right away. ## Step 4: Exchange the code for an access token [Section titled “Step 4: Exchange the code for an access token”](#step-4-exchange-the-code-for-an-access-token) **Endpoint:** `POST https://cloud-api.prevu3d.com/oauth/token` **Headers:** `Content-Type: application/x-www-form-urlencoded` **Body:** | Field | Value | | --------------- | ------------------------------------------------ | | `grant_type` | `authorization_code` | | `client_id` | Your Client ID | | `code` | Code from the redirect | | `redirect_uri` | The same URI used in Step 3 (including the port) | | `code_verifier` | The original PKCE verifier | Do not send a client secret for native apps. **Example response:** ```json { "hasError": false, "expires_in": 86400, "access_token": "eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9...", "refresh_token": "..." } ``` Save both tokens. Use the `access_token` for API calls. When it expires, request a new one with `grant_type=refresh_token` and your stored `refresh_token` (no client secret required). ## Step 5: Get your API base URL [Section titled “Step 5: Get your API base URL”](#step-5-get-your-api-base-url) Call the discovery endpoint to get the `apiUrl` for your organization. Do not hardcode a regional URL. **Endpoint:** `GET https://cloud-api.prevu3d.com/oauth/api-info` **Headers:** `Authorization: Bearer ` **Example response:** ```json { "user": { "..." : "..." }, "organization": { "id": "217ebd23-ec54-4af0-a6d6-4a441a6d1966", "name": "Test Organization" }, "scopes": ["read:basic", "read:hierarchy"], "apiUrl": "https://api-ue1.prevu3d.com/realityconnect-api" } ``` Use the `apiUrl` value as the base for all your API calls. Also note the `organization.id`, which you will need for many endpoints. ## Step 6: Make your first API call [Section titled “Step 6: Make your first API call”](#step-6-make-your-first-api-call) You now have everything you need: an access token and your base URL. Let’s make a simple request to retrieve your organization’s divisions: ```http GET {apiUrl}/v1/nodes/{organization_id}/browse Authorization: Bearer ``` **Example with real values:** ```http GET https://api-ue1.prevu3d.com/realityconnect-api/v1/nodes/217ebd23-ec54-4af0-a6d6-4a441a6d1966/browse HTTP/1.1 Authorization: Bearer eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9... ``` A successful response containing a list of divisions confirms that your integration is working correctly. ## Try it with Python [Section titled “Try it with Python”](#try-it-with-python) Here’s a complete script that does everything above. Replace `client_id` with your Client ID, then run it. It starts a temporary loopback server, opens the consent page in your browser, and prints your organization’s divisions once you approve. ```python import base64 import hashlib import json import secrets import webbrowser from http.server import BaseHTTPRequestHandler, HTTPServer from urllib.parse import parse_qs, quote, urlencode, urlparse import requests client_id = "your-client-id" base_url = "https://cloud-api.prevu3d.com" scopes = ["read:basic", "read:hierarchy"] # Step 1: Authorize with PKCE and get an access token verifier = secrets.token_urlsafe(48)[:64] challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest()).decode().rstrip("=") state = secrets.token_urlsafe(32) auth_result = {"code": None, "state": None} class Handler(BaseHTTPRequestHandler): def log_message(self, *args): pass def do_GET(self): query = parse_qs(urlparse(self.path).query) auth_result["code"] = query.get("code", [None])[0] auth_result["state"] = query.get("state", [None])[0] self.send_response(200) self.end_headers() server = HTTPServer(("localhost", 0), Handler) redirect_uri = f"http://localhost:{server.server_address[1]}" consent_params = urlencode( { "response_type": "code", "code_challenge_method": "S256", "client_id": client_id, "redirect_uri": redirect_uri, "code_challenge": challenge, "state": state, } ) consent_url = f"{base_url.replace('cloud-api.', 'cloud.', 1)}/oauth?{consent_params}" consent_url += "&" + "&".join(f"scopes={quote(scope)}" for scope in scopes) webbrowser.open(consent_url) server.handle_request() if auth_result["state"] != state: raise RuntimeError("Invalid state") if not auth_result["code"]: raise RuntimeError("Authorization failed") token_response = requests.post( f"{base_url}/oauth/token", data={ "grant_type": "authorization_code", "client_id": client_id, "code": auth_result["code"], "redirect_uri": redirect_uri, "code_verifier": verifier, }, ) token_response.raise_for_status() access_token = token_response.json()["access_token"] # Step 2: Get your API URL and org ID api_info = requests.get( f"{base_url}/oauth/api-info", headers={"Authorization": f"Bearer {access_token}"}, ).json() api_url = api_info["apiUrl"] organization_id = api_info["organization"]["id"] # Step 3: Browse divisions divisions = requests.get( f"{api_url}/v1/nodes/{organization_id}/browse", headers={"Authorization": f"Bearer {access_token}"}, ).json() print("Divisions:", json.dumps(divisions, indent=2)) ``` ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) | If you see… | Try this… | | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Invalid OAuth grant request** after clicking Allow | Confirm you are using the **Client ID of a native app** (Authorization Code and Native app enabled). A Client Credentials-only app has no redirect URI and cannot complete this flow. | | Consent page error about query parameters | Ensure `response_type=code`, `code_challenge_method=S256`, and all required params are present, including `state` and `scopes`. | | **400** or **403** on token exchange | The code may have expired (60 second limit), the `redirect_uri` may not match Step 3, or the PKCE verifier and challenge may not match. | | **403 Forbidden** when calling the API | A request must pass all three security layers. Check the OAuth scopes, the signed-in user’s content access, and the user’s role on the target node. | | Wrong organization in API responses | The user selects the organization on the consent screen. Re-authorize and pick the correct one. | For connection, DNS, and API URL issues, see [Getting Started](/en/realityconnect/realityconnect-api/getting-started/#api-urls-and-network-access). ## What’s next? [Section titled “What’s next?”](#whats-next) * Add logic to refresh your token before it expires using `grant_type=refresh_token` with your stored refresh token. * Explore the [API reference](/apidocs) to see all available operations. # OAuth Scopes Reference > Every OAuth scope the RealityConnect API grants, what it authorizes, and the gotchas that trip up new integrations. OAuth scopes are **layer 1** of the [security model](/en/realityconnect/realityconnect-api/getting-started/#security-model): they define which families of operations your OAuth application is allowed to perform. This page lists every scope and what it grants. *** ## Scopes [Section titled “Scopes”](#scopes) | Scope | Grants | | ----------------------- | -------------------------------------------------------------------------------------------------------------------- | | `read:basic` | Read basic profile, organization, and API discovery info. Required for `GET /oauth/api-info`; see the callout below. | | `read:hierarchy` | Read data nodes and site hierarchy. | | `write:hierarchy` | Rename, move, or delete data nodes. | | `read:bundle` | Read data bundles, their processing status, and input files. | | `write:bundle` | Create data bundles and manage their uploads and processing. | | `read:poi` | Read points of interest (POIs). | | `write:poi` | Create, update, or delete points of interest (POIs). | | `read:zone` | Read zones. | | `write:zone` | Create, update, or delete zones. | | `read:asset` | Read RealityAssets and asset types. | | `write:asset` | Create, update, or delete RealityAssets and their metadata. | | `search:objects` | Search business objects (assets, POIs, zones) in a twin. | | `read:twin` | Read twin and reality plan spaces, bundles, and layouts. | | `write:twin` | Create or update twin drafts. | | `download:sitefile` | Get a signed download URL for a site file. | | `write:sitefile` | Create and upload site files. | | `download:scan` | Reserved; does not currently gate any endpoint. | | `read:assetlibrary` | Read asset library models and tags. | | `write:assetlibrary` | Create, update, or delete asset library models and tags. | | `download:assetlibrary` | Get signed download links or thumbnails for an asset library model. | | `read:assetsettings` | Read asset settings. | | `write:assetsettings` | Reserved; does not currently gate any endpoint. | | `read:user` | Read users. | | `write:user` | Create, update, or delete users. | | `read:invitation` | Read invitations. | | `write:invitation` | Create invitations. | Tip **Almost every integration needs `read:basic`, even if it never calls an operation that lists it.** `GET /oauth/api-info` (the call nearly every guide on this site uses to resolve your regional API URL and organization ID) requires `read:basic`. Grant it by default; an application without it 403s on the very first call after getting a token. ## What’s next? [Section titled “What’s next?”](#whats-next) * Explore the [API reference](/apidocs) for the exact scope each operation requires. # Rate Limits > RealityConnect API rate limit buckets, response headers, and how to handle 429 Too Many Requests. The RealityConnect API rate-limits requests per organization using a token bucket per route family. This page covers the buckets, the headers every rate-limited response carries, and what to do on `429 Too Many Requests`. *** ## Buckets [Section titled “Buckets”](#buckets) Each bucket has a **capacity** (maximum tokens, i.e. burst size) and a **refill rate** (tokens added per second, i.e. sustained throughput). A request consumes one token; when the bucket is empty, the request is rejected with `429`. | Bucket | Capacity | Refill rate | Covers | | ----------- | -------- | ----------- | ------------------------------------------------------------------------------------- | | `assets` | 1000 | 10/s | RealityAssets, asset types, asset categories, business object create/read/list/delete | | `twin` | 1000 | 10/s | Twin space, POIs, zones, drafts | | `platform` | 1000 | 10/s | Site, data node, data bundle, plugins | | `plan` | 1000 | 10/s | Reality plan space, model assets | | `library` | 1000 | 10/s | Asset library models and tags | | `embed` | 100 | 2/s | Embed session issuance | | `users` | 1000 | 10/s | Users, groups, roles, invitations | | `sitefiles` | 1000 | 10/s | Site files | Rate limiting is per organization: all OAuth applications and users acting on behalf of the same organization share one bucket per family. ## Response headers [Section titled “Response headers”](#response-headers) Every rate-limited response, successful or not, carries these headers: | Header | Meaning | | ----------------------- | ---------------------------------------------------------------------------- | | `X-RateLimit-Limit` | The bucket’s capacity | | `X-RateLimit-Remaining` | Tokens left in the bucket | | `X-RateLimit-Reset` | Seconds until the bucket is full again | | `X-RateLimit-Policy` | `{capacity};w={window}`, where `window` (seconds) is `capacity / refillRate` | On `429 Too Many Requests` only, the response also carries `Retry-After` (seconds until at least one token is available) and this body: ```json { "statusCode": 429, "message": "Too Many Requests", "error": "rate_limited" } ``` ## Handling 429 [Section titled “Handling 429”](#handling-429) Back off using `Retry-After` rather than a fixed delay or immediate retry: retrying immediately against an empty bucket only produces another `429`. For sustained high-volume workloads, pace requests to stay under the bucket’s refill rate rather than bursting to capacity and waiting out the reset. ## What’s next? [Section titled “What’s next?”](#whats-next) * See the [API reference](/apidocs) for the exact operations under each bucket. # Searching Business Objects and Nodes > Search inside a twin's business objects and metadata, or search your organization's node hierarchy, through the RealityConnect API. The RealityConnect API exposes two search routes with different scopes: business object search looks **inside a twin** for POIs, zones, assets, and their metadata, while node search looks across your **organization’s node hierarchy** (divisions, sites, folders, twins, asset libraries, and data files). Both routes are experimental and may change. *** ## Endpoints [Section titled “Endpoints”](#endpoints) | Method | Path | Scope | Purpose | | ------ | ----------------------------- | ---------------- | -------------------------------------------------- | | `GET` | `/v1/twin/{contextId}/search` | `search:objects` | Search business objects and metadata inside a twin | | `GET` | `/v1/nodes/search` | `ReadHierarchy` | Search the organization’s node hierarchy | ## Searching business objects [Section titled “Searching business objects”](#searching-business-objects) `GET /v1/twin/{contextId}/search` searches POIs, zones, box assets, measures, and other business objects inside a single twin (or one of its sites/drafts, identified by `contextId`), matching on name and other filterable fields, asset metadata, and object-specific properties. ### Query parameters [Section titled “Query parameters”](#query-parameters) | Parameter | Type | Notes | | -------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `query` | string | Free-text, fuzzy-matched against name and metadata. Narrows results only when used alone. Combined with any other filter, it affects ranking and highlighting but does not exclude non-matches. See [Combining filters](#combining-filters). | | `fieldFilters` | array of JSON objects | Reserved-key filters. See below. | | `metadataFilters` | array of JSON objects | Match twin asset-metadata properties. See below. | | `additionalPropertyFilters` | array of JSON objects | Match object-type-specific properties (e.g. a POI’s `icon`). See below. | | `page` | integer | Positive, default `1`. | | `limit` | integer | `1`–`50`, default `50`. | | `searchNameQuery` | string | Dedicated name filter, independent of `query`/`fieldFilters` name. | | `nameMatch` | `exact` \| `contains` | Match mode for `searchNameQuery`. Default `contains`. | | `createdById` | uuid | Filter by creator. | | `createdBefore` / `createdAfter` | timestamp | Strictly before/after. Format `YYYY-MM-DDTHH:mm:ss` (no timezone offset, no milliseconds). | | `updatedBefore` / `updatedAfter` | timestamp | Same format. | | `sortBy` | `name` \| `createdAt` \| `updatedAt` | Sort field. | | `sortDir` | `ASC` \| `DESC` | Sort direction. | ### Filters [Section titled “Filters”](#filters) `fieldFilters`, `metadataFilters`, and `additionalPropertyFilters` are each sent as one JSON object string per filter, repeated as a query parameter for multiple filters: ```plaintext ?fieldFilters={"key":"type","values":["poi"]}&fieldFilters={"key":"type","values":["zone"]} ``` Each filter object has the shape `{ "key": string, "values": string[] }`. Multiple values in one filter’s `values` array are OR’d. **`fieldFilters`** only accepts these reserved keys. Any other key is silently ignored: | Key | Matches | | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `type` | Business object type. Accepts either the enum value (`Poi`, `Zone`, `BoxAsset`, `CubePrimitive`, `PlanePrimitive`, `DistanceMeasure`, `CoordinateMeasure`, `DiameterMeasure`, `SurfaceMeasure`, `OrthogonalMeasure`, `Cut`, `ModelAsset`) or its normalized kebab-case token: a hyphenated, lowercased version of the PascalCase name, e.g. `BoxAsset` → `box-asset`. | | `asset-type` | The object’s asset type (maps to `assetTypeId`). Exact match. | | `name` | Per-word match, not a phrase-anchored prefix. The value’s words are OR’d, so a match on any single word is enough. A non-last word must match a whole word in the name exactly to count; the last word matches as a prefix instead. `{"key":"name","values":["Bulk POI 01"]}` matches any name containing “Bulk”, or “POI”, or a word starting with “01”, not only names starting with that exact phrase. A single distinctive word gives the most precise filter. | | `id` | Exact object id match. | `fieldFilters` values are always plain strings or enum tokens; the numeric/range syntax below does not apply to them. **`metadataFilters` and `additionalPropertyFilters`** address a schema-defined metadata property (`metadataFilters`) or an object-type-specific property not part of common metadata (`additionalPropertyFilters`, e.g. a POI’s `icon`) by key. The key is `
.`, using the exact casing and spacing defined in the twin’s metadata schema. There is no normalization, so a section named `General` with a property `Grid column` is addressed as `General.Grid column`, not `general.gridcolumn`. The `inspection.pressure`-style keys used in examples on this page are illustrative; your twin’s real keys depend entirely on how its metadata schema was authored. Each metadata or object property is indexed as a string, a number, or a boolean, based on its value’s type, and the `values` syntax you must use depends on which one it is: | Value syntax | Meaning | | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plain string | Exact match, **string-typed properties only**. A numeric-typed property will not match a plain string; use a numeric comparison instead (see [Numeric and range filters](#numeric-and-range-filters) below). Multiple plain strings in `values` are OR’d. | | `*` or empty string | Skipped. If it’s the only value, the filter matches on key presence alone. | | Comparison or range syntax (`=123`, `range:[1..10]`, etc.) | **Numeric-typed properties only**. See [Numeric and range filters](#numeric-and-range-filters) below. | | `true` / `false` | `additionalPropertyFilters` only. Matches a boolean property literally. `metadataFilters` has no syntax that matches a boolean-typed metadata property. | ### Combining filters [Section titled “Combining filters”](#combining-filters) `fieldFilters`, `metadataFilters`, and `additionalPropertyFilters` combine with **AND** semantics: a result must satisfy every filter. Within a single filter, the values in its `values` array are **OR’d**, so two `fieldFilters` objects that share the same `key` behave as “either value matches,” while filters on different keys (or different filter arrays) all narrow the result set further. `query` is the exception: it only narrows results when it’s the **only** input. Combined with any `fieldFilters`, `metadataFilters`, or `additionalPropertyFilters`, `query` stops filtering. Every object matching the other filters is returned, with `query`-matching ones flagged via `matchedFields` and ranked ahead of the rest, but non-matching objects are not excluded. To combine a hard-filtered name search with other filters, use `fieldFilters` with `key: "name"` (per-word match, not phrase-anchored, see [Name filter vs. name query](#name-filter-vs-name-query) below) or `searchNameQuery` (exact or contains match, the most literal option) instead. There is currently no way to combine a hard-filtered free-text search across metadata with other filters. `query` is the only parameter that searches metadata values without requiring you to know the exact key first, and it does not filter when combined with anything else. `metadataFilters` also searches metadata, but only under a key you specify. Type filter combined with a numeric metadata range (POIs with a recorded inspection pressure between 80 and 120): ```http GET {api_url}/v1/twin/{contextId}/search ?fieldFilters={"key":"type","values":["poi"]} &metadataFilters={"key":"inspection.pressure","values":["range:[80..120]"]} ``` Asset type combined with a name filter, newest updates first: ```http GET {api_url}/v1/twin/{contextId}/search ?fieldFilters={"key":"asset-type","values":["pump"]} &fieldFilters={"key":"name","values":["vibration"]} &sortBy=updatedAt&sortDir=DESC ``` This means: objects whose asset type is `pump` *and* whose name contains a word starting with “vibration” (anywhere in the name, not only at the start), sorted by most recently updated. Two `fieldFilters` on the same key (OR’d) combined with a `fieldFilters` on a different key (AND’d): POIs or zones, restricted to the `pump` asset type: ```http GET {api_url}/v1/twin/{contextId}/search ?fieldFilters={"key":"type","values":["poi","zone"]} &fieldFilters={"key":"asset-type","values":["pump"]} ``` A `fieldFilters` type restriction combined with an `additionalPropertyFilters` match and a `metadataFilters` match: POIs with the `fire-extinguisher` icon whose inspection status records a “warning”: ```http GET {api_url}/v1/twin/{contextId}/search ?fieldFilters={"key":"type","values":["poi"]} &additionalPropertyFilters={"key":"icon","values":["fire-extinguisher"]} &metadataFilters={"key":"inspection.status","values":["warning"]} ``` A fully loaded request combining all four filter inputs, a dedicated name filter, a date range, pagination, and sort. This shows the full request shape: ```http GET {api_url}/v1/twin/{contextId}/search ?query=pressure &fieldFilters={"key":"type","values":["poi","zone"]} &metadataFilters={"key":"inspection.pressure","values":["range:[80..120]"]} &additionalPropertyFilters={"key":"icon","values":["fire-extinguisher"]} &searchNameQuery=Pump&nameMatch=contains &updatedAfter=2026-01-01T00:00:00&updatedBefore=2026-12-31T23:59:59 &page=1&limit=25&sortBy=updatedAt&sortDir=DESC ``` ### Sorting [Section titled “Sorting”](#sorting) | `sortBy` | Sorts by | | ----------- | ---------------------- | | `name` | Object name | | `createdAt` | Creation timestamp | | `updatedAt` | Last-updated timestamp | Each `sortBy` value combines with either `sortDir` value: ```http GET {api_url}/v1/twin/{contextId}/search ?fieldFilters={"key":"type","values":["poi"]} &sortBy=name&sortDir=ASC ``` ```http GET {api_url}/v1/twin/{contextId}/search ?fieldFilters={"key":"type","values":["poi"]} &sortBy=createdAt&sortDir=DESC ``` ```http GET {api_url}/v1/twin/{contextId}/search ?fieldFilters={"key":"type","values":["poi"]} &sortBy=updatedAt&sortDir=DESC ``` `sortDir` defaults to `ASC` when omitted. `sortBy` has no documented default field. Omitting it sorts by internal relevance score (descending), with `id` (ascending) as a tie-breaker. Only `query` and `fieldFilters` with `key: "name"` affect that score; every other filter is a pure yes/no match with no effect on ranking, so in practice, omitting `sortBy` without `query` or a `name` filter returns results in `id` order. This is an implementation detail, not a guaranteed contract. Set `sortBy` explicitly whenever a specific field order matters to your integration. ### Numeric and range filters [Section titled “Numeric and range filters”](#numeric-and-range-filters) The full comparison and range syntax for `metadataFilters` and `additionalPropertyFilters` values on numeric-typed properties: | Operator | Example | Meaning | | -------------- | ----------------- | -------------------------------- | | `=` | `=123` | Equal to | | `!=` | `!=123` | Not equal to | | `>` | `>123` | Greater than | | `>=` | `>=123` | Greater than or equal to | | `<` | `<123` | Less than | | `<=` | `<=123` | Less than or equal to | | `range:[a..b]` | `range:[80..120]` | Inclusive on both bounds | | `range:(a..b)` | `range:(80..120)` | Exclusive on both bounds | | `range:[a..b)` | `range:[80..120)` | Inclusive lower, exclusive upper | | `range:(a..b]` | `range:(80..120]` | Exclusive lower, inclusive upper | Integers, decimals, negative numbers, and scientific notation are all supported, e.g. `>=-40`, `=3.14`, or `range:[1.5e+35..2.0e+35]`. ### Name filter vs. name query [Section titled “Name filter vs. name query”](#name-filter-vs-name-query) There are three distinct ways to match by name or text, and they behave differently: | Parameter | Match style | Scope | Combines with other filters? | | --------------------------------- | ----------------------------------------------------------- | ----------------------------------- | ---------------------------------------- | | `query` | Fuzzy (typo-tolerant) + per-word prefix match | Name **and** metadata string values | No, only narrows results when used alone | | `fieldFilters={"key":"name",...}` | Per-word OR match, last word as prefix, not phrase-anchored | Name only | Yes, always ANDs | | `searchNameQuery` + `nameMatch` | `contains` (default) or `exact`, no fuzziness | Name only | Yes, always ANDs | Use `query` for a standalone free-text search that should also surface metadata hits. It only narrows results on its own; add any other filter and `query` stops excluding non-matches (see [Combining filters](#combining-filters) above). Use `fieldFilters` with `key: "name"` when a per-word match that combines under the same AND/OR rules as `type` or `asset-type` is good enough. Use a single, distinctive word for the most precise result, since a multi-word value ORs each word independently rather than matching the phrase. Use `searchNameQuery` with `nameMatch` when you need a precise substring or exact-name lookup with no fuzzy tolerance and no per-word looseness, for example to validate that a name exists verbatim. ### Response [Section titled “Response”](#response) ```json { "results": [ { "id": "5e1c0b3a-2d9a-4b7d-8f0b-9a2c8f1b7a10", "name": "Fire extinguisher 12", "type": "Poi", "matchedFields": [ { "matchKey": "name", "highlight": "Fire extinguisher 12" } ], "createdAt": "2026-06-01T10:00:00.000Z", "updatedAt": "2026-06-01T10:00:00.000Z", "createdById": "8f0b9a2c-8f1b-4a10-9e1c-0b3a2d9a4b7d" } ], "count": 1 } ``` `matchedFields` shows which field or metadata property matched, with the matched text wrapped in ``. `matchKey` is either a root field name (e.g. `name`) or `@` for a matched nested metadata or property value. #### Highlighting details [Section titled “Highlighting details”](#highlighting-details) A single result can carry multiple `matchedFields` entries, one per field or metadata property that matched the query. For example, a combined `query` + `metadataFilters` request that matches both the object’s name and an inspection metadata value returns: ```json { "id": "5e1c0b3a-2d9a-4b7d-8f0b-9a2c8f1b7a10", "name": "Pressure gauge 04", "type": "Poi", "matchedFields": [ { "matchKey": "name", "highlight": "Pressure gauge 04" }, { "matchKey": "@inspection.status", "highlight": "Warning: recalibration due" } ], "createdAt": "2026-06-01T10:00:00.000Z", "updatedAt": "2026-06-01T10:00:00.000Z", "createdById": "8f0b9a2c-8f1b-4a10-9e1c-0b3a2d9a4b7d" } ``` Highlight fragments are HTML-escaped before the `` markers are inserted, so any `<`, `>`, or `&` in the matched text arrives as `<`, `>`, or `&` rather than raw markup. This is safe to render directly in HTML without a second escaping pass, but decode it first if you need the plain-text value. ### Edge cases [Section titled “Edge cases”](#edge-cases) | Situation | Behavior | | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | No `query` and no filter arrays (or all empty) | Returns every business object in the twin, up to `limit`, with no ranking (`match_all`). | | An unrecognized `fieldFilters` key | Silently ignored. The filter contributes nothing to the query and does not raise a `400`. | | A `metadataFilters`/`additionalPropertyFilters` value of `*` or `""` | Skipped. If every value in that filter’s `values` array is skipped this way, the filter still requires the object to have a property at that key. It becomes a key-presence check with no value constraint. | ### Examples [Section titled “Examples”](#examples) Free-text search across name and metadata. Only narrows results when used alone (see [Combining filters](#combining-filters)): ```http GET {api_url}/v1/twin/{contextId}/search ?query=extinguisher ``` Name word-prefix search. Matches any name containing a word starting with “extinguisher” (e.g. “Fire Extinguisher 12”), not only names starting with it: ```http GET {api_url}/v1/twin/{contextId}/search ?fieldFilters={"key":"name","values":["extinguisher"]} ``` Name-contains search sorted by name: ```http GET {api_url}/v1/twin/{contextId}/search ?searchNameQuery=Pump&nameMatch=contains&sortBy=name&sortDir=ASC ``` ### Error cases [Section titled “Error cases”](#error-cases) | Status | Cause | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | | `400 Bad Request` | A `fieldFilters`, `metadataFilters`, or `additionalPropertyFilters` value is not valid JSON, or does not match the `{ key, values }` shape. | | `400 Bad Request` | `limit` is less than `1` or greater than `50`, or `page` is less than `1`. | | `400 Bad Request` | `nameMatch`, `sortBy`, or `sortDir` is set to a value outside its documented list. | | `400 Bad Request` | `createdBefore`, `createdAfter`, `updatedBefore`, or `updatedAfter` doesn’t match the `YYYY-MM-DDTHH:mm:ss` format. | | `400 Bad Request` | `createdById` is not a valid UUID. | ### Full example [Section titled “Full example”](#full-example) Repeated filter parameters (multiple `fieldFilters`, `metadataFilters`, or `additionalPropertyFilters` with different JSON values) can’t be built with `requests`’ dict-based `params`, since a dict can only hold one value per key. Build the query string yourself with `urllib.parse.urlencode` and a list of tuples instead: ```python import json import requests from urllib.parse import urlencode API_URL = "https://" TOKEN = "" CONTEXT_ID = "" headers = {"Authorization": f"Bearer {TOKEN}"} params = [ ("fieldFilters", json.dumps({"key": "type", "values": ["poi"]})), ("metadataFilters", json.dumps({"key": "inspection.pressure", "values": ["range:[80..120]"]})), ("sortBy", "name"), ("sortDir", "ASC"), ] response = requests.get( f"{API_URL}/v1/twin/{CONTEXT_ID}/search?{urlencode(params)}", headers=headers, ).json() for result in response["results"]: print(result["type"], result["name"], result["id"]) ``` ## Searching nodes [Section titled “Searching nodes”](#searching-nodes) `GET /v1/nodes/search` searches your organization’s node hierarchy (divisions, sites, folders, twins, asset libraries, and data files) rather than the business objects inside a twin. The organization is resolved from the access token, not passed as a parameter. ### Query parameters [Section titled “Query parameters”](#query-parameters-1) | Parameter | Type | Notes | | --------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `nodeTypes` | array of `DataNodeType` | Filter to one or more node types. Repeat the parameter, e.g. `?nodeTypes=Site&nodeTypes=Folder`. Values: `Organization`, `Site`, `Pointcloud`, `Mesh`, `SiteFile`, `Folder`, `Project`, `Division`, `Artifact`, `DataBundle`, `Twin`, `AssetLibrary`. | | `excludeNodeTypes` | array of `DataNodeType` | Exclude one or more node types. Same repeat syntax. | | `searchNameQuery` | string | Filter by node name. | | `nameMatch` | `exact` \| `contains` | Match mode for `searchNameQuery`. Default `contains`. | | `parentId` | uuid | Direct children of this node only. | | `ancestorId` | uuid | Descendants at any depth, excluding the ancestor itself. Use this for nested content under a site or folder; use `parentId` for direct children only. | | `createdById` | uuid | Filter by creator. | | `createdBefore` / `createdAfter` | timestamp | Strictly before/after. Format `YYYY-MM-DDTHH:mm:ss`. | | `updatedBefore` / `updatedAfter` | timestamp | Same format. | | `bytesStored` | integer | Exact match. | | `minBytesStored` / `maxBytesStored` | integer | Inclusive bounds. | | `childrenCount` | integer | Exact match. | | `minChildrenCount` / `maxChildrenCount` | integer | Inclusive bounds. | | `includesThumbnail` | `true` \| `false` | Include signed thumbnail URLs where available. Default `false`. | | `page` | integer | Default `1`. | | `limit` | integer | `1`–`50`, default `20`. | | `sortBy` | `name` \| `createdAt` \| `updatedAt` \| `bytesStored` \| `childrenCount` | Sort field. | | `sortDir` | `ASC` \| `DESC` | Sort direction. Default `ASC`. | ### Response [Section titled “Response”](#response-1) ```json { "items": [ { "id": "a6f75b3c-f261-4b27-9a2a-9a6cc1234c53", "createdAt": "2026-06-01T10:00:00.000Z", "updatedAt": "2026-06-01T10:00:00.000Z", "name": "Building A", "type": "Site", "createdById": "8f0b9a2c-8f1b-4a10-9e1c-0b3a2d9a4b7d", "parentId": "d2a1c4b7-3e10-4f2c-9a6b-7c1d8e2f3a45", "childrenCount": 4, "bytesStored": 15728640, "thumbnailSignedUrl": null } ], "total": 1 } ``` ### Examples [Section titled “Examples”](#examples-1) All sites under an ancestor node: ```http GET {api_url}/v1/nodes/search ?nodeTypes=Site&ancestorId=d2a1c4b7-3e10-4f2c-9a6b-7c1d8e2f3a45 ``` Folders whose name contains “Archive”, sorted by name: ```http GET {api_url}/v1/nodes/search ?nodeTypes=Folder&searchNameQuery=Archive&nameMatch=contains&sortBy=name&sortDir=ASC ``` ```python import requests from urllib.parse import urlencode API_URL = "https://" TOKEN = "" ANCESTOR_ID = "" headers = {"Authorization": f"Bearer {TOKEN}"} params = [ ("nodeTypes", "Site"), ("ancestorId", ANCESTOR_ID), ("sortBy", "name"), ("sortDir", "ASC"), ] response = requests.get( f"{API_URL}/v1/nodes/search?{urlencode(params)}", headers=headers, ).json() for node in response["items"]: print(node["type"], node["name"], node["id"]) ``` # Embed Sessions > Call the RealityConnect API embed session endpoints, read every field of the response, and build the iframe URL the RealityConnect Embed SDK expects. An embed session is the short-lived grant that lets a RealityTwin render inside your page. Your backend creates one through the RealityConnect API, forwards the browser-safe values to your front-end, and your front-end hands them to the SDK. This page is the reference for those two endpoints, for every field they return, and for the one value you have to assemble yourself: the iframe URL. *** ## The two session endpoints [Section titled “The two session endpoints”](#the-two-session-endpoints) Both operations live on the twin context and are published in the [interactive API reference](/apidocs), flagged experimental. | Method | Path | Body | | ------ | ----------------------------------------------------- | ---------------------------------------------- | | `GET` | `{api_url}/v1/twin/{contextId}/embed/create-session` | None | | `POST` | `{api_url}/v1/twin/{contextId}/embed/refresh-session` | `{ "refreshToken": "" }` | `{api_url}` is your regional API base, which already ends in `/realityconnect-api`. A complete call therefore looks like: ```http GET https://api-ue1.prevu3d.com/realityconnect-api/v1/twin/{contextId}/embed/create-session Authorization: Bearer {access_token} ``` `{contextId}` is the id of the twin you want to embed. RealityPlan is not supported here. Caution Create and refresh sessions from **your own backend**. Your OAuth client secret and the refresh token must never reach the browser. ## Required scopes [Section titled “Required scopes”](#required-scopes) Both operations require **two** scopes on the same access token: | Scope | Why | | ------------ | --------------------------------- | | `read:twin` | Read the twin the session targets | | `embed:twin` | Mint an embed session for it | A token holding only one of the two receives `403 Forbidden` with `Insufficient OAuth scopes`. Add both to your OAuth application before you start; see the [Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/) guide. Embed sessions also use a dedicated, tighter rate-limit budget than the rest of the API, so create a session per viewing session rather than per page render. ## The create-session response [Section titled “The create-session response”](#the-create-session-response) ```json { "iframeUrl": "https://embed.prevu3d.com/reality-twin", "token": "eyJhbGciOiJFUzUxMi...", "refreshToken": "ZXhhbXBsZS1yZWZyZXNoLXRva2Vu", "expiresAt": "2026-09-04T13:55:00.000Z", "apiUrl": "https://api-ue1.prevu3d.com/reality-twin" } ``` | Field | What it is | SDK config | | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | | `iframeUrl` | The **base** URL of the embed viewer. Complete it before use — see [Building the iframe URL](#building-the-iframe-url). | `iframeUrl`, after you append the embed route | | `token` | The signed session JWT. The SDK requires it; the embedded twin authenticates with it. | `platformJWT` | | `refreshToken` | Base64 secret paired with this session. Keep it on your backend. | — | | `expiresAt` | ISO 8601 timestamp to refresh the session by — a few minutes before `token` itself stops being accepted. | — | | `apiUrl` | The regional RealityTwin backend the embedded twin talks to (`…/reality-twin`). **Not** the `{api_url}` you called above — the session endpoints do not live on it. | `backendUrl` | `refresh-session` returns the same shape without `iframeUrl` and `apiUrl`. You only need those two once: `iframeUrl` is constant for the environment, and `apiUrl` is constant for your organization’s region. Note `expiresAt` is a deliberately conservative estimate computed when the response is built, and it lands a few minutes before the token’s own expiry. Treat it as the moment to refresh, not as the exact instant the token stops working. ## Building the iframe URL [Section titled “Building the iframe URL”](#building-the-iframe-url) `iframeUrl` is a **base URL**, not a finished `src`. It is the same constant for every twin within an environment — in production, `https://embed.prevu3d.com/reality-twin`. Append the embed route to it: ```js const src = `${session.iframeUrl}/embed`; // https://embed.prevu3d.com/reality-twin/embed ``` The twin id is not needed in the URL — the session token already identifies the twin, and the viewer reads it from there. Join the two with exactly one slash: `iframeUrl` has no trailing slash, so `` `${iframeUrl}/embed` `` is correct. Hand the completed URL to the SDK: ```ts RealityConnectEmbed.init({ iframeUrl: `${session.iframeUrl}/embed`, backendUrl: session.apiUrl, platformJWT: session.token, elementId: 'twin-container', }); ``` Caution Passing `iframeUrl` through unchanged does not load the twin viewer at all. The value has no trailing slash, and on the embed host that exact path is served by a different application — only paths **below** it reach the viewer. The SDK’s handshake then has nothing to talk to, so `onReady` never fires and the SDK reports `TWIN_TIMEOUT` once its ready timeout elapses. ## The token is never in the URL [Section titled “The token is never in the URL”](#the-token-is-never-in-the-url) The session JWT travels to the iframe over the SDK’s `INIT_CONFIG` `postMessage` handshake, as the `platformJWT` config value. Do not append it to the iframe URL as a query parameter — the embedded twin does not read one, and putting a live credential in a URL exposes it to browser history, referrer headers and server logs. For the same reason, the embed page expects to run inside the SDK’s iframe. Pasting a completed URL into a browser tab on its own will not load a twin, because nothing is there to hand it the token and the backend URL. ## Keeping the session alive [Section titled “Keeping the session alive”](#keeping-the-session-alive) Sessions are short-lived. Before `expiresAt`, call `refresh-session` from your backend with the stored `refreshToken`, persist the new one, and pass the new `token` to the running SDK with `twin.updateAccessToken(newAccessToken)` — the iframe does not need to be recreated. See [Step 4 of Getting Started](/en/realityconnect/realityconnect-embed/getting-started/#step-4-keep-the-session-alive) for the full pattern. ## Next steps [Section titled “Next steps”](#next-steps) * **[Getting Started](/en/realityconnect/realityconnect-embed/getting-started/)** — the end-to-end integration this reference supports. * **[Client Credentials Flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/)** — how to obtain the access token these calls need. * **[Interactive API reference](/apidocs)** — the published schema for both operations. # Introduction > Embed a live, interactive RealityTwin 3D viewer directly inside your own web application with the RealityConnect Embed JavaScript SDK. **RealityConnect Embed** lets you place a live, interactive RealityTwin viewer directly inside your own web application. The twin renders in an iframe, and a lightweight JavaScript SDK ([`@prevu3d/realityconnect-embed`](/en/realityconnect/realityconnect-embed/getting-started/)) gives your page programmatic control over it — so your users get immersive 3D context without ever leaving the tools they already use. Tip A working Vue.js integration is available at **[rcembed-example.prevu3d.io](https://rcembed-example.prevu3d.io)**. The full source is on GitHub at [prevu3d/realityconnect-embed-example](https://github.com/prevu3d/realityconnect-embed-example) — a good starting point if you’d rather copy a working setup than build one from scratch. *** ## How the embed is organized [Section titled “How the embed is organized”](#how-the-embed-is-organized) A few design choices are worth knowing before you start building: * **A bare viewer your page controls.** The embedded twin is a 3D viewer with no built-in interface — no header, sidebar, menus, or toolbars. Your application owns all of the surrounding chrome and drives the twin through the SDK. * **Authorized through the RealityConnect API.** Every embed session is authorized using your organization’s OAuth credentials — there is no anonymous embedding. Your backend requests a short-lived embed session for a given twin, and receives a signed session token alongside the base URL of the embed viewer. * **The SDK loads and instruments the viewer.** Your page completes that base URL with the embed route, hands it to the SDK, and the SDK injects the iframe and establishes a secure two-way channel with the twin. * **Your page drives the twin.** Once the viewer reports ready, SDK commands become available to control the twin (navigation, points of interest, teleporting to an object, capturing a shareable view) and subscribe to live state from the embedded scene. * **It is the visual layer of RealityConnect.** The [RealityConnect API](/en/realityconnect/realityconnect-api/introduction/) connects your systems and authorizes access, while RealityConnect Embed renders the twin and exposes it to your front-end code. ## How the pieces fit together [Section titled “How the pieces fit together”](#how-the-pieces-fit-together) Three components collaborate to make an embed session work: 1. **Your backend** authenticates against the RealityConnect API with the [Client Credentials flow](/en/realityconnect/realityconnect-api/oauth-flows/client-credentials-flow/), then asks the API to create a short-lived embed session for a specific twin. This is the only place where your OAuth client secret lives. 2. **Your front-end** receives the session values from your backend and hands them to the SDK. The SDK injects an iframe pointing at the embed URL your page assembled, then opens a secure `postMessage` channel and passes the session token over it. 3. **The embedded twin** renders the 3D scene, executes commands sent from your page, and streams live state back (selected object, current camera mode, encoded views, and more). ## What the embed exposes [Section titled “What the embed exposes”](#what-the-embed-exposes) The SDK gives your page a typed API to drive the scene (camera navigation, points of interest, object teleport, view sharing, screenshots) and to subscribe to live state coming back from the twin. The complete surface — namespaces, actions, observables, and error codes — is documented in the [SDK README](https://github.com/prevu3d/realityconnect-embed). The table below summarizes what the embed does and doesn’t cover today. New capabilities are added regularly, so treat this as a snapshot. | Capability | In the embed? | Notes | | -------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------- | | 3D scene rendering | Yes | The full RealityTwin viewing experience. | | Camera navigation modes | Yes | Perspective, orthographic, photosphere, third-person. | | Points of Interest (view, create, edit) | Yes | Point-of-interest creation, editing, and placement. | | Object selection and “teleport to” | Yes | Move the camera to a specific business object. | | Shareable view links | Yes | Encode the current camera as a compact string, then restore it later on any page load. | | Screenshots | Yes | Capture the current view as PNG bytes. | | Live state subscriptions | Yes | Observe selection, hover, camera mode, POI tool state, and more. | | Built-in twin UI (menus, panels, modals) | No | Your host page provides all interface elements. | | Editing features (drafts, measures, zones, RealityPlan Projects, CAD inspection) | No | These remain in the full RealityTwin application. | Note RealityConnect Embed is available on **Enterprise** plans and is enabled per organization from your **Security** settings. If you don’t see it, reach out to your account manager or customer success contact. ## Common use cases [Section titled “Common use cases”](#common-use-cases) * Asset-management and inspection platforms that want 3D context alongside their records * Virtual tours and eLearning experiences * Any web product that benefits from an embedded, navigable digital twin ## Next steps [Section titled “Next steps”](#next-steps) * **[Getting Started](/en/realityconnect/realityconnect-embed/getting-started/)** — authenticate, install the SDK, and load your first embedded twin. * **[RealityConnect API](/en/realityconnect/realityconnect-api/introduction/)** — the authentication and data layer behind the embed. * **[Live example](https://rcembed-example.prevu3d.io)** — a working Vue.js integration you can inspect end to end. * **[`@prevu3d/realityconnect-embed`](https://github.com/prevu3d/realityconnect-embed)** - Sources repository # How to Use the Inventor Plugin > Connect Prevu3D to Inventor using RealityConnect. Learn how to enable the connection, sync scans, and use clip scan features. Caution This plugin is no longer actively maintained and is no longer available for download. A brand-new, revamped version is actively in development. In the meantime, contact our support team to have it re-enabled for your account. ## **Enable the connection between Prevu3D and Inventor** [Section titled “Enable the connection between Prevu3D and Inventor”](#enable-the-connection-between-prevu3d-and-inventor) From the top bar, go to **RealityConnect -> Server Settings** and **Start** the connection. To disconnect, you can repeat the action. ## Features [Section titled “Features”](#features) The plugin features will be available on the tool bar in the tab named Prevu3D. ![RealityConnect Inventor plugin actions](/_astro/realityconnect-features.ihjpJzE1_ZvX9Kb.webp) ### Sync Scan [Section titled “Sync Scan”](#sync-scan) ![RealityConnect Sync scan](/_astro/realityconnect-sync-scan.Cc4rzQ9r_ZeN3pM.webp) ### Clip Scan [Section titled “Clip Scan”](#clip-scan) You can use the Inventor clipping tool to create a clip and then use the Clip scan feature to upload the clipped scene. The upload can be done as a mesh or as a point cloud and the LOD can be chosen on a scale 1-10. # Installation > Download and install the RealityConnect for Inventor plugin. Supported versions: 2022, 2023, 2024. Caution This plugin is no longer actively maintained and is no longer available for download. A brand-new, revamped version is actively in development. In the meantime, contact our support team to have it re-enabled for your account. ## Supported Inventor Versions [Section titled “Supported Inventor Versions”](#supported-inventor-versions) 2022, 2023, 2024 ## Download the installer [Section titled “Download the installer”](#download-the-installer) Visit the following page to download the latest plugin version: ## Install the RealityConnect for Inventor plugin [Section titled “Install the RealityConnect for Inventor plugin”](#install-the-realityconnect-for-inventor-plugin) * Unzip the downloaded file shared with you * `Double click` on the .msi file to launch the installer * Follow the steps from the installer wizard ![RealityConnect for Inventor installation](/_astro/realityconnect-install-the-realityconnect-for-inve.C0vb6wOW_Z7xBSs.webp) # How to Use the Plugin > Connect Prevu3D to MicroStation using RealityConnect. Sync scans, load RealityAssets, and configure server settings. ## **Enable the connection between Prevu3D and Microstation** [Section titled “Enable the connection between Prevu3D and Microstation”](#enable-the-connection-between-prevu3d-and-microstation) From the top bar, go to **RealityConnect -> Server Settings** and **Start** the connection. To disconnect, you can repeat the action ### RealityConnect Functions [Section titled “RealityConnect Functions”](#realityconnect-functions) #### Sync scan [Section titled “Sync scan”](#sync-scan) This function allows you to bring the full environment into Revit either as a point cloud or a mesh. This will import the environment with the lowest quality level and place it using the **shared coordinates**. From there you will be able to leverage the Clip scan feature. ![RealityConnect Sync scan](/_astro/realityconnect-sync-scan-1.3zk-2QSR_ZqLYmF.webp) ### RealityAssets [Section titled “RealityAssets”](#realityassets) #### Load Assets [Section titled “Load Assets”](#load-assets) This function allows you to bring [RealityAsset defined from RealityPlan](/en/realityplan/tools/realityassets/) to your Revit project. Browse and pick the desired RealityAsset. ![RealityConnect Load assets](/_astro/realityconnect-load-assets.C4sHcTL6_7eGEO.webp) #### Settings [Section titled “Settings”](#settings) This function allows you to change the port of the server that connects RealityPlan to RealityConnect. ### RealityConnect Settings [Section titled “RealityConnect Settings”](#realityconnect-settings) #### Settings [Section titled “Settings”](#settings-1) Allow you to change the application port number. We recommend keeping the default value (3000). Otherwise you would need to change the value on RealityPlan as well. See the screenshot below: ![RealityConnect Settings](/_astro/realityconnect-settings.CcNZsVKy_2jynvn.webp) # Installation > Download and install the RealityConnect for MicroStation plugin. Supported versions: 2022, 2023, 2024. ## Supported Microstation Versions [Section titled “Supported Microstation Versions”](#supported-microstation-versions) 2022, 2023, 2024 ## Download the installer [Section titled “Download the installer”](#download-the-installer) Visit the following page to download the latest plugin version: ## Install the RealityConnect for Microstation plugin [Section titled “Install the RealityConnect for Microstation plugin”](#install-the-realityconnect-for-microstation-plugin) * Unzip the downloaded file shared with you * `Double click` on the .msi file to launch the installer * Follow the steps from the installer wizard ![RealityConnect for MicroStation installation](/_astro/realityconnect-install-the-realityconnect-for-micr.BHtzJC7u_Z230wiS.webp) The plugin will be accessible in the General toolbar: ![RealityConnect for MicroStation installation](/_astro/realityconnect-install-the-realityconnect-for-micr-1.NI-TKovC_1sruUF.webp) # Installation > Download and install the RealityConnect for NX plugin. Supported versions: 2406, 2412, 2506, 2512. Install RealityConnect for NX to manage and run your projects effortlessly—just download, run the installer, and follow the steps *** ## Supported NX versions [Section titled “Supported NX versions”](#supported-nx-versions) 2406, 2412, 2506 and 2512 ## Download the installer [Section titled “Download the installer”](#download-the-installer) Visit the following page to download the latest plugin version: ## Install the RealityConnect for NX plugin [Section titled “Install the RealityConnect for NX plugin”](#install-the-realityconnect-for-nx-plugin) 1. Double-click the .msi file to launch the installation wizard. 2. Follow the prompts in the wizard to complete the setup. 3. Restart NX to activate the plugin. ![RealityConnect Install the realityconnect for NX p](/_astro/realityconnect-install-the-realityconnect-for-nx-p.BiKUzq_z_1nqch2.webp) ![RealityConnect Install the realityconnect for NX p](/_astro/realityconnect-install-the-realityconnect-for-nx-p-1.-twgRT9D_ZDjgxP.webp) Note The plugin is installed by default in this folder: %localappdata%/Prevu3D/RealityConnectNx # RealityConnect for NX - Release Notes > View the latest release notes, new features, improvements, and bug fixes for RealityConnect for NX. ## **Version 26.8.0** [Section titled “Version 26.8.0”](#version-2680) **Release date:** 27 August 2026 **New features** * **About dialog** — Click **About** in the Prevu3D ribbon to see the installed version, links to the User Guide and the Prevu3D Privacy Policy, and the path of the current session’s log file. Clicking the path opens its folder in File Explorer with the file selected. The plugin keeps one log file per NX session and retains the five most recent ones. * **Organization switching** — Switch to a different organization directly from the connection dialog, signing in with another account when needed. * **Dockable Working Areas panel** — The Working Areas tools now open as a dockable NX panel, alongside the Asset Manager. **Improvements** * Reorganized the Prevu3D ribbon for a clearer workflow (Connect, Display Environment, Manage Assets, Working Areas, Settings, About). * Your sign-in is cached securely on your machine, so reconnecting no longer reopens the browser. Use **Switch** in the connection dialog to sign in with a different account or organization. * Made network connections more robust: secure connections are now validated against the Windows certificate store and follow the proxy configuration defined in Windows, so the plugin connects reliably on corporate networks that use a proxy or inspect TLS traffic. * When sign-in cannot be completed, the plugin now names the address it could not reach and shows a connectivity report covering the result for each address, the proxy configuration in use, and the list of hosts to allow over HTTPS (port 443). The same report is written to the log file, so it can be shared with your IT team or with Prevu3D support. * Georeferenced RealityTwins now display in the correct position in the NX view. * Assets can be loaded without displaying the environment overlay first. * Environment settings now focus on the **Triangle Budget** (default **10,000,000**). The Frame Time Budget control has been removed; last frame time remains visible under System Statistics. * The theme setting now offers **Light** and **Dark**. * The installer and the About dialog now identify the plugin as **RealityConnect for Designcenter NX**. ## **Version 26.5.0 (First official release)** [Section titled “Version 26.5.0 (First official release)”](#version-2650-first-official-release) **Release date:** 25 May 2026 **Improvements** * RealityConnect for Nx is now out of beta and available as the first official release. * Renamed the **Inspection zones** feature to **Working Area**. ## **Version 26.4.1** [Section titled “Version 26.4.1”](#version-2641) **Release date:** 20 April 2026 **New features** * Added support for environment clipping. * Introduced zones that load geometry within a defined budget behind the overlay, allowing users to interact with Nx geometry using existing tools. ## **Version 26.4.0** [Section titled “Version 26.4.0”](#version-2640) **Release date:** 1 April 2026 **Bug fixes** * Fixed depth occlusion between environment overlay, assets overlay and NX geometry. * Fixed asset-only rendering clearing NX’s depth buffer. ## **Version 26.3.1** [Section titled “Version 26.3.1”](#version-2631) **Release date:** 26 March 2026 **New features** * Added support for NX versions 2406, 2412, and 2512. **Improvements** * Improved HTTP client for more robust proxy resolution. ## **Version 26.3.0 (First release)** [Section titled “Version 26.3.0 (First release)”](#version-2630-first-release) **Release date:** 6 March 2026 **New features** * Stream Environment * Stream RealityTwin environments directly into the active NX 3D view. * Toggle environment visibility with a single action (Display / Hide Environment). * In-memory streaming ensures fast performance without generating local files. * Progressive view-dependent refinement improves visual quality based on camera position. * Load Assets * Browse and manage RealityTwin assets through the Asset Manager. * Load and unload selected assets directly in the NX scene. * Export assets as NX parts stored alongside the current project. * Locate assets in the scene and synchronize with the latest RealityTwin data. * Filter assets by name and status, with real-time operation feedback. * Settings * Customize plugin behavior through General, Environment, and Asset settings. * Configure environment streaming performance using triangle and frame time budgets. * Adjust asset quality levels to balance performance and visual fidelity. * Select UI theme and enable or disable texture overlay display. # User Guide > Learn how to use RealityConnect for NX to stream large-scale 3D environments into your CAD workspace. RealityConnect for NX is designed to bridge the gap between high-fidelity digital twins and your CAD environment. It allows you to stream large-scale reality capture data directly into NX without draining system resources and provides a streamlined interface for asset management. *** ## Accessing your data [Section titled “Accessing your data”](#accessing-your-data) To access your data, you must first establish a connection to Prevu3D. 1. In NX, click the **Connect** button in the Prevu3D ribbon.\ A web browser will open and redirect you to the Prevu3D authentication page. 2. In your web browser, sign in to your Prevu3D account if required. 3. In the web browser, authorize the plugin to access your organization’s data. 4. Back in NX, the connection dialog opens with your **Organization** and signed-in account shown in the header. Select: * the **Division**, * then the **Site** that contains the desired **RealityTwin**. 5. Click **Continue** to confirm the connection. 6. Once connected, the **Display Environment**, **Manage Assets**, and **Working Areas** buttons become available. An NX part must be open for these actions. Note Your session is cached securely on your machine, so you stay signed in between NX sessions and reconnecting no longer reopens the browser. To sign in with a different account or organization, use the **Switch** button in the connection dialog header. ![RealityConnect Accessing your data](/_astro/realityconnect-accessing-your-data.C-dWBguW_ZTrEx2.webp) ### Connection troubleshooting [Section titled “Connection troubleshooting”](#connection-troubleshooting) RealityConnect validates its secure connections against the Windows certificate store and follows the proxy configuration defined in Windows, so it connects reliably on corporate networks that use a proxy or inspect TLS traffic. If sign-in cannot be completed, the plugin names the address it could not reach and shows a report you can expand with **Details**. The report lists every address that was tested with its result, the proxy configuration in use, and the certificate authority presented for the connection. It also includes the list of hosts to allow over HTTPS (port 443), which you can pass on to your IT team. Tip The same report is written to the log file, so you can share it even after closing the dialog. See [About](#about) for the log file location. ## Environment Display [Section titled “Environment Display”](#environment-display) The **Environment Display** tool streams the selected RealityTwin directly into the active 3D view, providing immediate site context for your project. * **Show / hide environment**\ Click **Display Environment** to stream and display the environment in the current view.\ Once active, the button changes to **Hide Environment**, allowing you to remove the environment overlay with a single click. * **In-memory streaming**\ The environment is streamed entirely in memory, without creating or loading files on disk, ensuring fast interaction and minimal impact on system resources. * **View-dependent refinement**\ The scene is progressively refined based on the camera position, improving visual quality where it matters while maintaining smooth performance. For details about rendering options, HLOD behavior, and performance limits, refer to the [**Environment Settings**](#environment) documentation. ![RealityConnect Environment display](/_astro/realityconnect-environment-display.BMjOynt7_Z2tzmWA.webp) ![RealityConnect Environment display](/_astro/realityconnect-environment-display-1.DRdoJzev_RowpK.webp) ## Asset Manager [Section titled “Asset Manager”](#asset-manager) Click **Manage Assets** in the Prevu3D ribbon to open the dockable **Asset Manager** panel. It allows you to browse, manage, and import assets from the selected **RealityTwin** into your NX model. Assets can be loaded independently of the environment overlay. #### Asset operations [Section titled “Asset operations”](#asset-operations) * **Load Selected**\ Load the selected assets into the active NX view. * **Unload Selected**\ Remove the selected assets from the scene if they are currently loaded. * **Export as part**\ Export the selected assets as NX parts.\ Exported parts are available on the disk next to the current project file. * **Locate**\ Move the camera to focus on the selected asset.\ The asset must be loaded in the scene for this action to be available. #### Global actions [Section titled “Global actions”](#global-actions) * **Refresh**\ Reload the asset list from the RealityTwin to synchronize the panel with the latest data. * **Reset**\ Restore the Asset Manager to its default state. #### Asset filtering [Section titled “Asset filtering”](#asset-filtering) * **Search**\ Filter assets by name. * **Status filter**\ Filter assets based on their current state. #### Operation feedback [Section titled “Operation feedback”](#operation-feedback) * **Progress column**\ Displays the progress of ongoing operations for each asset. * **Status summary**\ Displays the number of available, selected, and loaded assets. For configuration options such as asset quality, positioning, and import behavior, refer to the [**Asset Settings**](#assets) documentation. ![RealityConnect Operation feedback](/_astro/realityconnect-operation-feedback.BR0Pnraa_12wLod.webp) ## Working Area [Section titled “Working Area”](#working-area) Click **Working Areas** in the Prevu3D ribbon to open the dockable panel. The tools let you load a focused portion of the RealityTwin geometry as NX bodies, instead of streaming the whole environment. This is useful when working on a specific zone of the site without loading everything into memory. #### Creating a working area [Section titled “Creating a working area”](#creating-a-working-area) Use the **Working Areas** panel to define and load a working area. Choose the load **Quality** (Low / Medium / High) before creating. * **From View**\ Loads the geometry visible in the current NX view as a working area. * **Place Box / Apply Box**\ Click **Place Box** to insert a translucent 3D box (named “Working Area Bounds”) into the active part. Move and resize it with the standard NX manipulation tools to enclose the region you want, then click **Apply Box** to load the geometry within those bounds. ![RealityConnect NX working area panel](/_astro/realityconnect-nx-working-area-panel.B8VHk1UL_FXvAJ.webp) #### Active working areas [Section titled “Active working areas”](#active-working-areas) Each loaded working area appears in the list under **Active Working Areas**. * **Quality dropdown** - Change the target quality for this working area. * **Reload (↻)** - Re-fetch the working area at the currently selected quality. * **Remove (✖)** - Delete this working area and remove its bodies from the scene. * **Click a row** - Highlights the bodies of that working area in the NX view. * **Double-click a row** - Rename the working area. * **Cancel (✖ during loading)** - Cancel an in-progress load. * **Clear All** - Remove all working areas at once, including any pending box. Note Working areas are temporary for the current session. They are not persisted between NX sessions. ## Settings [Section titled “Settings”](#settings) Use the **Settings** menu to customize the behavior, performance, and appearance of the Prevu3D plugin.\ Settings are organized into four main sections: **General**, **Environment**, **Assets**, and **Working Area**. ### General [Section titled “General”](#general) General settings control the overall behavior and appearance of the plugin. * **Theme**\ Select the visual theme of the plugin: * **Light** * **Dark** * **Texture overlay**\ When enabled, textures are displayed on the overlay geometry. When disabled, only vertex colors are shown. ### Environment [Section titled “Environment”](#environment) Environment settings control how the RealityTwin is streamed and displayed in the 3D view. * **Triangle Budget**\ Sets the target level of geometric detail for the streamed environment.\ Higher values increase visual fidelity but require more system resources (RAM, GPU, and CPU). The default is **10,000,000**. If navigation becomes choppy, lower this value. * **System Statistics**\ Displays real-time performance indicators, including: * **Triangle Count** * **Last Frame Time** These metrics help evaluate whether the current environment settings are appropriate for your hardware and performance expectations. ### Assets [Section titled “Assets”](#assets) Asset settings define how individual objects are loaded and imported into NX. #### Asset quality levels [Section titled “Asset quality levels”](#asset-quality-levels) Each asset quality level is defined by a target triangle count, allowing you to balance visual detail and performance. * **Low Quality Triangles**\ Sets the maximum number of triangles used for assets loaded at low quality. * **Medium Quality Triangles**\ Sets the maximum number of triangles used for assets loaded at medium quality. * **High Quality Triangles**\ Sets the maximum number of triangles used for assets loaded at high quality. Each value can be reset individually to its default. #### Default asset behavior [Section titled “Default asset behavior”](#default-asset-behavior) * **Default Quality**\ Defines the quality level used by default when loading assets. ### Working Area [Section titled “Working Area”](#working-area-1) Working area settings define the triangle budget used per quality tier when loading working areas. Higher values produce more geometric detail but take longer to load. * **Low Quality Triangles**\ Maximum triangle count used when loading a working area at low quality. * **Medium Quality Triangles**\ Maximum triangle count used when loading a working area at medium quality. * **High Quality Triangles**\ Maximum triangle count used when loading a working area at high quality. Each value can be reset individually to its default. ## About [Section titled “About”](#about) Click **About** in the Prevu3D ribbon to open a dialog showing: * the installed plugin **version**, * a link to the **User Guide**, * a link to the Prevu3D **Privacy Policy**, * the **Log file** of the current session. Click the log file path to open its folder in File Explorer with the file selected. The plugin writes one log file per NX session in `%APPDATA%\Prevu3D\RealityConnectNx\Logs` and keeps the five most recent ones, so the log of an earlier session is still available when you report an issue. # Installation > Install RealityConnect for Omniverse and start streaming RealityTwin environments and Reality Assets into your Omniverse stage. Install RealityConnect for Omniverse to stream RealityTwin environments and Reality Assets directly into your Omniverse stage. *** ## Supported Omniverse versions [Section titled “Supported Omniverse versions”](#supported-omniverse-versions) RealityConnect for Omniverse runs in Kit-based Omniverse applications built on **Kit SDK 107 through 110**. This includes USD Composer, USD Presenter, Kit “Code”, and NVIDIA Isaac Sim 5.1 (Kit 107). The installer ships a binary that matches your application’s Kit version and selects it automatically — you do not need to know which version you have. ## Download the installer [Section titled “Download the installer”](#download-the-installer) Visit the following page and download the latest Windows plugin version: . The installer is a `.exe` setup file whose name looks like `RealityConnectOmniverse--windows.exe`. Save the installer somewhere easy to find, such as your **Downloads** folder. ## Install on Windows [Section titled “Install on Windows”](#install-on-windows) RealityConnect installs for the current Windows user only, so **no administrator rights are required** — you will not see a User Account Control (elevation) prompt at any point. The wizard has a handful of screens, but only two need a decision from you: **Choose Omniverse Installation** (step 2) and **Start Menu Shortcut** (step 4). The rest are **Next** / **Install** / **Finish**. 1. **Start the installer.** In the folder where you saved the download (for example, **Downloads**), double-click the setup file — its name looks like `RealityConnectOmniverse--windows.exe`. After a moment the installer opens directly on the **Choose Omniverse Installation** screen (there is no separate welcome page). Note If Windows SmartScreen shows a “Windows protected your PC” message, the setup is code-signed by Prevu3D and is safe to run — click **More info**, then **Run anyway**. 2. **Choose Omniverse Installation.** This is the main decision. The installer automatically scans your machine for Kit-based Omniverse applications and lists each one it finds as a selectable row showing the application’s name and its folder (for example, *USD Composer 2024.1.1*). A note near the top explains the **\[Unsupported]** marker — it appears next to any application older than Kit 107: you can still install into it, but the extensions may not work fully. Select **one** option, then click **Next**: * **A detected application** — click the row for the Omniverse application you want RealityConnect to load into. This is the normal choice when you already use USD Composer, USD Presenter, Kit “Code”, Isaac Sim, and so on. * **Install embedded copy of Prevu3D RealityConnect (downloads NVIDIA Kit SDK during install)** — choose this only if you do **not** already have an Omniverse application. The installer downloads a matching, self-contained Kit runtime during installation, so an internet connection is required. With this option, a later **Choose where to install** screen asks for an install folder — accept the suggested location under your user profile, or click **Browse** to pick another empty/new folder you can write to. * **Other… (browse for installation folder)** — choose this if your Omniverse application was **not** detected automatically. After you click **Next**, a folder picker appears: browse to the application’s **root folder** — the one that directly contains the `kit\kit.exe` file — and click **Next**. The extensions are placed in that folder’s `exts` subfolder. If you point it at a folder that does not contain `kit\kit.exe`, the installer warns you and lets you choose again. ![RealityConnect Omniverse installer picker](/_astro/realityconnect-omniverse-installer-picker.Dab-kGx7_1Ud30O.webp) The embedded-copy **Choose where to install** screen looks like this: ![RealityConnect Omniverse installer folder](/_astro/realityconnect-omniverse-installer-folder.XBMC37y1_2vMxu2.webp) 3. **Existing-version prompt (only if applicable).** If RealityConnect is already installed in the location you chose, the installer asks what to do: it offers to **upgrade** when it finds an older version, or to **reinstall (overwrite)** when it finds the same version. Click **Yes** to proceed, or **No** to go back and pick a different location. 4. **Start Menu Shortcut.** The installer asks *“Do you want a shortcut to launch Prevu3D RealityConnect?”* and explains that the shortcut opens the application with the RealityConnect extensions already enabled. Choose one, then click **Next**: * **Yes, create a Start Menu shortcut** *(recommended)* — the simplest way to use RealityConnect; the shortcut launches your application with the extensions turned on automatically every time. If — and only if — you chose **Other…** at step 2, one extra screen, **Choose Application Launcher**, appears: it lists the launcher programs the installer found in your application’s folder. Select the one that normally starts the application, or click **Browse** to choose the launcher file yourself, then click **Next**. * **No, do not create a shortcut** — the extensions are still installed, but no launch shortcut is created and they are not turned on automatically. Choose this only if you prefer to start the application your own way; you will then enable the extensions manually the first time (see the note at the end of this page). ![RealityConnect Omniverse installer shortcut](/_astro/realityconnect-omniverse-installer-shortcut.Dlbj3lrX_Z13BvuX.webp) 5. **Ready to Install.** The wizard shows a summary of what it is about to do. Review it, then click **Install**. ![RealityConnect Omniverse installer ready](/_astro/realityconnect-omniverse-installer-ready.C_kIL0Bv_Z1qdNlf.webp) 6. **Installation progress.** A progress screen appears while Setup works: * When installing into an existing application, the files copy in a few seconds. * When installing the **embedded copy**, the NVIDIA Kit SDK downloads now. A live log on the screen streams the download and setup as it happens; depending on your internet speed this can take several minutes. Leave the window open and let it finish. (If you need to stop, the screen lets you cancel the download safely.) 7. **Setup Completed.** The final screen confirms the install — it tells you which application received the extensions and the name of the new Start Menu shortcut. * If you created a shortcut, tick **Open … now** to launch the application immediately (optional). * Click **Finish** to close the installer. ![RealityConnect Omniverse installer finished](/_astro/realityconnect-omniverse-installer-finished.BvjxZcJH_pt6fe.webp) 8. **Open RealityConnect.** Open the Windows **Start menu** and click the new shortcut — **“\ with Prevu3D RealityConnect”** (or simply **“Prevu3D RealityConnect”** if you installed the embedded copy). Your Omniverse application launches with the RealityConnect panel **already loaded** — no further setup is needed. The first launch may take a little longer while the application starts. Installed without a shortcut? If you chose not to create a Start Menu shortcut, the extensions are installed but not enabled automatically. Open your Omniverse application, go to **Window > Extensions**, switch to the **Third Party** tab, turn on **Prevu3D RealityConnect Core**, and tick **Autoload** so it loads every session. Then click the **Prevu3D RealityConnect** button on the main toolbar to open the panel. # RealityConnect for Omniverse - Release Notes > View the latest release notes, new features, improvements, and bug fixes for RealityConnect for Omniverse. ## **Version 26.7.0 (First release - Beta)** [Section titled “Version 26.7.0 (First release - Beta)”](#version-2670-first-release---beta) **Release date:** TBD **New features** * Accessing your data * Sign in to your Prevu3D account from inside Omniverse with the **Connect to RealityPlatform** button and secure browser-based sign-in. * Browse your Divisions and Sites in the **Sites** tab and **Connect** to any RealityTwin you have access to. * The **Signed in** footer shows your account email and a **Log out** action. * Environment Display * Stream a RealityTwin environment into your stage entirely in memory, with progressive view-dependent refinement and no files written to disk. * Show or hide the streamed environment with the **Display the site** toggle without disconnecting. * Streaming quality * Choose between **Low**, **Medium**, and **High** quality presets in the **Settings** tab to match your hardware and use case. * Assets * List every Reality Asset attached to the connected RealityTwin in the **Assets** tab. * Multi-select assets with checkboxes and **Load** or **Unload** them in one action. * Pick a **Quality** level per asset before loading. * **Export as USD** to save selected loaded assets as USD on disk. * **Locate** a loaded asset to focus the camera on it. * Filter the list with **Search**, and track progress with per-asset status (**Ready**, **Loading…**, **Loaded**, **Unloading…**, **Error**) and a Selected / Loaded / Total summary. * About * View the installed plugin version and quick links to documentation and support. * Window * Minimize the RealityConnect panel to a tray at the bottom-right corner of the Omniverse window and restore it with a single click. * Interface languages * Choose the interface language in the **Settings** tab. RealityConnect for Omniverse is available in English, French, Spanish, German, Japanese, Italian, Portuguese, Dutch, Korean, and Simplified Chinese. **Compatibility** * Runs in Kit-based Omniverse applications built on Kit SDK 107 through 110, including USD Composer, USD Presenter, Kit “Code”, and NVIDIA Isaac Sim 5.1. The installer detects your application’s Kit version and installs the matching binary automatically. # User Guide > Learn how to use RealityConnect for Omniverse to sign in, stream RealityTwin environments, and load Reality Assets into your Omniverse stage. RealityConnect for Omniverse bridges the gap between high-fidelity digital twins and your Omniverse stage. It streams large-scale RealityTwin environments and individual Reality Assets directly into Omniverse — entirely in memory, with progressive view-dependent refinement, so there is no need to download or import files to disk. *** ## Opening the plugin [Section titled “Opening the plugin”](#opening-the-plugin) Once the extension is installed and loaded, RealityConnect adds a button to the main toolbar of your Omniverse application. ![RealityConnect Omniverse toolbar button](/_astro/realityconnect-omniverse-toolbar-button.C0tlTtkc_23CTrX.webp) 1. Click the **Open Prevu3D RealityConnect** button on the toolbar to open the panel. 2. Click it again at any time to hide or re-show the panel. The **Sites**, **Assets**, **Settings**, and **About** tabs become available after you sign in. No toolbar button? The toolbar button is added by the RealityConnect extension. If the extensions were installed without automatic launch setup — for example, a Windows install without the Start Menu shortcut — open **Window > Extensions**, switch to the **Third Party** tab, turn on **Prevu3D RealityConnect Core**, and tick **Autoload** so it loads every session. The button then appears on the main toolbar. ## Accessing your data [Section titled “Accessing your data”](#accessing-your-data) ### Signing in [Section titled “Signing in”](#signing-in) To access your data, you must first sign in to your Prevu3D account. ![RealityConnect Omniverse authenticate](/_astro/realityconnect-omniverse-authenticate.CNVgur-R_1nrD5J.webp) 1. In the RealityConnect panel, click **Connect to RealityPlatform**. A web browser opens and redirects you to the Prevu3D sign-in page. The panel shows **Waiting for authentication** in the meantime. 2. In the web browser, sign in to your Prevu3D account and authorize the plugin to access your organization’s data. 3. Back in Omniverse, the panel shows **Loading your sites…** and then opens the **Sites** tab. Note If sign-in does not complete — for example, if you closed the browser tab or your session timed out — the panel shows **Authentication failed**. Click **Try again** to restart sign-in. ### Browsing your sites [Section titled “Browsing your sites”](#browsing-your-sites) Once signed in, the **Sites** tab lists the data you have access to, grouped under your organization. ![RealityConnect Omniverse accessing your data](/_astro/realityconnect-omniverse-accessing-your-data.BiLvsX9C_I7DhR.webp) 1. **Divisions** — each division row shows how many sites it contains. Click a row to expand or collapse it and reveal its **Sites** and the **RealityTwins** within them. 2. **Refresh** — reload the list from RealityPlatform at any time. ### Connecting to a twin [Section titled “Connecting to a twin”](#connecting-to-a-twin) ![RealityConnect Omniverse environment display](/_astro/realityconnect-omniverse-environment-display.BgYXCfEB_Z2mxzO7.webp) 1. Click a **RealityTwin** to select it. The row expands into a card with a **Connect** button. 2. Click **Connect**. The row shows **Status: connecting…** while the session is established, then **Status: Connected** once the environment begins streaming into your stage. 3. As you move the camera, the environment streams in progressively. To stop streaming, click **Disconnect** on the connected row. If a connection fails, the row shows **Status: Not connected** with a **Retry** button — click it to try again. Note If a site has no RealityTwin yet, selecting it shows the message *“This site does not have a RealityTwin. Set up one first, or select another site that has a RealityTwin.”* ## Site display [Section titled “Site display”](#site-display) The streamed RealityTwin environment gives you immediate site context in your stage. * **Show or hide the environment** Use the **Display the site** toggle at the top of the **Sites** tab (it is also available on the connected-site card at the top of the **Assets** tab). The toggle becomes active once a twin is streaming. * **In-memory streaming** The environment streams entirely in memory, without creating or loading files on disk, keeping interaction fast and the impact on system resources low. * **View-dependent refinement** The scene is progressively refined based on the camera position, improving visual quality where it matters while maintaining smooth performance as you navigate. ![RealityConnect Omniverse display toggle](/_astro/realityconnect-omniverse-display-toggle.DdxNNDer_Z2i79XU.webp) ![RealityConnect Omniverse environment display site connected](/_astro/realityconnect-omniverse-environment-display-site-connected.Y0I19Z3Z_1ImCUV.webp) 1. **Display the site** toggle (on) — the environment is shown in your stage. 2. **Displaying site** — the connected row confirms the environment is visible. Turn the toggle off and it changes to **Not displaying site**: the environment is hidden, but the RealityTwin stays connected (**Status: Connected**), so you can show it again instantly without re-streaming. ![RealityConnect Omniverse environment display geometry](/_astro/realityconnect-omniverse-environment-display-geometry.C1BGx1Iz_2699bO.webp) ## Assets [Section titled “Assets”](#assets) The **Assets** tab lets you browse, load, and manage the Reality Assets attached to the connected RealityTwin. The card at the top of the tab shows the connected twin, its **Display the site** toggle, and the connection status. If no twin is connected, the tab shows **No site connected** with a **Go to sites** button. ![RealityConnect Omniverse assets](/_astro/realityconnect-omniverse-assets.Bn9cKpwG_vQD9m.webp) ### Asset operations [Section titled “Asset operations”](#asset-operations) ![RealityConnect Omniverse assets operations](/_astro/realityconnect-omniverse-assets-operations.CVhawvkF_ZJEsw2.webp) 1. **Load (N)** — loads the assets you have selected, where **N** is the number of selected assets that are ready to load. 2. **Unload (N)** — removes the selected loaded assets from the stage. With nothing selected, this unloads all loaded assets. An unloaded asset stays available for re-loading later. 3. **Export as USD** — exports the selected loaded assets as USD. A file picker opens — *“Export as USD - choose file name and format”* — where you choose a destination and file name and click **Export**. A progress bar runs along the button while the export completes. 4. **Locate** — the pin icon on each row moves the camera to focus on that asset. It becomes available once the asset is **Loaded**. ### Asset status [Section titled “Asset status”](#asset-status) ![RealityConnect Omniverse assets status](/_astro/realityconnect-omniverse-assets-status.BX0fgVN__ZHkogs.webp) Each row shows the current state of its asset: | Status | Meaning | | :------------- | :----------------------------------------------------------------- | | **Ready** | The asset is available but not loaded. | | **Loading…** | The asset is streaming in. Click the **✕** on the badge to cancel. | | **Loaded** | The asset is in the stage. | | **Unloading…** | The asset is being removed from the stage. | | **Error** | The asset could not be loaded. Hover the badge to see the reason. | ### Filtering and selecting assets [Section titled “Filtering and selecting assets”](#filtering-and-selecting-assets) ![RealityConnect Omniverse assets filtering](/_astro/realityconnect-omniverse-assets-filtering.BZxbaxnk_Z16ol58.webp) 1. **Search** — type in the **Search assets** box to filter the list by name. Filtering happens as you type and is case-insensitive. 2. **Refresh** — reloads the asset list from the connected RealityTwin. 3. **Select** — tick a row’s checkbox to choose it (or the header checkbox to select every visible row) before loading or unloading. 4. **Quality** — each row has its own quality picker (**Low**, **Medium**, **High**). Set the quality you want before loading; the asset streams at that quality. You can mix qualities across a selection. ### Asset count summary [Section titled “Asset count summary”](#asset-count-summary) ![RealityConnect Omniverse assets summary](/_astro/realityconnect-omniverse-assets-summary.DcGSyDZU_ZkcpwL.webp) The footer shows live counts: **Selected**, **Loaded**, and **Total**. When a search filter hides rows, the total appears as a visible-over-full count (for example, `Total: 12/50`). ## Settings [Section titled “Settings”](#settings) The **Settings** tab controls the streaming quality of the environment and the language of the plugin interface. ![RealityConnect Omniverse settings](/_astro/realityconnect-omniverse-settings.kIFmmLJs_ZrXs74.webp) **Streaming quality** — choose the preset that matches your hardware and use case: | Preset | Best for | | :--------- | :----------------------------------- | | **Low** | Fewest tiles, best framerate. | | **Medium** | More coverage, may impact framerate. | | **High** | Best coverage, heaviest GPU load. | Changes apply immediately to the active stream; the stream briefly restarts to apply a new quality tier. **Language** — choose the language of the RealityConnect interface. The plugin is available in English, French, Spanish, German, Japanese, Italian, Portuguese, Dutch, Korean, and Simplified Chinese. The panel updates to your chosen language right away. ## About [Section titled “About”](#about) The **About** tab shows the installed plugin version and quick links to the **Omniverse plugin documentation**, the **Prevu3D documentation**, and **Support**. ![RealityConnect Omniverse about](/_astro/realityconnect-omniverse-about.CJeU7x2m_1StDFT.webp) ## Minimizing to the tray [Section titled “Minimizing to the tray”](#minimizing-to-the-tray) Click the **Minimize** button in the panel header to collapse RealityConnect to a small tray docked at the bottom-right corner of the Omniverse window. ![RealityConnect Omniverse minimize](/_astro/realityconnect-omniverse-minimize.B5bnnTDZ_1LPyIt.webp) ![RealityConnect Omniverse tray](/_astro/realityconnect-omniverse-tray.BUqwOCFo_1oG0Dh.webp) From the tray: 1. **Restore** — bring the panel back to its previous size and position. 2. **Close** — dismiss the tray. Click **Log out** in the signed-in footer at any time to sign out of your Prevu3D account. # Installation > Download and install the RealityConnect for Plant Simulation plugin. Supported version: Tecnomatix Plant Simulation 2606. Install RealityConnect for Plant Simulation to stream reality-capture data into your Tecnomatix models—just download, run the installer, and follow the steps. *** ## Supported Plant Simulation versions [Section titled “Supported Plant Simulation versions”](#supported-plant-simulation-versions) Tecnomatix Plant Simulation 2606 ## Download the installer [Section titled “Download the installer”](#download-the-installer) Visit the following page to download the latest plugin version: ## Install the RealityConnect for Plant Simulation plugin [Section titled “Install the RealityConnect for Plant Simulation plugin”](#install-the-realityconnect-for-plant-simulation-plugin) * Unzip the downloaded file shared with you * `Double click` on the .msi file to launch the installer * Follow the steps from the installer wizard * Restart Plant Simulation to activate the plugin Note The plugin is installed per machine, by default in this folder: `C:\Program Files\Prevu3D\RealityConnect` Tip After installing, open a model and activate its **3D view**, then click **RealityConnect** on the 3D view’s **Edit** ribbon tab. The panel docks on the right. See the [User Guide](/en/realityconnect/realityconnect-for-plant-simulation/user-guide/#opening-the-plugin) for details. # RealityConnect for Plant Simulation - Release Notes > View the latest release notes, new features, improvements, and bug fixes for RealityConnect for Plant Simulation. ## **Version 26.8.0 (beta)** [Section titled “Version 26.8.0 (beta)”](#version-2680-beta) **Release date:** 18 August 2026 **New features** * Choose which 3D view the live twin overlay is displayed in — a **Target frame** selector on the **Sites** and **Assets** tabs pins the overlay to the view you pick. Leave it on **Automatic** to keep the previous behavior. * The **Assets** tab now opens with a header card for the connected site, showing the site name, its connection and display status, and the **Display the site** toggle. * Very large assets that are automatically re-cut to a lighter level of detail during import now show an **Optimizing…** status, so the extra processing time is visible instead of the import appearing to stall. **Bug fixes** * Loading an asset no longer fails with a syntax error. * Signing in no longer expires before the browser sign-in is finished, and a failed sign-in now reports the reason it failed instead of a generic error. * Sign-in and streaming now work on corporate networks that inspect TLS traffic — certificates are validated against the Windows certificate store, so an inspecting proxy’s certificate is trusted. * The grayed-out **Target frame** selector and disabled button labels are now legible — previously the disabled text was too faint to read. * The asset search box caret now lines up with the typed text, and the field supports normal editing: click to position the caret, arrow keys, **Home**/**End**, **Delete**, and paste. ## **Version 26.7.0 (First release, beta)** [Section titled “Version 26.7.0 (First release, beta)”](#version-2670-first-release-beta) **Release date:** 8 July 2026 **New features** * Initial support for **Tecnomatix Plant Simulation 2606**. * Stream Environment * Stream RealityTwin environments directly into the active Plant Simulation 3D view. * Toggle environment visibility from the **Sites** tab using the **Display the site** switch. * In-memory streaming ensures fast performance without generating local files for the overlay. * Progressive view-dependent refinement improves visual quality based on the camera position. * Load Assets * Browse and manage RealityTwin assets through the **Asset manager** (the **Assets** tab). * Load and unload selected assets directly into the active model; imported assets become native Plant Simulation objects under **`.UserObjects`**, placed at their real-world location in the twin. * Reality-capture assets import with their captured photo textures — including very large photogrammetry scans. * Set a per-asset import **Quality** (Low / Medium / High) that controls the level of detail of the imported geometry. * The asset catalog remembers which assets are already imported into the open model — they stay marked as **Loaded** after reconnecting or reopening the model — and unloading an asset removes its object from the model. * Filter assets by name and track their lifecycle through colored status pills (**Ready**, **Loading…**, **Cancelling…**, **Loaded**, **Failed**), with a live *Selected · Loaded · Total* counter. Cancel an in-flight load from its status pill. * Sites and Authentication * Sign in to Prevu3D from the **Sites** tab and pick an organization when multiple are available. * Browse organizations, divisions, and sites from a unified tree view, with collapsible divisions and site counts. * Connect and disconnect to a site inline on each site card, with live status (**Status: connected**, and **Not displaying site** / **Loading display…** / **Rendering…** / **Displaying site** / **Display failed** for the streamed overlay). * Settings * **Streaming quality** preset (Low / Medium / High) to balance coverage and framerate. Changes apply immediately to the active stream. # User Guide > Learn how to use RealityConnect for Plant Simulation to stream reality-capture data into Tecnomatix Plant Simulation and import RealityAssets into a model. RealityConnect for Plant Simulation streams reality-capture data into Tecnomatix Plant Simulation and provides an interface for importing reality-capture assets into a model. *** The plugin runs inside Plant Simulation as a docked panel. Once it is open, everything happens in that panel — there is no separate window to manage. ![RealityConnect Plant simulation overview](/_astro/realityconnect-plant-simulation-overview.AqgWSW0C_ZjcAUh.webp) ## Opening the plugin [Section titled “Opening the plugin”](#opening-the-plugin) 1. Open (or create) a model in Plant Simulation. 2. Open the model’s **3D view** and make it the active window. The plugin needs an active 3D view to attach to. 3. On the 3D view’s ribbon, on the **Edit** tab, click **RealityConnect**. The **RealityConnect** panel docks on the right with four tabs: **Sites**, **Assets**, **Settings**, and **About**. Note The sign-in button stays disabled until a model is open **with the 3D view active**. If you see *“Open a Plant Simulation model with the 3D view active”*, open the 3D view and bring it to the front, then try again. ## Accessing your data [Section titled “Accessing your data”](#accessing-your-data) To access your data, you must first sign in to Prevu3D. 1. In the RealityConnect panel, on the **Sites** tab, click **Connect to RealityPlatform**. 2. A web browser opens and redirects you to the Prevu3D authentication page. * If you have access to multiple organizations, select one on this page. To change organizations later, sign out, then sign in and select a different organization. 3. Back in Plant Simulation, the **Sites** tab displays the sites from your organization. ![RealityConnect Plant simulation authentication](/_astro/realityconnect-plant-simulation-authentication.BxqJF2uX_1GHPMX.webp) Once signed in, the **Sites** tab shows: * the **organization name** at the top, with a **Refresh** button, * one **division** expander per division you have access to, each with a count of its sites, * inside each division, a **site** entry per site. The bottom of the panel shows **Signed in** `` and a **Log out** link. ![RealityConnect Plant simulation sites](/_astro/realityconnect-plant-simulation-sites.C-11UsnK_gTXBU.webp) ### Connecting to a site [Section titled “Connecting to a site”](#connecting-to-a-site) 1. Click a **division** to expand it and reveal its sites. 2. Click a **site** to select it. RealityConnect checks whether the site has a RealityTwin, briefly showing **Checking for a RealityTwin…**. 3. Once the check completes, click **Connect**. ![RealityConnect Plant simulation connect site](/_astro/realityconnect-plant-simulation-connect-site.CHFo0j0L_5D8dT.webp) While connected, the active site card shows two status badges: * **Status: connected** — the session is bound to this site. * **Not displaying site / Loading display… / Rendering… / Displaying site / Display failed** — the live state of the streamed overlay. ![RealityConnect Plant simulation connected](/_astro/realityconnect-plant-simulation-connected.Bf4d-xWX_1pRpgh.webp) To switch sites, click **Disconnect**, then select another site and click **Connect**. Note If a site has no RealityTwin, selecting it shows a message instead of a **Connect** button. Set up a RealityTwin for that site first, or choose a site that already has one. ## Site display [Section titled “Site display”](#site-display) The **Display the site** toggle streams the connected site’s RealityTwin directly into the active 3D viewport. * The toggle appears at the top of the **Sites** tab. * Switch it **on** to start streaming; switch it **off** to stop. While the toggle is on, the status badge cycles through *Loading display… → Rendering… → Displaying site*. The site streams entirely in memory. No files are created on disk for the streamed overlay, keeping interaction fast and minimizing system resource use. The scene refines progressively based on the camera position, according to the configured **Streaming quality** (see [Settings](#settings) below). ## Asset manager [Section titled “Asset manager”](#asset-manager) The **Asset manager** (the **Assets** tab) lets you browse, load, and unload individual RealityAssets from the connected site into your Plant Simulation model. Until you connect to a site, the tab shows an empty state with a shortcut back to the **Sites** tab. ![RealityConnect Plant simulation assets empty](/_astro/realityconnect-plant-simulation-assets-empty.CCCoQXKj_ZsrO7R.webp) Once connected, the **Assets** tab shows: * a **Search assets** box and a **Refresh** button, * a checklist of assets with **Asset name**, **Status**, and **Quality** columns, * a **Load** and an **Unload** button to import or remove assets, * a status line: *Selected: X · Loaded: Y · Total: Z*. ![RealityConnect Plant simulation asset manager](/_astro/realityconnect-plant-simulation-asset-manager.D4b-w7oE_GSYGx.webp) ### Asset operations [Section titled “Asset operations”](#asset-operations) * **Load**\ Imports every selected asset that isn’t already loaded into the active model. The button label shows how many assets are queued. * **Unload**\ Removes the selected loaded assets from the model. The button label shows how many loaded assets are currently selected. Loaded RealityAssets become native Plant Simulation objects (see [Where imported assets go](#where-imported-assets-go) below). ### Asset status [Section titled “Asset status”](#asset-status) The **Status** column shows a colored pill that reflects the per-asset lifecycle: | Status | Meaning | | --------------- | ------------------------------------------ | | **Ready** | Available; not loaded. | | **Loading…** | Geometry is being extracted and imported. | | **Cancelling…** | Cancel was requested; cleanup in progress. | | **Loaded** | Imported into the model. | | **Failed** | Import failed. Check the log for details. | While an asset is **Loading…**, an **X** appears next to the status pill. Click it to cancel the import of that asset. ### Per-asset import quality [Section titled “Per-asset import quality”](#per-asset-import-quality) Each asset has its own **Quality** selector — **Low**, **Medium**, or **High** — that sets the level of detail of the *imported* geometry. Higher quality keeps more detail at the cost of a larger, heavier object in your model. ![RealityConnect Plant simulation asset quality](/_astro/realityconnect-plant-simulation-asset-quality.DK11p9Lv_2hNGSo.webp) This is independent of the live-overlay **Streaming quality** in [Settings](#settings): the per-asset Quality applies only to assets you **Load** into the model, while Streaming quality affects only the in-memory overlay. ### Asset filtering [Section titled “Asset filtering”](#asset-filtering) * **Search**\ Filter the list by name. Filtering is case-insensitive and updates as you type. * **Refresh**\ Manually reload the asset list from the connected site. This also happens automatically whenever the **Assets** tab is opened. ## Settings [Section titled “Settings”](#settings) The **Settings** tab exposes the live-overlay **Streaming quality**. ![RealityConnect Plant simulation settings](/_astro/realityconnect-plant-simulation-settings.BmXFpweA_Z1bFbTY.webp) The **Streaming quality** preset controls the overall quality of the 3D environment displayed on screen. Three presets are available: | Preset | Description | Budget | | ---------- | ------------------------------------ | -------------------- | | **Low** | Fewest tiles, best framerate. | 3 M tris · 24 M px | | **Medium** | More coverage, may impact framerate. | 8 M tris · 96 M px | | **High** | Best coverage, heaviest GPU load. | 16 M tris · 192 M px | Changes apply immediately to the active stream. ## Where imported assets go [Section titled “Where imported assets go”](#where-imported-assets-go) When you load a RealityAsset, the plugin imports its geometry as a native Plant Simulation object. The object is created under **`.UserObjects`** (the user-defined class library) with its 3D graphic loaded from the captured geometry, and placed at the model origin — RealityConnect bakes the asset’s real-world position into the geometry so repeated imports from the same site stay aligned with each other. Imported geometry becomes part of your model — there is nothing extra to manage on disk. (Temporary intermediate files used during import are written to `%TEMP%\RealityConnect` and can be deleted safely.) ## About [Section titled “About”](#about) The **About** tab shows the installed plugin version and quick links to this documentation, the Prevu3D documentation, and Support. ![RealityConnect Plant simulation about](/_astro/realityconnect-plant-simulation-about.CgojeLee_Z1J6lwM.webp) # How to use the plugin > Connect Prevu3D to AutoCAD Plant 3D using RealityConnect. Learn how to enable and manage the connection. Caution This plugin is no longer actively maintained and is no longer available for download. A brand-new, revamped version is actively in development. In the meantime, contact our support team to have it re-enabled for your account. ## **Enable the connection between Prevu3D and Plant3d** [Section titled “Enable the connection between Prevu3D and Plant3d”](#enable-the-connection-between-prevu3d-and-plant3d) From the top bar, go to **RealityConnect -> Server Settings** and **Start** the connection. To disconnect, you can repeat the action. # Installation > Download and install the RealityConnect for AutoCAD Plant 3D plugin. Supported versions: 2022, 2023, 2024. Caution This plugin is no longer actively maintained and is no longer available for download. A brand-new, revamped version is actively in development. In the meantime, contact our support team to have it re-enabled for your account. ## Supported Plant3d Versions [Section titled “Supported Plant3d Versions”](#supported-plant3d-versions) 2022, 2023, 2024 ## Download the installer [Section titled “Download the installer”](#download-the-installer) Visit the following page to download the latest plugin version: ## Install the RealityConnect for Plant3d plugin [Section titled “Install the RealityConnect for Plant3d plugin”](#install-the-realityconnect-for-plant3d-plugin) * Unzip the downloaded file shared with you * `Double click` on the .msi file to launch the installer * Follow the steps from the installer wizard ![RealityConnect for Plant 3D installation](/_astro/realityconnect-install-the-realityconnect-for-plan.CPOmhxCp_Z1LXTQm.webp) # RealityConnect for Plant3D - Release Notes > View the latest release notes, improvements, and bug fixes for RealityConnect for Plant3D. ### **Version 25.5.0** [Section titled “Version 25.5.0”](#version-2550) **Release date:** 15 May 2025 **Improvements** * Added “About” button providing information such as the current version installed. * Added “Settings” button for changing the port number **Bug Fixes** * Removed Sync environment as mesh * Remove unused options in sync menu * Fixed not being able to add assets without syncing the point cloud first ### **Version 25.3.0** [Section titled “Version 25.3.0”](#version-2530) **Release date:** 15 March 2025 * **First release features** * Sync scans (pointcloud & mesh) with shared coordinates * Clip scans (pointcloud & mesh) * Hide/show full scene * Load Assets # Installation > Download and install the RealityConnect for Process Simulate plugin. Supported version: Tecnomatix Process Simulate 2512. Install RealityConnect for Process Simulate to stream reality-capture data into your Tecnomatix studies—just download, run the installer, and follow the steps. *** ## Supported Process Simulate versions [Section titled “Supported Process Simulate versions”](#supported-process-simulate-versions) Tecnomatix Process Simulate 2512 ## Download the installer [Section titled “Download the installer”](#download-the-installer) Visit the following page to download the latest plugin version: ## Install the RealityConnect for Process Simulate plugin [Section titled “Install the RealityConnect for Process Simulate plugin”](#install-the-realityconnect-for-process-simulate-plugin) * Unzip the downloaded file shared with you * `Double click` on the .msi file to launch the installer * Follow the steps from the installer wizard * Restart Process Simulate to activate the plugin Note The plugin is installed by default in this folder: `%localappdata%/Prevu3D/RealityConnectProcessSimulate` Tip If the **RealityConnect** panel doesn’t appear on the **View** tab after first install, see the customize-ribbon note in the [User Guide](/en/realityconnect/realityconnect-for-process-simulate/user-guide/#opening-the-plugin). # RealityConnect for Process Simulate - Release Notes > View the latest release notes, new features, improvements, and bug fixes for RealityConnect for Process Simulate. ## **Version 26.8.0 (beta)** [Section titled “Version 26.8.0 (beta)”](#version-2680-beta) **Release date:** 19 August 2026 **Bug fixes** * Loaded assets are now correctly hidden behind the streamed environment when they sit behind it, instead of always drawing on top of it. * Connecting to a site whose RealityTwin has no layers now reports why the connection was refused, instead of appearing to do nothing. * When the Prevu3D licensing service cannot be reached, the plugin now reports it on connect instead of failing without explanation. * An asset no longer fails to load because of a brief network or service interruption; the download is retried before the asset is marked **Error**. * A large asset whose preparation exceeds the time limit is now retried at a reduced level of detail instead of timing out repeatedly. * An asset conversion that stops responding no longer blocks the remaining assets in the load queue, and cancelling a load now also stops a conversion already in progress. * The text cursor in the asset search field no longer overlaps the field’s placeholder text. ## **Version 26.5.1 (beta)** [Section titled “Version 26.5.1 (beta)”](#version-2651-beta) **Release date:** 4 June 2026 **Improvements** * It is now possible to target different Process Simulate versions when installing the plugin. ## **Version 26.5.0 (First release)** [Section titled “Version 26.5.0 (First release)”](#version-2650-first-release) **Release date:** 28 May 2026 **New features** * Initial support for **Tecnomatix Process Simulate 2512**. * Stream Environment * Stream RealityTwin environments directly into the active Process Simulate 3D viewport from the **View** tab of the ribbon. * Toggle environment visibility from either the **Sites** tab or the **Asset manager** tab using the **Display the site** switch. * In-memory streaming ensures fast performance without generating local files for the overlay. * Progressive view-dependent refinement improves visual quality based on the camera position. * Load Assets * Browse and manage RealityTwin assets through the **Asset manager** tab. * Load and unload selected assets directly into the active study; loaded assets are inserted as **Resources** in the Objects tree. * Convert and export assets as `.cojt` directories stored under the study’s system root, reusable across studies on the same machine. * Cancel in-flight loads from the per-asset status pill (**Pending** / **Loading…**). * Filter assets by name and track lifecycle through colored status pills (**Ready**, **Pending**, **Loading…**, **Cancelling…**, **Loaded**, **Error**), with a live *Selected · Loaded · Total* counter. * Sites and Authentication * Sign in to Prevu3D from the **Sites** tab and pick an organization when multiple are available. * Browse organizations, divisions, and sites from a unified tree view. * Connect and disconnect to a site from the site card, with live status badges (**Connected**, **Not displaying site**, **Loading site…**, **Rendering…**, **Displaying site**, **Streaming failed**). * Settings * **Streaming quality** preset (Low / Medium / High) to balance coverage and framerate. Changes apply immediately to the active stream. # User Guide > Learn how to use RealityConnect for Process Simulate to stream reality-capture data into Tecnomatix Process Simulate and import RealityAssets into a study. RealityConnect for Process Simulate streams reality-capture data into Tecnomatix Process Simulate and provides an interface for importing reality-capture assets into a study. *** The plugin appears on the **View** tab of the Process Simulate ribbon. The button is enabled only when a study is open. ![RealityConnect Process simulate ribbon](/_astro/realityconnect-process-simulate-ribbon.CJ6LNcWN_Z1Y4esN.webp) ## Opening the plugin [Section titled “Opening the plugin”](#opening-the-plugin) 1. Open a study in Process Simulate. 2. Go to the **View** tab. 3. In the **RealityConnect** panel, click **RealityConnect**. The RealityConnect window opens with three tabs: **Sites**, **Asset manager**, and **Settings and About**. Note If the RealityConnect panel doesn’t appear after first install, you must customize the ribbon manually. Right-click anywhere on the ribbon and select **Customize the Ribbon**. From the **All Commands** list, locate the **RealityConnect** command and add it to the ribbon. ![RealityConnect Process simulate customize ribbon](/_astro/realityconnect-process-simulate-customize-ribbon.B4uP_hqf_21Ud0q.webp) ## Accessing your data [Section titled “Accessing your data”](#accessing-your-data) To access your data, you must first sign in to Prevu3D. 1. In the RealityConnect window, on the **Sites** tab, click **Authenticate**. 2. A web browser opens and redirects you to the Prevu3D authentication page. * If you have access to multiple organizations, select one on this page. To change organizations later, sign out, then sign in and select a different organization. 3. Back in Process Simulate, the **Sites** tab displays the sites from your organization. Once signed in, the **Sites** tab shows: * the **organization name** at the top, * one **division** expander per division you have access to, * inside each division, a **site card** per site. The bottom of the **Sites** tab shows **Signed in as** `` and a **Sign out** link. ### Connecting to a site [Section titled “Connecting to a site”](#connecting-to-a-site) 1. Click a **division** to expand it and reveal its sites. 2. Click a **site card** to expand it. 3. Click **Connect**. ![RealityConnect Process simulate connect site](/_astro/realityconnect-process-simulate-connect-site.CiEKfEEt_PKoES.webp) While connected, the active site card shows two status badges: * **Status: Connected** — the kernel session is bound to this site. * **Not displaying site / Loading site… / Rendering… / Displaying site / Streaming failed** — the live state of the streamed overlay. To switch sites, select another site card and click **Connect**. ![RealityConnect Process simulate site status](/_astro/realityconnect-process-simulate-site-status.DVkdcxRf_Z1E2Mt3.webp) To end the session, click **Disconnect** in the active site card. ![RealityConnect Process simulate disconnect](/_astro/realityconnect-process-simulate-disconnect.Bw9H7fjE_HdVoK.webp) ## Site display [Section titled “Site display”](#site-display) The **Display the site** toggle streams the connected site’s RealityTwin directly into the active 3D viewport. * The toggle appears on the active site card (Sites tab) and on the connected-site card at the top of the **Asset manager** tab. * Switch it **on** to start streaming; switch it **off** to stop. ![RealityConnect Process simulate display site toggle](/_astro/realityconnect-process-simulate-display-site-toggle.81fCNX_u_165FeH.webp) While the toggle is on, the status badge cycles through *Loading site… → Rendering… → Displaying site*. The site streams entirely in memory. No files are created on disk for the streamed overlay, keeping interaction fast and minimizing system resource use. The scene refines progressively based on the camera position according to the configured **Streaming quality** (see [Settings](#settings) below). ## Asset manager [Section titled “Asset manager”](#asset-manager) The **Asset manager** lets you browse, load, and unload individual RealityAssets from the connected site into your Process Simulate study. Loaded RealityAssets are inserted as **Resources** in the Objects tree. ![RealityConnect Process simulate objects tree](/_astro/realityconnect-process-simulate-objects-tree.yI-qVS9m_2jEe0.webp) The **Asset manager** tab shows: * a **Search assets** box and a **Refresh** button, * a **connection summary card** with the site name, status badges, and the **Display the site** toggle, * a checklist of assets with **Asset name** and **Status** columns, * a **Load** and an **Unload** button to create or remove assets from Process Simulate, * a status line: *Selected: X · Loaded: Y · Total: Z*. ![RealityConnect Process simulate asset manager](/_astro/realityconnect-process-simulate-asset-manager.DtiMfFuf_Z2770CC.webp) ### Asset operations [Section titled “Asset operations”](#asset-operations) * **Load**\ Loads every selected asset that isn’t already loaded into the active study. The button label shows how many assets are queued. * **Unload**\ Removes the selected loaded assets from the scene. The button label shows how many loaded assets are currently selected. Note See [Note on .cojt files](#note-on-cojt-files) below for how unload interacts with the on-disk asset library. ### Asset status [Section titled “Asset status”](#asset-status) The **Status** column shows a colored pill that reflects the per-asset lifecycle: | Status | Meaning | | --------------- | ------------------------------------------ | | **Ready** | Available; not loaded. | | **Pending** | Queued; load hasn’t started yet. | | **Loading…** | Geometry is being extracted and imported. | | **Cancelling…** | Cancel was requested; cleanup in progress. | | **Loaded** | Inserted into the study as a Resource. | | **Error** | Load failed. Check the log for details. | While an asset is **Pending** or **Loading…**, an **X** appears inside the status pill. Click it to cancel the import of that asset. ![RealityConnect Process simulate asset status cancel](/_astro/realityconnect-process-simulate-asset-status-cancel.CQSCNViD_Ztgy6h.webp) ### Asset filtering [Section titled “Asset filtering”](#asset-filtering) * **Search**\ Filter the list by name. Filtering is case-insensitive and updates as you type. * **Refresh**\ Manually reload the asset list from the connected site. This also happens automatically whenever the **Asset manager** tab is opened. ## Settings [Section titled “Settings”](#settings) The **Settings** tab currently exposes one control. ### Streaming quality [Section titled “Streaming quality”](#streaming-quality) The **Streaming quality** preset controls the overall quality of the 3D environment displayed on screen. Three presets are available. By default, the **Low** preset is selected and the setting does not persist between sessions. | Preset | Description | Budget | | ---------- | ------------------------------------ | -------------------- | | **Low** | Fewest tiles, best framerate. | 3 M tris · 24 M px | | **Medium** | More coverage, may impact framerate. | 8 M tris · 96 M px | | **High** | Best coverage, heaviest GPU load. | 16 M tris · 192 M px | Changes apply immediately to the active stream. ## Note on .cojt files [Section titled “Note on .cojt files”](#note-on-cojt-files) When you load a reality-capture asset, the plugin converts it to a `.cojt` directory that is written under your study’s system root. These directories are persistent Process Simulate library content and may be referenced by other studies on the same machine, so the plugin never deletes them. If you need to share a study that uses RealityConnect assets, use Process Simulate’s **PSZX** export with the *Study and All Components* option to bundle only the `.cojt` files actually referenced by the study. Cleaning up unreferenced `.cojt` entries from a System Root is a manual task. # How to Use the Revit Plugin > Enhance your Revit projects with RealityConnect: sync environments, manage assets, and leverage Prevu3D integration for improved quality and performance. Caution This plugin is no longer actively maintained and is no longer available for download. We recommend using [RealityConnect™ for Revit](/en/realityconnect/realityconnect-for-revit/user-guide/) instead. Contact our support team if you still need this version re-enabled for your account. Enable and benefit from RealityConnect for Revit to sync environments, adjust quality, manage assets, and enhance your Revit project with seamless Prevu3D integration. *** ## **Enable the connection between Prevu3D and Revit** [Section titled “Enable the connection between Prevu3D and Revit”](#enable-the-connection-between-prevu3d-and-revit) From the top bar, go to **RealityConnect -> Server Settings** and **Start** the connection. ![Menu displaying server settings with options to start the connector in a software interface.](/_astro/realityconnect-enable-the-connection-between-prevu.CmCm4cnu_Z1AEfKU.webp) ## Features [Section titled “Features”](#features) ### RealityConnect Functions [Section titled “RealityConnect Functions”](#realityconnect-functions) #### Sync scan [Section titled “Sync scan”](#sync-scan) This function allows you to bring the full environment into Revit either as a point cloud or a mesh. This will import the environment with the lowest quality level and place it using the **shared coordinates**. From there you will be able to leverage the Clip scan feature. ![RealityConnect Sync scan](/_astro/realityconnect-sync-scan-2.BPRc1HQJ_2j1wJq.webp) Caution * Your projet must be saved and the connection need to be established in order to use the Sync scan. * Don’t forget to set up your project base point according to your pointcloud coordinates system. Otherwise you will be prompted with a warning like this or may face some issues with your alignements. * The synched scan can’t be moved considering it is using the Shared Coordinates. ![RealityConnect Sync scan](/_astro/realityconnect-sync-scan-3.uuEVrmV4_2anYz7.webp) #### Clip scan [Section titled “Clip scan”](#clip-scan) The clip scan allows you to load a specific area at a different level of quality. You must use the **Section box** tool from a Revit 3D View to define the desired area. Use the Clip scan feature to improve the quality in some specific area without compromising performance. The quality level selected will impact the loading time. There’s also some size limitation, a warning will be prompted if you are over the limits. ![RealityConnect Clip scan](/_astro/realityconnect-clip-scan.BzUz4s6F_Z14X04U.webp) Note You can do multiple Clip if desired. This give you the flexibility to load only what you need in order to accomplish your work. #### Sync Revit [Section titled “Sync Revit”](#sync-revit) This feature allows you to import your Revit project into Prevu3D RealityPlan. This reduce the amount of file based operation typically required. ![Synchronizing a Revit project with RealityPlan](/_astro/realityconnect-sync-revit.Cq09MVDq_Z1r7Gln.webp) Once the sync is completed, you can go on RealityPlan and continue the [import](/en/realityplan/tools/import3d/) process. We recommend using the **Global** positioning. #### Show/Hide Full Scene [Section titled “Show/Hide Full Scene”](#showhide-full-scene) Allow you to change the visibility state of the synched scans. It is quite useful to hide the synched scan if you did clip a specific area at a better resolution. It can be good to show it back if you want to clip another area. ### RealityAssets [Section titled “RealityAssets”](#realityassets) #### Load Assets [Section titled “Load Assets”](#load-assets) This function allows you to bring [RealityAsset defined from RealityPlan](/en/realityplan/tools/realityassets/) to your Revit project. ![RealityConnect Load assets](/_astro/realityconnect-load-assets-1.D1KVYh7B_ZR1FpC.webp) Browse and pick the desired RealityAsset. ![RealityConnect Load assets](/_astro/realityconnect-load-assets.C4sHcTL6_7eGEO.webp) Assign the RealityAsset to the desired Revit Family ![RealityConnect Load assets](/_astro/realityconnect-load-assets-2.D3hVteMg_Z1nUWfu.webp) You may enable the texture of the mesh using the Graphic display option below: ![RealityConnect Load assets](/_astro/realityconnect-load-assets-3.CCkD3Sj8_mkDyw.webp) Note The imported RealityAsset will be positioned automatically with its **Shared coordinates** as a mesh ### RealityConnect Settings [Section titled “RealityConnect Settings”](#realityconnect-settings) #### Settings [Section titled “Settings”](#settings) Allow you to change the application port number. We recommend keeping the default value (3000). Otherwise you would need to change the value on RealityPlan as well. See the screenshot below: ![RealityConnect Settings](/_astro/realityconnect-settings.CcNZsVKy_2jynvn.webp) # Installation > Download and install the RealityConnect for Revit (RealityPlan) plugin. Supported versions: 2021 through 2025. Caution This plugin is no longer actively maintained and is no longer available for download. We recommend using [RealityConnect™ for Revit](/en/realityconnect/realityconnect-for-revit/user-guide/) instead. Contact our support team if you still need this version re-enabled for your account. Install the RealityConnect for Revit to manage and run your projects effortlessly—just download, run the installer, and follow the steps. *** ## Supported Revit Versions [Section titled “Supported Revit Versions”](#supported-revit-versions) 2021, 2022, 2023, 2024, 2025 ## Download the installer [Section titled “Download the installer”](#download-the-installer) Visit the following page to download the latest plugin version: ## Install the RealityConnect for Revit plugin [Section titled “Install the RealityConnect for Revit plugin”](#install-the-realityconnect-for-revit-plugin) * Unzip the downloaded file shared with you * `Double click` on the .msi file to launch the installer * Follow the steps from the installer wizard ![RealityConnect for Revit installation](/_astro/realityconnect-install-the-realityconnect-for-revi.xiWAsCON_Z1EtH8.webp) Note The plugin will install itself alongside your other plugin over here: `%appdata%/Autodesk/ApplicationPlugins/Prevu3D-RealityConnectRevit.bundle` # RealityConnect for Revit - Release Notes > View the latest release notes, new features, and bug fixes for RealityConnect for Revit (RealityPlan). ### **Version 25.13.0** [Section titled “Version 25.13.0”](#version-25130) **Release date:** 22 January 2026 **Bug Fixes** * Fixed an issue that prevented both versions of RealityConnect for Revit (RealityPlan and RealityTwin) from being installed at the same time. ### **Version 25.11.1** [Section titled “Version 25.11.1”](#version-25111) **Release date:** 26 November 2025 **Bug Fixes** * Added support for the rotation defined by the Project Base Point’s Angle to True North. ### **Version 25.11.0** [Section titled “Version 25.11.0”](#version-25110) **Release date:** 03 November 2025 **Bug Fixes** * Resolved a path issue where mixing ”/” and ”\” caused relative paths to fail. This affected the relative paths to both the asset’s material/texture and the asset’s offset. ### **Version 25.4.0** [Section titled “Version 25.4.0”](#version-2540) **Release date:** 22 April 2025 **Improvements** * Improved the error message if the imported environment/asset would end up being too far from the Base Point position * Added an “About” button that allows users to view the currently installed version. **Bug Fixes** * Fixed an issue resulting in a grayed out toolbar if we press “Load Assets” while server is disabled * Fixed a position issue when loading asset or mesh with Survey point setup * Prevent user from pressing the “Sync Revit” button if the project is empty ### **Version 1.0.0.0** [Section titled “Version 1.0.0.0”](#version-1000) **Release date:** 7 November 2024 * **First release features** * Sync scans (pointcloud & mesh) with shared coordinates * Clip scans (pointcloud & mesh) * Sync Revit * Hide/show full scene * Load Assets * Settings # Installation > Download and install the RealityConnect for Revit plugin. Supported versions: 2024, 2025, 2026, 2027. Install the RealityConnect for Revit to manage and run your projects effortlessly—just download, run the installer, and follow the steps *** ## Supported Revit versions [Section titled “Supported Revit versions”](#supported-revit-versions) 2024, 2025, 2026, 2027 ## Download the installer [Section titled “Download the installer”](#download-the-installer) Visit the following page to download the latest plugin version: [](https://cloud.prevu3d.com/settings/apps-and-plugins) ## Install the RealityConnect for Revit plugin [Section titled “Install the RealityConnect for Revit plugin”](#install-the-realityconnect-for-revit-plugin) 1. Double-click the .msi file to launch the installation wizard. 2. Follow the prompts in the wizard to complete the setup. 3. Restart Revit to activate the plugin. ![RealityConnect for Revit installation](/_astro/realityconnect-install-the-realityconnect-for-revi-1.ZInqScKv_ZxEk90.webp) ![RealityConnect for Revit installation](/_astro/realityconnect-install-the-realityconnect-for-revi-2.CqXcgOHC_ZWPcLe.webp) ![RealityConnect for Revit installation](/_astro/realityconnect-install-the-realityconnect-for-revi-3.T4vyhMzH_263ay4.webp) Note The plugin is installed by default in the Revit Add-ins folder: %appdata%/Autodesk/Revit/Addins/{RevitVersion}/Prevu3D.RealityConnect # RealityConnect for Revit - Release Notes > View the latest release notes, improvements, and bug fixes for RealityConnect for Revit. ## **Version 26.8.0** [Section titled “Version 26.8.0”](#version-2680) **Release date:** 17 August 2026 **New features** * **Perspective view support for asset locating** — The **Locate** action now frames the selected asset in perspective 3D views by aiming the camera at it, in addition to zooming to it in orthographic views. When the perspective view’s camera is locked, the plugin indicates that it must be unlocked first. * **Privacy Policy in the About dialog** — The **About** dialog now links to the Prevu3D Privacy Policy, alongside the existing link to the User Guide. * **Log file in the About dialog** — The **About** dialog now shows the path of the current session’s log file. Clicking the path opens its folder in File Explorer with the file selected. The plugin keeps one log file per Revit session and retains the five most recent ones. **Improvements** * Improved the view refresh detection logic for operations that change a large part of the scene, so the viewport reliably reflects the current state when showing or hiding the environment, when disconnecting from a RealityTwin, and when loading or unloading assets. * Made network connections more robust: secure connections are now validated against the Windows certificate store and follow the proxy configuration defined in Windows, so the plugin connects reliably on corporate networks that use a proxy or inspect TLS traffic. * When sign-in cannot be completed, the plugin now names the address it could not reach and shows a connectivity report covering the result for each address, the proxy configuration in use, and the list of hosts to allow over HTTPS (port 443). The same report is written to the log file, so it can be shared with your IT team or with Prevu3D support. ## **Version 26.7.0** [Section titled “Version 26.7.0”](#version-2670) **Release date:** 28 July 2026 **New features** * **Textured Family import mode** — Load assets as a reusable Revit family that keeps its real texture. The plugin writes a textured OBJ, imports it into a Generic Model family, saves the reusable `.rfa` to the generated files folder, and places an instance in the scene. This single mode replaces the standalone Export as Family action and the separate External/Textured OBJ modes. * **Textured assets with the environment** — Assets imported as a Textured Family can be displayed at the same time as the streamed environment; the environment is carved out behind each asset so its real texture shows through. * **Perspective view support** — Environment streaming and view-dependent refinement now follow the camera in perspective 3D views, in addition to orthographic views. * **Organization switching** — Switch to a different organization directly from the connection dialog, signing in with another account when needed. **Improvements** * Reorganized the Prevu3D ribbon and plugin panels for a clearer workflow (Connect, Display Environment, Manage Assets, Settings). * Enhanced the visual rendering of loaded assets. * Consolidated the asset import modes into **Textured Family** and **Embedded**, and renamed the output setting to **Generated files folder**. * Added support for Revit 2027 and dropped support for Revit 2023. Supported versions are now 2024, 2025, 2026, and 2027. ## **Version 26.4.0** [Section titled “Version 26.4.0”](#version-2640) **Release date:** 20 April 2026 **Improvements** * Improved Display Mode by reusing existing data, eliminating the need to reload the environment and resulting in better performance when switching modes. **Bug Fixes** * Fixed camera position being offset when the Survey Point had a non-zero offset (unit conversion was applied in the wrong order relative to the coordinate space transform) * Fixed environment clipping on display toggle by returning a large default bounding box before meshes are loaded, and triggering a Regenerate once the first meshes arrive ## **Version 26.3.0** [Section titled “Version 26.3.0”](#version-2630) **Release date:** 26 March 2026 **Improvements** * Improved HTTP client for more robust proxy resolution. ## **Version 26.1.0 (First release)** [Section titled “Version 26.1.0 (First release)”](#version-2610-first-release) **Release date:** 22 January 2026 **New features** * Stream Environment * Stream RealityTwin environments directly into the active 3D view in Revit. * Enable or disable the environment display with a single toggle. * In-memory streaming ensures fast interaction without generating local files. * Progressive, view-dependent refinement improves visual quality based on camera position. * Load Assets * Browse and manage RealityTwin assets through the Asset Manager. * Load and unload selected assets directly in the Revit scene. * Export assets as Revit families for reuse. * Locate assets in the scene and synchronize asset lists with the latest data. * Filter assets by name and status, with real-time operation feedback. * Settings * Configure plugin behavior through General, Environment, and Asset settings. * Customize environment streaming with triangle budget, frame time budget, and display modes. * Adjust asset quality levels and import behavior (embedded or external). * Define default alignment, theme, and storage options for asset files. # User Guide > Learn how to use RealityConnect for Revit to stream large-scale 3D environments into your BIM workspace. RealityConnect for Revit is designed to bridge the gap between high-fidelity digital twins and your BIM environment. It allows you to stream large-scale reality capture data directly into Revit without draining system resources and provides a streamlined interface for asset management. Both orthographic and perspective 3D views are supported. *** ## Accessing your data [Section titled “Accessing your data”](#accessing-your-data) To access your data, you must first establish a connection to Prevu3D. 1. In Revit, click the **Connect** button in the Prevu3D ribbon.\ A web browser will open and redirect you to the Prevu3D authentication page. 2. In your web browser, sign in to your Prevu3D account if required. 3. In the web browser, authorize the plugin to access your organization’s data. 4. Back in Revit, the connection dialog opens with your **Organization** and signed-in account shown in the header. Select: * the **Division**, * then the **Site** that contains the desired **RealityTwin**. 5. Click **Continue** to confirm the connection. 6. Once connected, the **Display Environment** and **Manage Assets** buttons become available. Note Your session is cached securely on your machine, so you stay signed in between Revit sessions and reconnecting no longer reopens the browser. To sign in with a different account or organization, use the **Switch** button in the connection dialog header. ![RealityConnect Accessing your data](/_astro/realityconnect-accessing-your-data-1.D9-vFuzT_ZiKynF.webp) ### Connection troubleshooting [Section titled “Connection troubleshooting”](#connection-troubleshooting) RealityConnect validates its secure connections against the Windows certificate store and follows the proxy configuration defined in Windows, so it connects reliably on corporate networks that use a proxy or inspect TLS traffic. If sign-in cannot be completed, the plugin names the address it could not reach and shows a report you can expand with **Details**. The report lists every address that was tested with its result, the proxy configuration in use, and the certificate authority presented for the connection. It also includes the list of hosts to allow over HTTPS (port 443), which you can pass on to your IT team. Tip The same report is written to the log file, so you can share it even after closing the dialog. See [About](#about) for the log file location. ## Environment Display [Section titled “Environment Display”](#environment-display) The **Environment Display** tool streams the selected RealityTwin directly into the active 3D view, providing immediate site context for your project. * **Show / hide environment**\ Click **Display Environment** to stream and display the environment in the current view.\ Once active, the button changes to **Hide Environment**, allowing you to remove the environment overlay with a single click. * **In-memory streaming**\ The environment is streamed entirely in memory, without creating or loading files on disk, ensuring fast interaction and minimal impact on system resources. * **View-dependent refinement**\ The scene is progressively refined based on the camera position, improving visual quality where it matters while maintaining smooth performance. For details about rendering options, HLOD behavior, and performance limits, refer to the [**Environment Settings**](/en/realityconnect/realityconnect-for-revit/user-guide/#environment) documentation. ![RealityConnect Environment display](/_astro/realityconnect-environment-display-2.DQGov3Wg_2qs96G.webp) ![RealityConnect Environment display](/_astro/realityconnect-environment-display-3.C0obtzVS_Z92Ge0.webp) ## Asset Manager [Section titled “Asset Manager”](#asset-manager) The **Asset Manager** allows you to browse, manage, and import assets from the selected **RealityTwin** into your Revit model. Note Loaded assets adapt to the current display style. When the environment overlay is shown, assets imported in **Embedded** mode are flat-coloured and filled by the overlay, while assets imported as a **Textured Family** keep their real texture and can be displayed at the same time as the streamed environment. #### Asset operations [Section titled “Asset operations”](#asset-operations) * **Load Selected**\ Load the selected assets into the active Revit view. * **Unload Selected**\ Remove the selected assets from the scene if they are currently loaded. * **Locate**\ Move the camera to focus on the selected asset.\ The asset must be loaded in the scene for this action to be available. #### Global actions [Section titled “Global actions”](#global-actions) * **Refresh**\ Reload the asset list from the RealityTwin to synchronize the panel with the latest data. * **Reset**\ Restore the Asset Manager to its default state. #### Asset filtering [Section titled “Asset filtering”](#asset-filtering) * **Search**\ Filter assets by name. * **Status filter**\ Filter assets based on their current state. #### Operation feedback [Section titled “Operation feedback”](#operation-feedback) * **Progress column**\ Displays the progress of ongoing operations for each asset. * **Status summary**\ Displays the number of available, selected, and loaded assets. For configuration options such as asset quality, positioning, and import behavior, refer to the [**Asset Settings**](/en/realityconnect/realityconnect-for-revit/user-guide/#assets) documentation. ![RealityConnect Operation feedback](/_astro/realityconnect-operation-feedback-1.s2IX9x--_ZbTXnU.webp) ## Settings [Section titled “Settings”](#settings) Use the **Settings** menu to customize the behavior, performance, and appearance of the Prevu3D plugin.\ Settings are organized into three main sections: **General**, **Environment**, and **Assets**. ### General [Section titled “General”](#general) General settings control the overall behavior and appearance of the plugin. * **Import Alignment**\ Defines the default alignment used when importing assets into Revit: * **Shared Coordinates** * **Origin to Origin** * **Theme**\ Select the visual theme of the plugin: * **Light** * **Dark** * **Same as Windows** ### Environment [Section titled “Environment”](#environment) Environment settings control how the RealityTwin is streamed and displayed in the 3D view. * **Triangle Budget**\ Sets the target level of geometric detail for the streamed environment.\ Higher values increase visual fidelity but require more system resources (RAM, GPU, and CPU). The default is **4,000,000**. As a rough guide, based on your hardware: * **2,000,000 or less** — entry-level machines or laptops * **4,000,000** — balanced default, suitable for most workstations * **8,000,000 or more** — high-end workstations with a dedicated GPU If navigation becomes choppy, lower this value or reduce the **Frame Time Budget**. * **Frame Time Budget**\ Controls navigation smoothness by limiting the amount of processing time per frame.\ Lower values prioritize responsiveness during camera movement, potentially reducing visible detail while navigating. * **Display Mode**\ Defines how the environment is rendered: * **Colored** — uses vertex colors from the RealityTwin * **Shaded** — displays geometry using a neutral gray material * **System Statistics**\ Displays real-time performance indicators, including: * **Triangle Count** * **Last Frame Time** These metrics help evaluate whether the current environment settings are appropriate for your hardware and performance expectations. ### Assets [Section titled “Assets”](#assets) Asset settings define how individual objects are loaded and imported into Revit. #### Asset quality levels [Section titled “Asset quality levels”](#asset-quality-levels) Each asset quality level is defined by a target triangle count, allowing you to balance visual detail and performance. * **Low Quality Triangles**\ Sets the maximum number of triangles used for assets loaded at low quality. * **Medium Quality Triangles**\ Sets the maximum number of triangles used for assets loaded at medium quality. * **High Quality Triangles**\ Sets the maximum number of triangles used for assets loaded at high quality. Each value can be reset individually to its default. #### Default asset behavior [Section titled “Default asset behavior”](#default-asset-behavior) * **Default Quality**\ Defines the quality level used by default when loading assets. * **Import Mode**\ Defines how assets are imported into the Revit project: * **Textured Family** — writes a textured OBJ, imports it into a Revit family (Generic Model), and places an instance in the scene while keeping the reusable `.rfa` in the generated files folder for later standalone re-import. The asset keeps its real texture and Revit’s default look, and the streamed environment is carved out behind it so both can be shown together. * **Embedded** — bakes the geometry directly into the Revit file with no file on disk (flat per-region colours, no texture) for better project portability * **Generated files folder**\ Specifies the local folder used to store the generated files (`.obj` and `.rfa`) when using the **Textured Family** import mode. Embedded mode writes nothing. Leave blank to use the default location. ## About [Section titled “About”](#about) Click **About** in the Prevu3D ribbon to open a dialog showing: * the installed plugin **version**, * a link to the **User Guide**, * a link to the Prevu3D **Privacy Policy**, * the **Log file** of the current session. Click the log file path to open its folder in File Explorer with the file selected. The plugin writes one log file per Revit session in `%APPDATA%\Prevu3D\RealityConnectRevit\Logs` and keeps the five most recent ones, so the log of an earlier session is still available when you report an issue. # What is RealityConnect? > RealityConnect enhances CAD and BIM workflows with advanced point cloud and mesh streaming. Download plugins now. ![RealityConnect Overview](/_astro/realityconnect-what-is-realityconnect.BqMMhuLq_Z21xCbC.webp) RealityConnect is a suite of plugins transforming CAD modeling with advanced point cloud and mesh processing. Using innovative point cloud-to-mesh technology and supporting multiple levels of detail, RealityConnect simplifies CAD modeling, optimizing the integration of reality capture data within your CAD/BIM workflows. *** ## Check out our plugins: [Section titled “Check out our plugins:”](#check-out-our-plugins) * Autodesk * [RealityConnect™ for Revit](/en/realityconnect/realityconnect-for-revit/user-guide/) * NVIDIA * [RealityConnect™ for Omniverse](/en/realityconnect/realityconnect-for-omniverse/user-guide/) * Bentley * [RealityConnect™ for MicroStation](/en/realityconnect/realityconnect-for-microstation/how-to-use-the-plugin-2/) * Siemens * [RealityConnect™ for NX](/en/realityconnect/realityconnect-for-nx/user-guide-1/) * [RealityConnect™ for Plant Simulation](/en/realityconnect/realityconnect-for-plant-simulation/user-guide/) * [RealityConnect™ for Process Simulate](/en/realityconnect/realityconnect-for-process-simulate/user-guide/) ## Legacy plugins (deprecated) [Section titled “Legacy plugins (deprecated)”](#legacy-plugins-deprecated) These plugins are no longer actively maintained and are no longer available for download. Contact our support team to have one re-enabled for your account. * Autodesk * [RealityConnect™ for Revit (RealityPlan)](/en/realityconnect/realityconnect-for-revit-realityplan/how-to-use-the-revit-plugin/) — we recommend [RealityConnect™ for Revit](/en/realityconnect/realityconnect-for-revit/user-guide/) instead * [RealityConnect™ for Inventor](/en/realityconnect/realityconnect-for-inventor/how-to-use-the-inventor-plugin/) — a brand-new, revamped version is in development * [RealityConnect™ for Plant3D](/en/realityconnect/realityconnect-for-plant3d/how-to-use-the-plugin-1/) — a brand-new, revamped version is in development ## Check out our API: [Section titled “Check out our API:”](#check-out-our-api) * [RealityConnect API](/en/realityconnect/realityconnect-api/introduction/) ## How to get acces [Section titled “How to get acces”](#how-to-get-acces) Visit the following page to download the latest plugin version: # Advanced Shortcuts > Boost productivity with advanced shortcuts in RealityPlan. Enable extra handle rotation and restrict measurements to horizontal or vertical with ease. Advanced shortcuts enable extra handle rotation and restrict measurements to horizontal or vertical. *** Most of the shortcuts are visible alongside the elements of the top bar menus (File, Edit etc). Here’s a list of more advanced shortcuts that are not visible from the menus. | Action | Description | KEY | | --------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | | Extra handle rotation | Add extra rotation | ![RealityPlan Advanced shortcut setting](/_astro/realityplan-application-settings-advanced-shortcut.C07lfK92_2i9p4b.webp) | | Horizontal | When placing a measure, allows you to restrict it to the horizontal only | ![RealityPlan Advanced shortcut setting](/_astro/realityplan-application-settings-advanced-shortcut-1.MF4D7iK-_Z2hOg1u.webp) | | Vertical measure | When placing a measure, allows you to restrict it to the vertical only | ![RealityPlan Advanced shortcut setting](/_astro/realityplan-application-settings-advanced-shortcut-2.BcbgNYFw_Z2szB8G.webp) | # Settings > Customize RealityPlan application settings including display, controls, performance, and general preferences. The settings of the application can be accessed through ***Edit > Settings***. *** ## Application settings [Section titled “Application settings”](#application-settings) The settings allow you to personalize the application. Here’s a description of the available settings: | Setting name | Description | | --------------------------------- | ------------------------------------------------------------------------------------------ | | **Language** | Language of the whole application | | **Length unit** | The unit shown in the application (metrics or imperial) | | **Third person** | The avatar used for third person navigation | | **Walking height** | The height of the first person navigation mode viewpoint (eye’s height) | | **Free view speed** | The displacement speed of the free view navigation | | **Field of view** | Angle of the area observable by the camera | | **First person speed** | The displacement speed of the first person navigation | | **World-space handles** | Should the handles on the 3D models and shapes be local (relative to the object) or global | | **Rotation by increments** | Enables or disables snapping in rotation to the multiples of the selected angle | | **Quick settings at startup** | Weather or not to show the quick settings window on startup | | **Send debug information** | Allows to send debug information to Prevu3D. These include PC configuration | | **Visibility distance (measure)** | Hide measurement that are farther than the specified distance | | **Use legacy importer** | Should the application use the current importer or the legacy one | ## Video settings [Section titled “Video settings”](#video-settings) The video settings are accessible through the video tab of the settings. | Setting name | Description | | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | **Full screen resolution** | The resolution of the application when in full screen | | **Quality** | The visual quality of the environment. If your PC only meets the [minimal requirements](/en/realityplan/getting-started/installation/), choose *Low* | | **VSync** | Synchronize the frame rate of the application and the refresh rate of your monitor | | **Record - Resolution** | The resolution of the video recorded with the screen recording tool. It cannot exceed the screen resolution | | **Record - Quality** | The bitrate of the video recorded with the screen recording tool. It cannot exceed the screen resolution | | **Screenshot - Resolution** | The resolution multiplier (x the screen resolution) for the screenshots | ## Effects settings [Section titled “Effects settings”](#effects-settings) The [effects](/en/realityplan/application-settings/visual-effects/) settings are accessible through the effects tab of the settings. ### Environment Settings [Section titled “Environment Settings”](#environment-settings) | Setting | Description | | ---------------------------- | ------------------------------------------------------------------------------------------------ | | **Skybox** | The sky type outside of the environment | | **Top view clipping** | The default clipping height in % of total height when landing in top view at application startup | | **Double sided environment** | Enable or disable double sided mesh on the environment and on placed 3D model | ### Light and shadows settings [Section titled “Light and shadows settings”](#light-and-shadows-settings) | Setting | Description | | -------------------------- | ---------------------------------------------------------------- | | **Environment brightness** | The brightness of the environment (from 0.2 to 3 - default is 1) | ### Sun settings [Section titled “Sun settings”](#sun-settings) | Setting | Description | | -------------------------- | ------------------------------------------------------------- | | **Vertical orientation** | Determines the position of the sun in the sky (east & west) | | **Horizontal orientation** | Determines the position of the sun in the sky (north & south) | | **Enable shadows** | Adds shadows relative to the sun | | **Outdoor lighting** | Increases the strength of the shadows | ### Ambient occlusion settings [Section titled “Ambient occlusion settings”](#ambient-occlusion-settings) | Setting | Description | | ------------- | ------------------------------ | | **Intensity** | Adjust the dark areas strength | ### Bloom settings [Section titled “Bloom settings”](#bloom-settings) | Setting | Description | | ------------- | -------------------------------- | | **Intensity** | Adjust the bloom filter strength | ### Color grading [Section titled “Color grading”](#color-grading) | Setting | Description | | ------------ | ---------------------------------------- | | **Exposure** | Adjust the overall exposure in EV unit | | **Contrast** | Adjust the contrast | | **Type** | Type to adjust with the RGB values below | ### Depth of field [Section titled “Depth of field”](#depth-of-field) | Setting | Description | | ---------- | ------------------------------------------------------------------------------------------------------------- | | **Enable** | Toggles the depth of fields effect, the effect is adjusted automatically using the center point of the screen | ### Vignette [Section titled “Vignette”](#vignette) | Setting | Description | | ---------- | ------------------------------------ | | **Enable** | Sets a vignette effect on the screen | ### Motion [Section titled “Motion”](#motion) | Setting | Description | | ---------------------- | --------------------------------------------------------------------------------------- | | **Motion blur** | Adds motion blur when moving | | **Cinematic freeview** | Makes the movement in freeview mode smoother and more stable to give a cinematic effect | ### Edge detection [Section titled “Edge detection”](#edge-detection) | Setting | Description | | ---------- | ---------------------------------------------------------------- | | **Enable** | Highlights edges of the environment and the objects placed in it | ## VR settings [Section titled “VR settings”](#vr-settings) The [VR settings](/en/realityplan/application-settings/vr-settings/) are accessible through the *VR tab* of the settings | Setting | Description | | ------- | --------------------------------------------------- | | **VR** | Allows you to activate VR if your license allows it | Note A “*Restore default*” button can be found in the bottom left corner of the application settings window to reset the settings to default. # Custom Avatar > Set up and explore RealityPlan with your custom Ready Player Me avatar. Learn how to update, change, or delete avatars and switch between defaults easily. You may explore any environment in RealityPlan using your own avatar. *** ## Setup [Section titled “Setup”](#setup) Once you’ve created your [custom avatar](/en/realityplatform/getting-started/avatar/) and [logged into the app](/en/realityplatform/getting-started/sign-up-login/) open the user menu and `click` on the avatar button. ![RealityPlan user menu avatar button](/_astro/realityplan-setup.Dk6KoDJQ_ZTWv7L.webp) ## Update avatar [Section titled “Update avatar”](#update-avatar) If you wish to change or update your avatar you can do this by re-following the steps in the **Setup** above. ## Change avatars [Section titled “Change avatars”](#change-avatars) If you want to change back to one of the default avatars or another custom avatar you can change this by accessing the [settings](/en/realityplan/application-settings/application-settings-1/) window and changing the **Third person** setting. ![RealityPlan Change avatars](/_astro/realityplan-change-avatars.Tqe24XOV_Z1dh1Vm.webp) ## Delete avatars [Section titled “Delete avatars”](#delete-avatars) If you want to delete an avatar you can do this by accessing the [settings](/en/realityplan/application-settings/application-settings-1/) window, changing the **Third person** setting to the avatar you wish to delete and pressing the trashcan icon next to it. # Visual Effects > Enhance your environment with RealityPlan's video effects, including skybox, bloom, and depth of field for stunning visuals in any project. RealityPlan offers multiple video effects that you can use to enhance your environment. *** ## Easy effects (presets) [Section titled “Easy effects (presets)”](#easy-effects-presets) Before exploring advanced effects, it’s helpful to experiment with the app’s various rendering style presets. Simply `click` on your preferred preset in the rendering style section of the toolbar. Some presets may work better for indoor or outdoor environments, so try different options to see what best suits your project. ![RealityPlan Easy effects presets](/_astro/realityplan-easy-effects-presets.RhY28vaJ_Z21LWto.webp) ## Advanced effects [Section titled “Advanced effects”](#advanced-effects) ### Setup [Section titled “Setup”](#setup) First, you need to access the [application settings](/en/realityplan/application-settings/application-settings-1/) and click on the “Effects” tab. From there, you’ll be able to see and manage the available visual effects applied on the environment. ### Available effects [Section titled “Available effects”](#available-effects) #### Skybox [Section titled “Skybox”](#skybox) The skybox effect is used to show a sky in order to achieved appropriate lighting conditions for any indoor or outdoor environment. ![RealityPlan Skybox](/_astro/realityplan-skybox.S9Z3AVrn_PHQsR.webp) #### Ambient Occlusion [Section titled “Ambient Occlusion”](#ambient-occlusion) The ambient occlusion post-processing effect is used to bring some dark areas in surfaces, holes, creases and intersections when they are close each other. ![RealityPlan Ambient occlusion](/_astro/realityplan-ambient-occlusion.BgOKJGZ5_mSrXm.webp) #### Bloom [Section titled “Bloom”](#bloom) The bloom effect is used to dazzle the camera by creating light edges extending from bright boundary areas in an image. ![RealityPlan Bloom](/_astro/realityplan-bloom.DaAqEVeO_Zqh0iL.webp) #### Color Grading [Section titled “Color Grading”](#color-grading) The Color Grading effect is used to correct, modify and improve images colors and luminance that the software creates. ![RealityPlan Color grading](/_astro/realityplan-color-grading.BFGx9285_Z1w5uHN.webp) #### Depth of Field [Section titled “Depth of Field”](#depth-of-field) The Depth of Field effect is used to create a fake bokeh also called background blur to simulate the camera lens focus. ![RealityPlan Depth of field](/_astro/realityplan-depth-of-field.DIDTHjC__Z24volu.webp) #### Vignette [Section titled “Vignette”](#vignette) The Vignette effect adds a soft dark fade to the edges of the screen ![RealityPlan Vignette](/_astro/realityplan-vignette.B3cHeFUF_Z7WTTS.webp) #### Double Sided Environment [Section titled “Double Sided Environment”](#double-sided-environment) The double sided environment allows you to enable two sided meshes. Normally a mesh will look transparent when looking from the outside. Two sided environments apply a texture on the outside of the mesh as well. ![RealityPlan Double sided environment](/_astro/realityplan-double-sided-environment.BP9M-ce3_2fbwfz.webp) #### Sun [Section titled “Sun”](#sun) The Sun effect can be used in conjunction to the procedural skybox to create a realistic outdoor setting. The sun can be moved horizontally and vertically and should also have shadows and outdoor lighting settings enabled. ![RealityPlan Visual effects settings](/_astro/realityplan-application-settings-visual-effects.BtAmHkyH_1yvMKd.webp) Note To use the sun you should also use the procedural skybox effect. We recommend to align the shadows from the sun with the ones that were originally scanned. # VR Settings > Enable VR in RealityPlan with our guide on requirements, navigation tips, and setup steps for an enhanced 3D visualization experience. Learn how to enable VR in RealityPlan, including requirements, navigation tips, and specific setup steps, to enhance your 3D environment visualization experience *** ## **Requirements for VR** [Section titled “Requirements for VR”](#requirements-for-vr) For VR to work with RealityPlan, you need: * A VR headset compatible with OpenVR, we recommend using the **HTC Vive** the **Oculus Rift** or the **Oculus Quest 2/3** ## Enabling VR [Section titled “Enabling VR”](#enabling-vr) You can enable VR through the settings of the application. Once enabled, you must **restart the application with your headset connected**. ![RealityPlan Enabling VR](/_astro/realityplan-enabling-vr.F5d0yfvR_25ImLM.webp) ## VR Navigation [Section titled “VR Navigation”](#vr-navigation) There’s two ways to navigate in the environment. * Walking, make sure to have enough space and setup your boundary properly * Teleporting, to teleport, simply **target your destination** and `click` with your VR controller. ## Additional steps for the Oculus Rift and the Oculus Quest [Section titled “Additional steps for the Oculus Rift and the Oculus Quest”](#additional-steps-for-the-oculus-rift-and-the-oculus-quest) For VR to work with RealityPlan and your Oculus device, you need: * The Oculus app installed on your computer * Third-party applications must be authorized to run in the Oculus app settings #### Oculus Quest additional requirements [Section titled “Oculus Quest additional requirements”](#oculus-quest-additional-requirements) The cable linking the Oculus Quest and your computer must be **USB3** (USB-C -> USB 3) Oculus Quest update version must be **>= 11** with **Oculus Link enabled**. If it is not, do the update from the Oculus Quest in the “About section” of the **Oculus Quest settings** ## Limitations [Section titled “Limitations”](#limitations) RealityPlan with VR only supports **visualization of the 3D environment**, which means no manipulation of the environment through the VR headset is possible at the time Only 3D models and the environment are shown in the VR headset, annotations and measures are not supported in the VR headset # Saving Layouts > Save and restore annotations, measures, and 3D objects in RealityPlan layouts for future use. Everything that you place in the environment, whether it is annotations, measures, 3D objects can be saved to be later restored. *** ## Saving and restoring a save [Section titled “Saving and restoring a save”](#saving-and-restoring-a-save) ### Saving [Section titled “Saving”](#saving) You may save your current layout (including cut parts of your space, annotations, measures, imported objects…) using the save menu in ***File > Save layout as***. You’ll be prompted to choose a save name. ### Restoring [Section titled “Restoring”](#restoring) To load a save you previously did, just use ***File > Open layout*** and select your previous save. ### Save location [Section titled “Save location”](#save-location) Saves are stored in the **current environment data folder** alongside RealityPlan application and only take context within the environment linked to the application. ### Load at startup [Section titled “Load at startup”](#load-at-startup) To set a layout to load at startup check the box to the right of the layout. The layout will automatically load whenever the environment is loaded. Note If you wish to share the environment with the save, you must share the application with the whole corresponding environment data folder. # Sharing Layouts > Share and import layouts easily with RealityPlan. Upload to Prevu3D Cloud for seamless collaboration and access without sharing the entire environment. ## Sharing a layout as a file [Section titled “Sharing a layout as a file”](#sharing-a-layout-as-a-file) If one of your collaborators already has the environment downloaded, you may export a layout file for it to be shared without having to share the whole environment again. To do so, just access the **Layout Manager** and export the layout you wish as a **.p3dl** file: ![RealityPlan Sharing a layout as a file](/_astro/realityplan-sharing-a-layout-as-a-file.DHS92Qcf_2bLDhw.webp) ![RealityPlan Sharing a layout as a file](/_astro/realityplan-sharing-a-layout-as-a-file-1.ningyI9g_wnnSS.webp) Your collaborator may now import this file back in the same environment from the Layout Manager again. Note We recommend using **.p3dl** file layouts only for sharing purposes. Use the default save system (described in this page first section) for saving your work on a regular basis. **Warning** Importing a **.p3dl** file in an environment different to the one it was exported doesn’t make sense, hence this possibility is blocked and will raise an error. ## Sharing a layout online [Section titled “Sharing a layout online”](#sharing-a-layout-online) Sharing your layout online is a convenient way to access and collaborate on your designs using the RealityPlan app. By uploading your layout to the Prevu3D cloud, you gain easy online access to your designs without the need to download the entire environment. Additionally, this method allows you to seamlessly share your layout with collaborators and simplifies the process of downloading your layout directly to the application. Follow these steps to share your layout online: ### Option 1: Share Your Current Layout [Section titled “Option 1: Share Your Current Layout”](#option-1-share-your-current-layout) 1. Click on the Share Layout button under the Share tab of the toolbar. ![RealityPlan Option share your current layout](/_astro/realityplan-option-1-share-your-current-layout.BNNNE2fr_Z20tc1y.webp) 2. In case you have unsaved changes, you will be invited to save those changes first ### Option 2: Share a Layout from the Layout Manager [Section titled “Option 2: Share a Layout from the Layout Manager”](#option-2-share-a-layout-from-the-layout-manager) 1. Open the RealityPlan app and access the **Layout Manager.** 2. Locate the specific layout you want to share. 3. Click on share layout button on the desired layout. ![RealityPlan Layout Manager share option](/_astro/realityplan-option-2-share-a-layout-from-the-layou.CEDdDyKh_Z142fEK.webp) 4. After saving changes to the current layout in the Layout Manager, the uploaded layout will be opened, and the upload will start. RealityPlan will now upload your current layout to the cloud. You will be able to monitor the upload progress. Once the upload is complete, a popup will open, allowing you to open the uploaded layout in the Prevu3D website. ![RealityPlan Layout Manager share option](/_astro/realityplan-option-2-share-a-layout-from-the-layou-1.Cymzlwk0_1vROjF.webp) ## Importing your online layouts [Section titled “Importing your online layouts”](#importing-your-online-layouts) To import the uploaded layouts back into the application, follow these simple steps: 1. Open your layout manager within the RealityPlan application. 2. Open the online layouts tab. ![RealityPlan Importing your online layouts](/_astro/realityplan-importing-your-online-layouts.Rg3QWPcu_REQ12.webp) 3. Click on the layout you want to retrieve. 4. A popup will appear, prompting you to confirm the download. 5. Once you confirm the download, the file will be automatically downloaded to your device, making it readily accessible for your use within the application. Note Only layouts uploaded from the version 3.22 onwards will be available in the online layouts tab. The application allows you to upload a layout to the Prevu3D Cloud Platform. Once the layout has been sent to the cloud, it can be shared with collaborators with a public link using Prevu3D’s web viewer. Note You need to be connected to access the layout sharing feature. For help on logging in see Login ### Upload your layout [Section titled “Upload your layout”](#upload-your-layout) Back in the desktop application, you may access the Share Layout button under the Share tab of the toolbar. In the case you have unsaved changes, you will be invited to save those changes first. Note If you wish to share the web viewer with the environment only (without layout), you can directly do it on the cloud platform. ### Access layout on cloud platform [Section titled “Access layout on cloud platform”](#access-layout-on-cloud-platform) Now that your layout is uploaded, you may access it on your cloud platform under the corresponding project. Everyone with the required roles will have access to it through the project page. ![RealityPlan Access layout on cloud platform](/_astro/realityplan-access-layout-on-cloud-platform.C2uvcvaV_26v73P.webp) ### Share to external collaborators [Section titled “Share to external collaborators”](#share-to-external-collaborators) During the project you may want to share some layout to people that are not part of your organization. You can do it using the share option next to the desired layout. ![RealityPlan Share to external collaborators](/_astro/realityplan-share-to-external-collaborators.Byzir9tK_2rtyoY.webp) You can setup a password and an expiration date. The generated link can be copied and shared with your collaborators. You can always revoke the access to a link by deleting it from your list of shared links. ![RealityPlan Share to external collaborators](/_astro/realityplan-share-to-external-collaborators-1.DiJhbxM7_1zmB6q.webp) Note The web viewer version is limited to the navigation and basic tools. You can visualize the layout and access your annotations easily but you can’t edit it. # Annotation > Enhance your 3D environment with RealityPlan's annotation tool, adding context, links, and sounds for immersive documentation at the right spot and time. RealityPlan provides multiple tools to document your space and **get relevant information at the right spot and at the right time.** *** ## Place annotations [Section titled “Place annotations”](#place-annotations) The annotation tool allows you to **contextually document your space** by placing annotations at specific spots in your 3D environment. These annotations can contain text, links, documents and much more ! ![RealityPlan Place annotations](/_astro/realityplan-place-annotations.C2Ce5dsJ_ZmhINU.webp) To place an annotation, your must : * **Open** the **annotation tool** from the toolbar * **Click on the point** of the environment where you want to place the annotation * The object panel will show up for you to fill it up with the relevant information and add attachments if required. You can also resize the distance between the annotation and its closest surface by simply moving the slider of the “**Offset**” parameter as you can see on the screenshot above. Color can also be customized to categorize your annotations ! Note * To later open an annotation you just have to `mouse left-click` on the annotation pin. * Double-Clicking on an annotation will teleport you nearby this annotation. **A sound or music** may also be added to an annotation to make your environment more immersive. ![RealityPlan Place annotations](/_astro/realityplan-place-annotations-1.C586eHsa_Z1pJhbj.webp) Note This sound can then be spread **globally** in your environment or only around a **certain distance** from your annotation. Both sound distance and volume can be changed in the annotation settings. # Basic 3D Shapes > Create stunning 2D and 3D shapes with RealityPlan's shape tool. Easily adjust, texture, and position shapes for your design needs. The 3D library allows you to draw 2D and 3D shapes in your space. It can be useful for validating clearances or filling in a blank space. ![RealityPlan Basic 3D shapes tool](/_astro/realityplan-tools-basic-3d-shapes.V663-Ymv_1fVYB0.webp) *** ## Drawing a basic shape [Section titled “Drawing a basic shape”](#drawing-a-basic-shape) RealityPlan offers three basic shapes: cylinder, cube, and plane. To place a shape: 1. **Open the 3D library** from the toolbar. 2. **Select the shape** you want to place. 1. **For cylinders or cubes**, click the environment to insert the shape. 2. **For planes**, click the environment multiple times to draw the shape’s outline. Click the first point a second time or press `Enter` to complete the outline definition. 3. You may **adjust the size and position** of the shape with the **handles** surrounding it. You can also show additional handles by pressing `R` on your keyboard. [](/videos/place_primitive_3.5.0-64999813dcf6f8b921adc316bb1be414.mp4 "Placing a basic 3D shape") Tip * If you want to accurately resize the placed shape, use the property panel of the shape, where you can type-in numerical values. * The plane shape may be used to do a manual hole filling after using the [cut tool](/en/realityplan/tools/cut-environment/). ## Coloring and texturing [Section titled “Coloring and texturing”](#coloring-and-texturing) You can easily **texture and color** the faces of the shapes using the shape’s **Settings panel**: * Click the texture box to open the texture library, and apply a texture to the shape. You may import **external textures** using the **import material** button. The textures also support video playback. * Supported file extensions: **png**, **jpg**, **jpeg**, and **mp4**. * Click the **stretch texture** button next to the texture box to repeat or extend the texture on the shape. * Click the **Select color** box to change the shape’s color. You can then choose a custom color or pick one directly from the environment. * Set simple Physically Based Rendering materials (e.g., glass, mirror, steel) by using the **Material presets**. * Set advanced PBR properties by adjusting the transparency, smoothness, and metallic sliders ![RealityPlan Coloring and texturing](/_astro/realityplan-coloring-and-texturing.uOIO4pi0_H2Vbt.webp) ### Face-Specific Texturing (Cube Primitive) [Section titled “Face-Specific Texturing (Cube Primitive)”](#face-specific-texturing-cube-primitive) Use the **Modify textures on individual sides** button to apply different textures to each face of the cube primitive. This allows for more precise visual representation—such as showing a reference image (e.g., shelving) on one side—while keeping the remaining faces neutral or have it’s own texture. ![RealityPlan Face specific texturing cube primitive](/_astro/realityplan-face-specific-texturing-cube-primitive.CkvWw8wT_Z2ti6yM.webp) ### Basic Positioning [Section titled “Basic Positioning”](#basic-positioning) By default, a shape’s origin sits at its **geometric center**. This origin is the shape’s pivot point: it is the point that meets the surface you click on, the point the shape rotates around, and the point where the **handles** appear — so it is where you grab the shape to move and rotate it. To move the origin to the bottom of the shape instead, select the shape and enable **Place origin at the base** in its **Settings panel**. The pivot then sits at the lowest point of the shape’s bounding box, which is ideal for floor alignment or stacking. ![The Place origin at the base toggle, off and on](/_astro/realityplan-place-origin-at-the-base.D1kcNLEo_NGvDe.svg) ![RealityPlan Basic positioning](/_astro/realityplan-basic-positioning.BjTwpHfD_Z2vRom0.webp) This toggle is especially useful for fast and consistent shape placement without [manually adjusting the pivot in the scene](#advanced-positioning-change-pivot-point). Tip **Place origin at the base** is off by default, and every shape you draw from the 3D library starts with it off — the setting applies to the individual shape, not to the library. If you need several shapes with their origin at the base, set one up the way you want it and then **copy and paste** it, rather than drawing each one from the library. Note Imported 3D models use a four-option **Origin** setting instead of this toggle — see [Choosing an origin](/en/realityplan/tools/import3d/#choosing-an-origin). ### Advanced Positioning: Change pivot point [Section titled “Advanced Positioning: Change pivot point”](#advanced-positioning-change-pivot-point) This tool enables you to temporarily change the pivot of an object, placing it anywhere on the scene. This allows for more precise movement, especially for large assets. To use this feature: 1. Select the object 2. Select the **Change pivot** option from the contextual menu using the mouse `right-click`. `Click` any point in the environment to relocate the pivot to the desired position. ![RealityPlan Dynamic positioning controls](/_astro/realityplan-advanced-positioning-change-dynamicall.DT01Dz8i_ZD9Ixm.webp) ### Advanced Positioning: Use offset placement [Section titled “Advanced Positioning: Use offset placement”](#advanced-positioning-use-offset-placement) This tool lets you move a shape by manually entering offset distances for translation and rotation angles. To use this feature: 1. Select the object 2. Select the **Use offset placement** option from the contextual menu using the mouse `right-click`. Enter values for translation and rotation along axes X, Y and Z, then click **Apply**. ![RealityPlan Offset placement](/_astro/realityplan-offset-placement.DblRb3cm_17mHRf.webp) ## Exporting [Section titled “Exporting”](#exporting) Similarly to 3D models, the 3D shapes can be [exported](/en/realityplan/tools/export-3d/). # Clash Detection > Optimize your RealityPlan Projects with the Clash Detection Tool for accurate collision detection, preventing costly errors in construction and engineering. The Clash Detection Tool offers accurate collision detection, enabling early identification and resolution of design conflicts. This feature is crucial for preventing costly errors in design, construction, and engineering projects. *** ## How to Access the Clash Detection Tool: [Section titled “How to Access the Clash Detection Tool:”](#how-to-access-the-clash-detection-tool) 1. **Right-click** on the asset either in the 3D environment or in the right-side panel. ![RealityPlan How to access the clash detection tool](/_astro/realityplan-how-to-access-the-clash-detection-tool.Blb6vD9J_2onThj.webp) 2. Select **“Evaluate Clash”** from the context menu. 3. **Choose the object or environment** you want to evaluate against. ![RealityPlan How to access the clash detection tool](/_astro/realityplan-how-to-access-the-clash-detection-tool-1.DD06eXxc_NVPNF.webp) 4. \[Optional] You may enable or not the “Evaluate Clearance” 1. **Clearance Collision Detection**: identifies clashes beyond the object boundaries. Helping users to determine if an object can navigate narrow paths or fit through doorways. 5. Wait for the tool to process and display the results. ![RealityPlan How to access the clash detection tool](/_astro/realityplan-how-to-access-the-clash-detection-tool-2.BH6fRsEe_1SoOuC.webp) ## How to interpret results [Section titled “How to interpret results”](#how-to-interpret-results) There are two states of clash detection: 1. **No clash detected** The window will indicate that there is no clash occurring. The asset will have a green outline as well. ![RealityPlan How to interpret results](/_astro/realityplan-how-to-interpret-results.C7XeLMee_Tyjrx.webp) 2. **Clash detected** The window will indicate that there is a clash occurring. On the asset, there will be **red** coloured dots that indicate at which points the two assets are clashing. ![RealityPlan How to interpret results](/_astro/realityplan-how-to-interpret-results-1.xQjqAE0M_Zi5aWU.webp) 3. **Clearance collision detected** The window will indicate that there is a “Clearance collision detected”. On the asset, there will be **yelow** coloured dots that indicate at which points the two assets don’t respect the **Clearance distance** defined. ![RealityPlan How to interpret results](/_astro/realityplan-how-to-interpret-results-2.BYLml66J_UiEI7.webp) Note In addition to RealityAssets, imported 3D models and primitives can be evaluated for clashes against other objects or environmental factors. # Clipping Box > Learn how to use Clipping Boxes and the Clipping Manager to isolate, edit, and export sections of your 3D environment with ease and precision. Clipping Boxes are a great way to focus your attention to a specific area of your environment. *** ## Clipping manager [Section titled “Clipping manager”](#clipping-manager) You can create a Clip in order to view sections of your space. In order to create a new Clip: 1. Select the Clipping Manager tool located in the top toolbar. 2. Choose either a global or a local clips to create sub-areas. 3. You can use the handles to edit your Clip to the desired size and position by selecting faces. The face you select will highlight in blue, making it easier to see which side you are adjusting. ![RealityPlan Clipping Manager](/_astro/realityplan-clipping-manager.B78Qgx_x_2mopFv.webp) Multiple operations are available to operate on the content of the clip box: * Duplicate * Cut * Create orthophoto * Floor plan * Export 3D ![RealityPlan Clipping Manager](/_astro/realityplan-clipping-manager-1.BLM-xnSM_1hKJhb.webp) Note Three buttons can be found at the right of each clips: | Icon | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | ![Settings icon](/_astro/realityplan-clipping-manager-2.CEHRZ9yg_maXIy.webp) | **Settings** — Gives you an access to the operations you can do on the content of the clip | | ![Lock or unlock icon](/_astro/realityplan-clipping-manager-3.CriwRag9_JHu90.webp)![Lock or unlock icon](/_astro/realityplan-clipping-manager-4.3MuYTsGJ_qOXDU.webp) | **Lock/unlock** — Allows you to lock/unlock a clip so that it cannot be selected (except from the clipping manager panel) until you unlock it | | ![Teleport icon](/_astro/realityplan-clipping-manager-5.CFs52VdK_apL45.webp) | **Teleport** — Teleports you directly to the clip | # Constraints > Discover how to use Constraints in RealityPlan to set distances, align objects with walls or references, and control flush or mate relationships in 3D spaces. Constraints allows you to set specific distances and relationships between objects in your space. *** ## Constraints [Section titled “Constraints”](#constraints) This tool allows you to place an object in relation to its environment and surrounding objects. You can use references from your environment, such as walls, or local references you create in order to dictate your selected object’s position and orientation. ![RealityPlan Constraints](/_astro/realityplan-constraints.CLl9bpC3_Z5vb0e.webp) ## Environment [Section titled “Environment”](#environment) RealityPlan uses your space to create basic references for your objects. For example, you can use environment references to constrain an object at a strict distance from an existing wall. ![RealityPlan environment reference constraint](/_astro/realityplan-environment.DxxSwUjY_29TvW5.webp) ## Local references [Section titled “Local references”](#local-references) This feature allows you to create your own references. Create a new Local Reference by selecting your environment in your Object Panel. The docked window at the bottom of the panel will display a button labelled “Create a new reference”. Position your reference point where you want in your space and adjust it to your desired orientation. Objects can now use this Local reference to restrain their movements, ensure clearances to surrounding machinery, and more. ![RealityPlan Local references](/_astro/realityplan-local-references.Cdu5Scz6_21cx4K.webp) ## Flush or mate [Section titled “Flush or mate”](#flush-or-mate) When selecting a constraint for your object, two additional options are available to you. You can set the constraint to be Flush or Mate, meaning either side by side or face to face. ![RealityPlan Flush or mate](/_astro/realityplan-flush-or-mate.DquSJEdl_ZxRg14.webp) # Cut Environment > Effortlessly extract and export parts of your space with the mesh cutting tool, perfect for virtual staging and precise object manipulation. The mesh cutting tool allows you to extract any part of your space easily. You can later export these parts to use in another software, or move these extracted parts elsewhere in the environment for virtual staging purposes. *** ## Basic cut with hole filling [Section titled “Basic cut with hole filling”](#basic-cut-with-hole-filling) To easily extract an object and fill the blank left by the extraction: 1. **Select the mesh cutting** tool in the toolbar 2. **Place points at the base** of the object you want to extract. Once you formed the base you can close it pressing `Enter` or by `clicking` on the **first point** 3. **Extrude the base** by placing your **mouse cursor at the top of the object**, then press `Enter` 4. **Adjust the height** of the selection box 5. Fill the name of the extracted object then validate, the cutting process will start [](/videos/extract_3.15-5b737f9c7e2efab6a665b4d8fededf99.mp4 "Extracting part of an environment") Note * You may adjust the height of the selection box with the handles surrounding the box or by using the slider in the validation window * If you choose the option Save extracted object, the object will be kept in the environment and saved in the library. The extracted object is totally detached from the cut itself Like any tool, you may cancel the tool by pressing on Escape. ## Manual hole filling [Section titled “Manual hole filling”](#manual-hole-filling) Hole filling only works well in plane surfaces and right angles surfaces (a floor and a wall for example). If you wish to do the **hole filling manually**, you can disable the auto-generated hole filling using the object panel and use the [3D shape tool](/en/realityplan/tools/basic-3d-shapes/) **to fill up the left blank space with a textured plane**. ## Exporting the extracted objects [Section titled “Exporting the extracted objects”](#exporting-the-extracted-objects) You may [export the extracted object as a mesh or a pointcloud](/en/realityplan/tools/export-3d/) file with colors/textures by selecting them and choosing a destination for the file to be exported to via ***File > Export selected object*** or by choosing the ***Export*** option in the property panel or the object’s contextual menu. ## Removing a cut [Section titled “Removing a cut”](#removing-a-cut) Once your environment has been cut, you may want to undo the cut. Performing this operation may take a while because the whole environment will need to be restored and re-cut. As a consequence, a warning may show up if you try to remove a cut. If you wish to remove all of the cuts of the environment, it is recommended do so via ***File > Clear layout***, which is much faster than removing all the cuts one by one. ## Performances and limitations [Section titled “Performances and limitations”](#performances-and-limitations) Although the mesh cutting tool is heavily optimized, it might take some time for big objects to be extracted and exported. Mesh cutting might not work properly if you select huge areas or if you use it on a PC that only meets the [minimum requirements](/en/realityplan/getting-started/installation/). # Export 2D > Generate accurate 2D floor plans and orthophotos with multiple layers, exporting as PNG, JPEG, or AutoCAD DXF for versatile design needs. The application allows you to easily generate a **2D plan from a slice of the environment**. You can export the generated plans as PNG/JPEG image or as AutoCAD DXF. *** ## Generate a simple or multiple layer plan [Section titled “Generate a simple or multiple layer plan”](#generate-a-simple-or-multiple-layer-plan) ![RealityPlan 2D export tool](/_astro/realityplan-tools-export-2d.CHqm7WW3_chMAQ.webp) To generate a plan: 1. Select the **export** -> **floor plan tool** in the **toolbar** 2. **Adjust the height** of the slice you want to make a floor plan with 3. Choose whether you want to **include the 3D models and measures** in the floor plan 4. Click on **Export** to save the plan as an image (PNG, JPEG) or as a DXF file (AutoCAD) Note For more accuracy on your plan, you may also include multiple layers in the plan. After you enable “Multiple layer plan”: * A double slider will appear for you to select the span where the layers will appear * You may also change the plan density (number of layers in the span) ### Floor plan settings [Section titled “Floor plan settings”](#floor-plan-settings) | Setting | What it does | | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Clipping box** | Restricts the plan to one zone. Select **Environment** to slice the whole environment, or select a clipping box to keep only what is inside it. | | **Multiple layer plan** | Slices at several heights instead of one. Each slice is kept separate in the generated plan, at its own height level, rather than being flattened into a single outline. Adds a double slider for the span and a plan density control. | | **Include shapes in plan** | Adds the primitives you created (plane, cube, cylinder) to the plan — see [Basic 3D Shapes](/en/realityplan/tools/basic-3d-shapes/). In the DXF they are drawn with **blue** lines, while the environment is drawn with **red** lines. | | **Include objects in plan** | Adds 3D models — both models brought in with [Import 3D](/en/realityplan/tools/import3d/) and [RealityAssets](/en/realityplan/tools/realityassets/) that were cut out of the environment and moved elsewhere. They are also drawn with blue lines. | | **Quality** | Selects which level of detail is loaded from the tiling system for the environment. **High** picks the highest level available, for the most accurate representation of the geometry; **Medium** picks a level in the middle; **Low** picks a coarser level and is the fastest. | | **Simplify** | A post-process that reduces the number of points on the exported polylines. It produces a lighter, easier-to-edit DXF, at the cost of some fidelity on curves. | | **Plan’s height** | The height of the slice through the environment, shown in the viewport as a **pink line**. | [](/videos/2d-plan_3.12-b21c836e2d561326b6f795edd037ff7d.mp4 "Creating a 2D plan") Note * For DXF plans, the environment and the 3D models are placed on a different layer * For PNG/JPEG plans, the environment and the 3D models are shown in a different color ## Generate an orthophoto (orthographic image) [Section titled “Generate an orthophoto (orthographic image)”](#generate-an-orthophoto-orthographic-image) Using the Clipping Box tool, you can generate orthophotos using various visualization modes. Using the face selector, you can easily select the face you would like to export as an orthophoto. The face that will be exported is always highlighted in red and you may resize the section of the face export by using the mouse to resize the clipping box. ![RealityPlan Orthophoto export area](/_astro/realityplan-generate-an-orthophoto-orthographic-im.O60l9qfb_ZueHWj.webp) ### Orthophoto settings [Section titled “Orthophoto settings”](#orthophoto-settings) | Setting | What it does | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Clipping box** | Restricts the orthophoto to one zone. Select **Environment** to export the whole environment, or select a clipping box to keep only what is inside it. | | **Face to export** | Which face of the box is rendered: **Top** for a plan view, or **Back**, **Left**, **Right** and **Front** for elevations. | | **Quality** | Sets both the pixel density of the image and the level of detail loaded from the tiling system. See [Export resolution](#export-resolution). | | **Visualization modes** | Renders the orthophoto with **Default**, **Height**, **Matcap** or **X ray** shading. **X ray** is often the best choice, as it brings out edges and outlines that are hard to read in the colored point cloud. Each mode has its own settings, reachable from the gear icon next to the selector. | | **Transparent background** | When enabled, areas where no environment is visible are exported as transparent instead of black, so the orthophoto can be layered over a drawing or a map. | ### Supported formats [Section titled “Supported formats”](#supported-formats) The following formats are supported for orthophotos export: | Extension | Type | Comment | | --------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | PNG | Image | A single image. Capped at 16,384 px on the longest side. | | PGW | World file, written alongside the PNG | A small text file recording the orthophoto’s real-world position and scale, so the PNG lands at the correct place and size when loaded into GIS or CAD software instead of having to be aligned by hand. | | DXF | DXF with XREF images | Exported as image tiles rather than one merged image, so there is no resolution cap. You may have to reload the XREF images in AutoCAD for them to appear. Opening DXF with XREF images is only supported with Autodesk viewers (AutoCAD etc.) | ### Export resolution [Section titled “Export resolution”](#export-resolution) The resolution of an orthophoto is the physical size of the exported face multiplied by the pixel density of the quality setting: | Quality | Minimum pixel density | Resulting ground sample distance (GSD) | | ------- | --------------------- | -------------------------------------- | | Low | 50 px/m | 2 cm per pixel | | Medium | 100 px/m | 1 cm per pixel | | High | 200 px/m | 0.5 cm per pixel | Note Read these figures as the **minimum** the export targets, not as a fixed accuracy. They follow from the way the orthophoto is sampled, so the result can come out finer than the value in the table. They also describe how finely the environment is sampled into the image — not the survey accuracy of what you measure on it, which depends on the accuracy of the underlying capture and its registration. At **Medium** quality, a 40 m x 30 m face is exported at 4,000 x 3,000 px, and a 160 m x 120 m face at 16,000 x 12,000 px. Quality also selects the level of detail loaded from the tiling system for the render, so **High** produces both a finer image and a more detailed representation of the environment. Note **PNG** exports are limited to **16,384 px** on the longest side. When the target resolution exceeds that, both dimensions are scaled down proportionally, so the effective GSD on a large area is coarser than the chosen quality suggests. **DXF** exports have no such limit: the image is written as individual tiles referenced as XREFs instead of one merged file, so a large area keeps the full GSD of the chosen quality. Export as DXF when you need to preserve accuracy over a large area. # Export 3D > Export 3D models in various formats, including Point Clouds and grouped objects, with easy options for precise control over your exports. The application supports the **export of 3D models under multiple formats**. *** ## Exporting a 3D object [Section titled “Exporting a 3D object”](#exporting-a-3d-object) To export an object 1. Click to select object 2. Use the menu ***File > Export selected objects***. You will be prompted to select the exported object disk location and format. You may also export the object using the selected object property panel, or the contextual menu associated to the object. Note All 3D models of the application can be exported, this includes : * The parts of the environment extracted with the mesh cutting tool or a clipping box * The 3D shapes (textured or not) * Imported 3D models ## Supported formats [Section titled “Supported formats”](#supported-formats) | Extension | Type | Comment | | ----------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------ | | OBJ | MESH | A MTL file and some PNG/JPEG textures are usually exported alongside the .OBJ file. | | DXF | CAD SURFACIC | Colors from the texture are associated to each face (textures are not supported by DXF). Heavy DXF may hardly open in CAD softwares. | | TXT | POINTCLOUD | Exported under the format **X Y Z R G B NX NY NZ**. User is prompted to setup density before export. | | GLB (binary GLTF) | MESH | - | | FBX | MESH | - | | STL | MESH | - | | PLY | MESH | Colors from the texture are associated to each vertex of the mesh (textures are not supported by PLY) | | RCP | POINTCLOUD | User is prompted to setup density before export. | | USDZ | MESH | - | | JT | CAD | Compatible with Siemens JT2Go | ## Exporting a group of objects as a single object [Section titled “Exporting a group of objects as a single object”](#exporting-a-group-of-objects-as-a-single-object) If you wish to export multiple objects as a single object, you can use the `Shift` key to select the objects then save them export them using ***File > Export selected objects***. ## Export contents of a clipping box [Section titled “Export contents of a clipping box”](#export-contents-of-a-clipping-box) You can easily export the contents of a clipping box as either a Point Cloud, 3D objects and more, including JT format. First, create a Clip for the desired area you wish to export. Then, `right-click` on your box and select Export Content. ## Export options [Section titled “Export options”](#export-options) After confirming an export, you will be prompted with the **Export options** panel. ![RealityPlan Export options](/_astro/realityplan-export-options.Dr4GVcZT_1lmcGy.webp) ### Global coordinates (coordinate consistency) [Section titled “Global coordinates (coordinate consistency)”](#global-coordinates-coordinate-consistency) When the Global coordinates option is enabled, the model will be exported at its position within the environment, otherwise its origin will be re-centered to the middle of the object. # Import 2D > Learn how to import and align 2D floor plans or DXF files in Prevu3D. Position, scale, and customize layers for accurate spatial context. Importing 2D plans of your environment is a great way to add context to your space. *** ## Import floor plans [Section titled “Import floor plans”](#import-floor-plans) You can import floor plans & images as planes to your environment. To do so, press the **2D Import button** in the toolbar. Select the image, or DXF file you would like to import, and follow the directions. ### DXF Files [Section titled “DXF Files”](#dxf-files) Caution In order to preserve the text and other element, it is highly recommended to “EXPLODE” your DXF file. See the following [guide](/en/guides-and-faqs/explode-command-for-dxf-file-importation-in-prevu3d/) for more details. Follow the steps to align the height of the 2d plan to the floor of the environment. ![RealityPlan DXF file import](/_astro/realityplan-dxf-files.O5YIAI4a_1MVrzy.webp) You may edit the settings if you wish to hide elements (layers) from the DXF file. ![RealityPlan imported DXF drawing](/_astro/realityplan-dxf-files-1.C1SDDVwH_W8IN2.webp) Your floor plan will appear in your in your space. You can hide it via the Object Panel (show/hide). ![RealityPlan DXF layer controls](/_astro/realityplan-dxf-files-2.CgRsuwZ5_120ayV.webp) ### Images [Section titled “Images”](#images) Our step by step guide will help you throughout the process. This will position and scale the image properly based on your inputs. The image can always be moved and rescaled later on. ![RealityPlan Images](/_astro/realityplan-images.jIrVZX9__uS6qi.webp) ### Advanced Positioning: Change pivot point [Section titled “Advanced Positioning: Change pivot point”](#advanced-positioning-change-pivot-point) This tool enables you to temporarily change the pivot of a floor plan, placing it anywhere on the scene, this allows for more precise movement, specially for large assets. To use this feature: 1. Select the object 2. Select *change pivot* option from the contextual menu using the mouse `right-click`. You can then move your mouse to the desired pivot position and `click` on it to set it as the pivot point ![RealityPlan Pivot point controls](/_astro/realityplan-advanced-positioning-change-pivot-poin.Lllbc1yB_19yB0q.webp) # Import 3D from Sketchfab > Learn how to import 3D models from Sketchfab into RealityPlan. Set up access, search models, filter results, and use your personal Sketchfab library. If you need to access your Sketchfab models or are looking for a specific model, the **import from Sketchfab** tool is a fast way to access a massive library of 3d models quickly. *** ## Setting up [Section titled “Setting up”](#setting-up) To access the tool `click` on the **Import model from sketchfab** option inside the **Import 3D model** tool. ![RealityPlan Setting up](/_astro/realityplan-setting-up.DItFYUr1_ZIIIGj.webp) ### Login [Section titled “Login”](#login) When opening the tool a browser window will open asking you to `log in` or `register` to sketchfab. Once logged in, you’ll be asked the permission to allow the RealityPlan app to access to your Sketchfab. After allowing it, you’ll be redirected to a success window. ![RealityPlan Login](/_astro/realityplan-login.9lNVVRZt_2nglux.webp) ## Searching models [Section titled “Searching models”](#searching-models) To search for a specific model use the search bar on top in the search model tab. Once you’ve found a model that you like you can check more information about it by clicking on the info button. this will show you information like the description and the license for the model. Note Remember to always check the license associeted to the models you use. Some models may have strong license restrictions. You are responsible for the use of those 3D models. ![RealityPlan Searching models](/_astro/realityplan-searching-models.MBrvKmQm_1VflXi.webp) ### Advanced search options [Section titled “Advanced search options”](#advanced-search-options) To filter the results further you can use the dropdown menu to the right to look for models in a specific **category**; in case the search results shown don’t fit your specifications, you may also use the toggle on the top right to show paid models. ![RealityPlan Advanced search options](/_astro/realityplan-advanced-search-options.BMSMv5V2_29eN5q.webp) ### Accessing your personal library [Section titled “Accessing your personal library”](#accessing-your-personal-library) To access your personal models `click` on the “personal content” tab on the top bar of the window. ![RealityPlan Accessing your personal library](/_astro/realityplan-accessing-your-personal-library.DLR3Y5vf_Z19NNdS.webp) By default the personal models tab will show you the models you personally uploaded to sketchfab. Note To show models you’ve added to your collections or to better filter your own updated models, you can make use of the collections dropdown menu. # Import 3D > Import and place 3D models in RealityPlan, adjusting settings for precise layout design and seamless integration in your scanned environment. Whether it is to validate a fit plan or design your new space layout, RealityPlan supports a large range of 3D models that you can import in your scanned environment. *** ## Import and place a 3D model [Section titled “Import and place a 3D model”](#import-and-place-a-3d-model) ### Adding the model to the library [Section titled “Adding the model to the library”](#adding-the-model-to-the-library) To import a model, proceed as follows : * Press the 3D import button in the toolbar and select the file your want to import from the disk * A window will show up for you to edit the settings of the 3D model you want to import : ![RealityPlan Adding the model to the library](/_astro/realityplan-adding-the-model-to-the-library.D5ZtkTEi_Z1T3II9.webp) * Change the object name to your preference * Select the file unit, it corresponds to the initial unit of the object (if the object was created and saved in millimeters, you should choose millimeter) * Choose an **Origin** for the import. This sets where the object’s pivot point sits, which affects how you place and rotate it afterwards — see [Choosing an origin](#choosing-an-origin) below. * You can flip the y and z axis of the imported object using the flipYZ toggle. * You can track changes to the source file to later update the asset by using the **File tracking** toggle. * You may also adjust the rotation and scale of the 3D model, then you can add it to the library by pressing Import Object Tips & Tricks * Once the object is added to the library, you can place instances of it anywhere in the environment. * You can always use the human body as a reference to confirm the scaling of your object * To mirror the model — handy for producing left/right-handed variants (e.g. a mirrored machine or fixture) — use the following import settings: * **Rotation X:** 180 * **Rotation Y:** 180 * **Scale:** -1 The negative scale reverses the geometry, while the 180° rotations on the X and Y axes restore the correct upright orientation. The preview then reports **Flush** for both dimension callouts, confirming the mirrored asset keeps the same overall dimensions as the original. ![Comparison of a mirrored asset next to the original](/images/docs/realityplan-mirror-asset-with-negative-scale.png) * Once the object is added to the library you can always change the import settings by using the **edit** button on top of the object inside the library. ![RealityPlan Adding the model to the library](/images/docs/realityplan-adding-the-model-to-the-library-1.png) Caution Modifying an object in the library will not change any instance of the asset that is already placed on the layout ### Choosing an origin [Section titled “Choosing an origin”](#choosing-an-origin) The **Origin** setting defines where the object’s **pivot point** sits. The pivot is: * the point that follows your cursor while you place the object, * the point that meets the surface you click on, * the point where the **handles** appear, which is where you grab the object to move and rotate it. This one choice therefore affects every placement and adjustment you make with the asset afterwards. ![The four Origin options: Original, Center, Base and Global](/_astro/realityplan-origin-options.DANbiI0p_Z2vtQ3S.svg) | Origin | Where the pivot is placed | Choose it when | | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | | **Original** | At the pivot defined in the source file. Depending on how the model was authored, this can sit anywhere — including well outside the geometry, which is common with CAD and BIM exports. | The source file already has a pivot you want to keep. | | **Center** | At the geometric center of the object’s bounding box. | The object hangs or floats, or you want it to rotate around its middle. | | **Base** | At the lowest point of the object’s bounding box. | The object sits on a surface — furniture, equipment, machinery, or anything you want to stack. | | **Global** | At the environment origin (0, 0, 0), so the geometry keeps the X, Y and Z coordinates stored in the file. | The model comes from a project already aligned with your scan and its position must be preserved exactly. | Caution **Global** places the object at the world position recorded in its file. **Don’t use** this option if you want to place the object freely with the mouse. Tip The origin you pick at import is the object’s **default** pivot. Once an instance is placed in the environment, you can relocate its pivot temporarily — without re-importing the model — using [Change pivot point](#advanced-positioning-change-pivot-point). ### Placing and adjusting the object in the environment [Section titled “Placing and adjusting the object in the environment”](#placing-and-adjusting-the-object-in-the-environment) You can place any object from the library by clicking on its preview icon then placing the object in the environment : [](/videos/library-placing_3_1.mp4 "Placing a library asset") Tip * You can **rotate** and **move** the object using the handles all around it * Press `R` to show all handles * Press `Delete` to remove the object ### Advanced Positioning: Change pivot point [Section titled “Advanced Positioning: Change pivot point”](#advanced-positioning-change-pivot-point) This tool enables you to temporarily change the pivot of an object, placing it anywhere on the scene, this allows for more precise movement, specially for large assets. To use this feature: 1. Select the object 2. Select *change pivot* option from the contextual menu using the mouse `right-click`. You can then move your mouse to the desired pivot position and `click` on it to set it as the pivot point ![RealityPlan Dynamic positioning controls](/_astro/realityplan-advanced-positioning-change-dynamicall.DT01Dz8i_ZD9Ixm.webp) ### Advanced Positioning: Apply Offset Tool [Section titled “Advanced Positioning: Apply Offset Tool”](#advanced-positioning-apply-offset-tool) The **Apply Offset Tool** provides precise control over an object’s position and orientation, allowing for adjustments in translation and rotation. This tool can be accessed through the **contextual menu** by `right-clicking` the object. 1. **Translation Adjustments**: * Navigate to the **Translation** tab. * Choose the unit of measurement (e.g., metric or imperial). * Enable or disable the **Local toggle** for local or global axis adjustments. * This is to move alongside the object local coordinate system or the global one (environment). * Input desired offset values in the X, Y, and Z fields (e.g., 0.05 meters along the X-axis). 2. **Rotation Adjustments**: * Switch to the **Rotation** tab. * Input desired rotation angles for the object around its X, Y, and Z axes. 3. **Apply Changes**: * Click **Apply** to save changes and adjust the object’s position or orientation. * Use **Reset Offset** to revert to the original state if necessary. This tool is ideal for fine-tuning object placement in complex environments where precision is essential. ![RealityPlan Advanced positioning apply offset tool](/_astro/realityplan-advanced-positioning-apply-offset-tool.MGKNHgKz_1pgdCd.webp) ## Color override [Section titled “Color override”](#color-override) This feature allows you to change the color of an object to any solid color. To use it **place** and **select** the target object on the environment, then toggle the enable *color override* option and select the desired color using the color picker window that is opened by `clicking` on the color bar that appears below the toggle. ![RealityPlan Color override](/_astro/realityplan-color-override.DvPwZpjU_Q9AeC.webp) ## Supported 3D formats [Section titled “Supported 3D formats”](#supported-3d-formats) | Extension | Type | Supported Versions | Comment | Level of Details | | -------------- | ---- | ------------------- | -------------------------------------------------------------- | ---------------- | | FBX (Autodesk) | MESH | - | ASCII and BINARY are supported. Animations & PBR are supported | No | | OBJ | MESH | - | - | No | | glTF 1 & 2 | MESH | - | - | No | | GLB | MESH | - | Animations & PBR are supported | No | | STEP | CAD | AP203, AP214, AP242 | - | No | | IGES, IGS | CAD | Up to 5.3 | - | No | | DAE (Collada) | MESH | - | - | No | | STL | MESH | - | - | No | | PLY | MESH | - | - | No | | X3D | MESH | - | Textures might not always be supported | No | | 3DS | MESH | - | Textures might not always be supported | No | | IFC | CAD | 2x3, 2x4, 4 | Metadata supported | Yes | | JT | CAD | 6.4 to 10.10 | Metadata supported | Yes | | NWD, NWC | CAD | 2016 to 2026 | Metadata supported | Yes | | RVT | CAD | 2011 to 2026 | Metadata supported | Yes | | RVM | CAD | - | Metadata supported | Yes | About Levels of Detail (LOD) Levels of Detail (LOD) are simplified representations of 3D models that dynamically adjust based on the viewer’s distance or context. This allows the system to display high-fidelity geometry up close while using lighter versions at a distance, ensuring smooth visualization without compromising visual accuracy where it matters most. For models marked with **“Yes”** in the matrix above, **Prevu3D** automatically generates and integrates Hierarchical Levels of Detail (HLODs) upon import to optimize real-time performance, reduce memory usage, and maintain a seamless user experience. ## PBR support [Section titled “PBR support”](#pbr-support) Importing PBR 3D models (physically based rendering) is fully supported for models of both the FBX and the GLB formats. Importing other formats of PBR models may give mitigated results. When importing some PBR models, think about using some effects to get the best visuals ! ![RealityPlan PBR material support](/_astro/realityplan-pbr-support.CeoxcXMU_ZO8AvE.webp) ## Animations support [Section titled “Animations support”](#animations-support) Animations are fully supported at import for both the FBX and the GLB formats. Note that using to many animations may affect performances. ## Metadata support [Section titled “Metadata support”](#metadata-support) When importing an asset, it may include an associated metadata file (refer to the [list](/en/realityplan/tools/import3d/#supported-3d-formats) of file formats with the “Metadata supported”). You can visualize this metadata and the corresponding part of the model by using the **metadata inspector**. To access the **metadata inspector**, follow these steps: 1. Select the asset you wish to inspect. This action will open the object panel for that asset. 2. Inside the object panel, locate the `Inspect metadata` button at the bottom. If the button initially displays `loading metadata`, wait for it to change color. If you do not see the `Inspect metadata` button, it indicates that the asset has no associated metadata. ![RealityPlan Metadata support](/_astro/realityplan-metadata-support.wVSm-34n_1KzVPV.webp) ### Inspecting the model’s metadata [Section titled “Inspecting the model’s metadata”](#inspecting-the-models-metadata) #### Navigating the hierarchy [Section titled “Navigating the hierarchy”](#navigating-the-hierarchy) The tool’s window provides a structured hierarchy of objects present in the metadata files. This hierarchy helps you understand how the metadata is organized and connected to various parts of your model. ![RealityPlan Navigating the hierarchy](/_astro/realityplan-navigating-the-hierarchy.SpJvwDFS_ZjYYT2.webp) #### Viewing Metadata for a selected part [Section titled “Viewing Metadata for a selected part”](#viewing-metadata-for-a-selected-part) To inspect the metadata for a specific part of the model, you have two options: * Hover Over in the Mesh: Simply hover your cursor over the desired part in the 3D mesh representation of your model. The tool will automatically highlight and display the associated metadata for that particular part. * Select in the Hierarchy View: Alternatively, you can directly search and select the part from the hierarchy view. The corresponding part will be highlighted in the model if there is a mesh associated with it. [](/videos/realityplan-viewing-metadata-for-a-selected-part.mp4 "Inspecting metadata for a selected part") ## Syncing 3D models (file tracking) [Section titled “Syncing 3D models (file tracking)”](#syncing-3d-models-file-tracking) The RealityPlan application allows you to seamlessly iterate through your designs, notifying you of external file changes and allowing you to refresh the associated assets within the application.. ### Enabling file tracking [Section titled “Enabling file tracking”](#enabling-file-tracking) To receive notifications about external changes made to an asset’s source file, you need to activate file tracking for that specific asset. This can be done at the moment the asset is imported through the library asset settings editor by toggling the “File Tracking” switch. Enabling this option ensures that all instances of this asset placed in your design will have file tracking enabled. ![RealityPlan Enabling file tracking](/_astro/realityplan-enabling-file-tracking.DbhCVdYd_Z1xDuzQ.webp) Alternatively, you can selectively enable file tracking for individual instances of an asset by selecting the asset and toggling the file tracking switch in the side panel. ![RealityPlan Enabling file tracking](/_astro/realityplan-enabling-file-tracking-1.D0p3wpu4_Z1ItB59.webp) ### Checking for updates [Section titled “Checking for updates”](#checking-for-updates) The application will automatically check for updates every time a layout is loaded, after which a popup asking you to review the changes will be shown to you. If you prefer to manually check for updates, you can go to the file dropdown and select the `Check for updates` option. ![RealityPlan Checking for updates](/_astro/realityplan-checking-for-updates.CC2QQKEp_ZGplbJ.webp) ### Updating your assets [Section titled “Updating your assets”](#updating-your-assets) After opening the file sync manager window, either manually or by accepting the prompt, you can review the assets that will be updated. Clicking on an asset’s name in the window will select it. For library assets, the asset settings editor window will open, allowing you to review the asset in question. This enables you to update individual assets or disable file tracking for them if you no longer wish to track their source files. [](/videos/file-sync-update-window-3.23.mp4 "Reviewing file synchronization updates") Alternatively you can update an asset in the scene individually by clicking on the update button in its side panel. ![RealityPlan Updating your assets](/_astro/realityplan-updating-your-assets.DJsBYNMa_Z13wQWJ.webp) ## About the library [Section titled “About the library”](#about-the-library) When an object from the library is placed in the environment, a copy of this object is done. It means that deleting or modifying the properties of an object of the library won’t affect the objects of this model that you’ve already placed. # Measure > Accurately measure distances, areas, diameters, and volumes with simple tools for enhanced project insights and precise coordinates. Measure distances, areas, or diameters accurately with simple tools, and access precise coordinates for better project insights. *** ## Simple measure [Section titled “Simple measure”](#simple-measure) To **measure a distance:** 1. Select the simple measure tool in the toolbar, 2. Place the two points of the measure on your environment [](/videos/single_measure.mp4 "Creating a distance measurement") For more accuracy, a small target appears to help you placing the points of your measure **on the right surface**. Note * Like any tool, you can move while placing the measure tool by pressing `mouse right-click` to switch to [navigation controls.](/en/realityplan/getting-started/navigation/) * You can **delete** a measure by selecting it and pressing `Delete` key * You can later **edit** the measure using the **handles** at both points * You can lock the measure horizontally or vertically by pressing `H` or `V` while placing a simple measure, you may also use the toolbar buttons directly to do so. * You may enable/disable point snapping (measure point snapping on mesh edges) by pressing `B` ## Area measurement [Section titled “Area measurement”](#area-measurement) The area measure tool allows you to accurately **measure** the **surface** of a closed area, the **angles** between the sides of the area and the **sides length**. [](/videos/area_measure.mp4 "Creating an area measurement") * You must **close the measure loop** for the area surface to show. * Area measures are not editable and therefore need to be deleted if you wish to change them. ## **Diameter measurement (pipe measurement)** [Section titled “Diameter measurement (pipe measurement)”](#diameter-measurement-pipe-measurement) The diameter measure tool allows you to accurately **measure** the **diameter** of cylindrical objects such as **pipes**. [](/videos/diameter_measure.mp4 "Measuring a pipe diameter") To measure a diameter, place your mouse cursor over the object you wish to measure and simply `mouse left-click` to confirm the measure once it appears. Unlike other measurement tools, the points placed with this tool are not saved into the scene and will disappear after clicking elsewhere. * The accuracy of the diameter measure **depends on the quality of the mesh** being measured. Having higher quality settings may yield better results. * For accurate measures we recommend placing the cursor over a **clean surface** as demonstrated above. * If a measure fails, try placing your cursor on a different location. * Diameter measures are not editable and therefore need to be deleted if you wish to change them. ## **Coordinate pointer** [Section titled “Coordinate pointer”](#coordinate-pointer) The coordinate pointer tool allows you **visualize** the **xyz coordinates** of any point in the environment, enabling you to accurately position objects and plans using coordinate data. [](/videos/coordinate_measure.mp4 "Viewing point coordinates") The coordinates take into account the environment offset to give georeferenced global coordinates from the original pointcloud. ## **Volume Measurement Tool** [Section titled “Volume Measurement Tool”](#volume-measurement-tool) The volume measurement tool allows you to calculate the amount of material to be removed or added based on terrain surface data. It is especially useful for earthworks, excavation, and site preparation projects. [](/videos/volume-measurement-tool.mp4 "Measuring a terrain volume") **To measure a volume:** 1. Select the **volume measurement tool** in the toolbar. 2. Define the boundary and close the loop around the area of interest in your environment. 3. Once the boundary is closed, the tool calculates the volume based on a reference plane. 4. The tool displays: * **Positive Volume**: Material above the reference plane (to be removed). * **Negative Volume**: Material below the reference plane (to be filled). Caution The volume measurement tool is designed for **open-surface calculations**. * It does **not accurately measure** objects with internal cavities or overhangs like tanks, pipes, or anything . * It uses a **top-down projection** and a **reference plane**, so internal or hidden geometry is ignored # Object Animations > Animate 3D objects effortlessly with customizable paths, waypoints, and settings for smooth, dynamic animations in your environment. The object animation tool allows you to animate 3D objects freely in the environment, allowing you to assign paths for the objects to follow. *** [](/videos/object-animation_3.20-5d2b3354eafd9880ad06a3c761ca423b.mp4 "Creating an object animation") ## Creating a path [Section titled “Creating a path”](#creating-a-path) To animate an object along a path, start by selecting the object you want to animate. Then, `right-click` on the object to bring up its contextual menu, and click on the *Create Animation* option to create the animation path for the object. ![RealityPlan Creating a path](/_astro/realityplan-creating-a-path.DeyMyRk4_2rxDUw.webp) To add new waypoints, you can either click on the environment or press the spacebar. *(Please note that this shortcut will not work in explore mode.)* [](/videos/create-animation_3.20-eccce0a246de1d5493f0bf2366a2349a.mp4 "Creating an animation path") ## Editing an animation [Section titled “Editing an animation”](#editing-an-animation) To edit an animation, you need to open the animation window first. The window should open automatically when you create a new animation. Alternatively, you can open it manually by clicking on the desired animation in the sidebar, and then selecting the *Edit* button that appears after you make your selection. ![RealityPlan Editing an animation](/_astro/realityplan-editing-an-animation.R932SdSO_Z1Wlmq1.webp) ### Add a new waypoint [Section titled “Add a new waypoint”](#add-a-new-waypoint) You can add new waypoints to a path by either clicking on the edit path button, which adds new waypoints at the end of the path, or by double-clicking on an existing segment to insert a waypoint. [](/videos/add-animation-waypoints_3.20-ad62814a86352c7744c4d6693a73ba83.mp4 "Adding animation waypoints") ### **Edit a waypoint** [Section titled “Edit a waypoint”](#edit-a-waypoint) You can select a waypoint by either clicking on it within the waypoints window, or by clicking on it within the scene. Once selected, you can move and rotate the waypoint as desired. ### Edit the animation settings [Section titled “Edit the animation settings”](#edit-the-animation-settings) To modify the settings that determine how the overall animation will behave, you can click on the settings button. These changes can be made while the animation is running, allowing you to see the effects in real-time. ![RealityPlan Edit the animation settings](/_astro/realityplan-edit-the-animation-settings.eKIucZfE_ZSAxsp.webp) Note * Multiple settings can be adjusted in the path settings tab. You can customize these settings to your liking. * **Autoplay**: When true, the animation will run automatically when opening the layout, pressing the sync button or when rendering a video. * **Speed**: Speed at which the camera moves through the path. * **Rotation speed**: Only affects segments that have “rotate after move” enabled, in which case it will determine the angular speed of the object. * **Delay on play**: Makes the object pause at the starting point of this segment for the indicated duration. * **Loop animation**: When toggled this animation will only stop with user input, as it will start again once finished. * **Closed loop**: Helps to make a perfect loop. * **Show collisions**: Adds a green outline to the object that turns red when the object collides with anything. * **Rotate after move**: Makes the object only rotate after the movement of each segment is done. * **Curvature**: Determines the curve of the path. * **Fixed heigh**t: Constrains the animation to the current height of the object, the “height” constraint is local so if you rotate the base object it will move the waypoints with it. * **Show object on path**: Show the entire object in each waypoint instead of the small spheres. This will reduce performance. ### Edit a segment settings [Section titled “Edit a segment settings”](#edit-a-segment-settings) You can also modify individual segments in the path so that they act differently from the rest. For example, you can pause or accelerate specific segments to create variation in the animation. ![RealityPlan Edit a segment settings](/_astro/realityplan-edit-a-segment-settings.qPNJIaPC_Z2mTocI.webp) ![RealityPlan Edit a segment settings](/_astro/realityplan-edit-a-segment-settings-1.jAzJMAbx_18A6jy.webp) Note Settings can be applied to individual segments as well. * **Speed multiplier**: Determines the final speed of this segment. It is a multiplier, so it still depends on the base speed of the animation. Final speed will never be lower than 1 cm per second. * **Rotate after movement**: Makes the object only rotate after the movement of the segment is done. * **Pause on start**: Adds a delay at the beginning of the segment. * **Ease-in, ease-out**: Toggles the ease-in, ease-out speed curve, which allows for a smooth transition between the speed of the current segment and the speed of the next segment. * **Curvature multiplier**: Makes the curve more or less pronounced for this segment. ## Playing an animation [Section titled “Playing an animation”](#playing-an-animation) Animations will play automatically when you open your layout if they have the Autoplay option enabled *(The option is enabled by default).* [](/videos/play-animation_3.20-da5e9c97e0acd0100b439446e6a1b5d3.mp4 "Playing an object animation") Note Each object can play only one animation at a time. There is no limit to the number of animations an object can have, but playing one animation while another is active will stop the previous one. This also applies to the Autoplay setting; when it’s turned on, all other animations for the object will be disabled. To play or pause an animation manually, you can click on the play/pause button in either the right-side menu or the animation window. Additionally, you can use the *Play All Animations* button to restart all active animations. If you only want to play an animation from a specific segment, you can click on the play button shown to the right of the waypoint in the animation window for ease of use. ![RealityPlan Playing an animation](/_astro/realityplan-playing-an-animation.DZhiAgeu_ZgQQx6.webp) ## Showing collisions [Section titled “Showing collisions”](#showing-collisions) You may also visualize the collision of the object with the rest of the environment while the animation is running, by activating the *Show collisions* option. [](/videos/collision-detection_3.20-deb9e10b001f971946bb2903701bbadb.mp4 "Viewing collisions during an animation") # Present & Capture > Create stunning presentations with screen recording, transparent screenshots, and customizable video paths for a seamless sharing experience. The application offers various tools to make presentation of your environment easy. *** You may access the presentation tools through the toolbar ![RealityPlan Present and Capture tool](/_astro/realityplan-tools-present-capture.BZ1ME6Ra_Z1gbCvo.webp) ## Screenshots and screen recording [Section titled “Screenshots and screen recording”](#screenshots-and-screen-recording) You can **record the screen or take a screenshot** using the screen recording tools or the screenshot tool. Once your screen recording or screenshot is done, you will be prompted to save the file at the location of your choice. The screenshot tool allows you to take a **transparent** screenshot. The user interface won’t be visible in the screenshot. This way you get a clean capture of your environment to share with collaborators. Note that taking a transparent screenshot while in **orthographic mode** will show a reference scale in the bottom right of the screenshot. Note * The quality and resolution of the recording can be adjusted in the [application settings](/en/realityplan/application-settings/application-settings-1/). * Using the screen recording tool might affect the performances of the application. ## Video path recording [Section titled “Video path recording”](#video-path-recording) You can create a video, by pre-defining a path made of **waypoints**. Each waypoint represents a point of view you want the camera to pass through. The path recording tool may be accessed from the **presentation menu** in the toolbar. To add a waypoint, go to the desired point of view and press space. This will create a waypoint at that position, and a line will be drawn between the previous waypoint and the new one to indicate the path that the camera will follow. Once your path is completed, you can generate a video that travels smoothly along it. If you want to edit the path, you can click on a waypoint and modify its position and rotation, or add new waypoints. [](/videos/waypoint-edition-3.17.1-f58a147821414055c7ae81a6daf6e099.mp4 "Editing presentation path waypoints") Note Multiple settings can be adjusted in the path settings tab. These include the frame rate, the resolution of the output video, and the speed at which the camera moves along the path. You can customize these settings to your liking. * **Closed loop**: Helps to make a perfect loop. * **Rotation smoothing**: Dampening of the camera rotation. * **Speed**: Speed at which the camera moves through the path. * **Curvature** : Smooths the angle between the waypoints. * **FPS**: Target framerate of the video. * **Low**: 24fps. * **Medium**: 30fps. * **High**: 60fps. * **Quality**: Output resolution of the video. The render time is highly impacted by the FPS and Quality presets. ![RealityPlan Video path recording](/_astro/realityplan-video-path-recording.BbMRALfS_r4JzS.webp) To further customize your video path you can also specify some options for individual segments of the path, to do this you need to click on the settings icon of the starting waypoint of the segment you want to customize, once there you will be able to set custom values for that segment. ![RealityPlan Video path recording](/_astro/realityplan-video-path-recording-1.DRBYfRcS_1alr1l.webp) ![RealityPlan Video path recording](/_astro/realityplan-video-path-recording-2.CwWdDofR_2qV0W8.webp) Note The segment settings still depend on the path settings. For example, if you set the speed multiplier to 2x with a base speed of 2m/s, that segment will move at 4m/s. However, if you modify the base speed again to 1m/s, the segment will not remain at 4m/s. Instead, it will become 2m/s to reflect the new base speed. * **Speed multiplier**: Multiplier applied to base speed. Ranges from 0.01x to 1000x. * **Ease-in, ease-out**: Toggles the ease-in, ease-out speed curve, which allows for a smooth transition between the speed of the current segment and the speed of the next segment. * **Curvature multiplier**: Makes the curve more or less pronounced for this segment. # RealityAssets > Connect visual elements with data using RealityAssets. Define assets with tools like multi-boxes and the Magic Wand for enhanced management and customization. RealityAssets connect visual elements with data, allowing users to define and refine assets using tools like multi-boxes and the Magic Wand. Users can enhance assets with custom properties, technical details, and utilize advanced features like cutting and exporting for better management. *** ## What are RealityAssets? [Section titled “What are RealityAssets?”](#what-are-realityassets) RealityAssets are the building blocks within our solution that holds the intelligence between the visual layer (ie. the mesh) and the underlying parameterization of the assets. On the visual front, users can spatially define assets of various shapes and sizes within the scan using our toolbox ([Multi-boxes](/en/realityplan/tools/realityassets/#multi-boxes-creation) with turntable, [Pipes](/en/realityplan/tools/realityassets/#manual-pipe-creation) and [Magic Wand](/en/realityplan/tools/realityassets/#asset-magic-wand)). With user-defined parameterizations, users can add any information needed to enrich the RealityAssets - from technical specifications, inspection information, user manuals, or links to other systems. [](/videos/realityasset-timelapse_24.3.0-ed738d8617c452f533f5405fca64ec11.mp4 "Creating a RealityAsset") ## Multi-boxes creation [Section titled “Multi-boxes creation”](#multi-boxes-creation) You can define an asset using the multi-boxes tool. From the toolbar, use the **Create RealityAsset**. You can add multiple boxes to define your asset. This allows for the selection of objects of any shape without limitation. The boxes can be moved and resized using handles. [](/videos/realityasset-multi-box_24.3.0-e5744faac0b255f71539ecd5bcc9df54.mp4 "Creating a multi-box RealityAsset") The preview window allows you to see the content of your box from multiple points of view. Various points of view are supported, including Top, Front, Right, Isometric, and Orbit, providing comprehensive visualization options. Quick Tip Use the turntable to rotate around your asset by `left-clicking`, this will greatly improve the definition process. ## Manual Pipe creation [Section titled “Manual Pipe creation”](#manual-pipe-creation) You can define an asset using the manual pipe creation tool. From the toolbar, use the **Define Pipe RealityAsset**. How does it work? 1. Open the Tool, Navigate to the **Toolbar** and select **Define Pipe RealityAsset** to activate the manual pipe creation mode. 2. Click to place the starting point of your pipe. 3. Continue clicking to add subsequent points, creating the desired path of the pipe. 4. Once you’ve defined the path, adjust the pipe’s diameter. * Use the **Diameter Input Field** or the slider to set the pipe size. * Ensure the diameter fits your specific pipe. 5. Review the pipe’s path and diameter. 6. Click **Confirm** to finalize the pipe’s creation. [](/videos/manualpipedefinition.mp4 "Creating a pipe RealityAsset") Quick Tips * If adjustments are needed **before** confirming * Select the pipe segment to modify. * Adjust points, angles, or the diameter as needed for precise alignment or sizing. * If adjustments are needed **after** confirming, use the Multi-Box Tool ### Creating Branches [Section titled “Creating Branches”](#creating-branches) The manual pipe creation tool also allows you to easily create branches, an essential feature for complex networks with multiple offshoots. To create a branch: 1. **Select a Handle**: Choose the desired handle on an existing pipe where you want to start the branch. Handles are visual cues that indicate points where extensions can be added. 2. **Extend a New Segment**: Define the new pipe segment from the selected handle to form a branch by clicking alongside the pipe. ![RealityPlan Creating branches](/_astro/realityplan-creating-branches.BQ6y_5ee_Z2mbdcB.webp) ## Asset magic wand [Section titled “Asset magic wand”](#asset-magic-wand) You can define an asset using the Magic wand tool. From the toolbar, use the **Asset Magic Wand**. How does it work? 1. Position yourself to face the object you want to select 2. Stand-still until the selection status turn green 3. A blue mask will appear under your mouse to see what can be selected 4. Press on the desired mask 5. Repeat until you have selected all the desired parts of your asset 6. Press *Next Step* Following your selection, multiple boxes will be created automatically to encompass the selected area. The next step will bring you back to the [multi-boxes](/en/realityplan/tools/realityassets/#multi-boxes-creation) workflow to fine-tune the boxes if needed. Quick Tip For better results, change point of view after each mask selection ### Magic wand anatomy [Section titled “Magic wand anatomy”](#magic-wand-anatomy) ![RealityPlan Magic wand anatomy](/_astro/realityplan-magic-wand-anatomy.Dv5-nc-Y_1YAthF.webp) 1. The reset button will clear the current selection. It’s restarting the tool. 2. The align option will force the boxes to be aligned with your floor. We recommend enabling this option in most cases. 3. You may change the selection preview 4. This reflects the status of the selection tool. If the circle is red, you need to stop moving and wait for a few seconds. Once the circle turns green, you can start selecting your object. 5. Selection mask preview. If you click on the blue mask, a green circle will appear at the selection point. 6. Turntable to rotate around your selection. # Use the Asset Library from RealityPlan > Browse and insert 3D models from the Asset Library directly into your RealityPlan Desktop layouts. RealityPlan Desktop can connect directly to the **Asset Library**, allowing users to browse and insert 3D models stored in RealityPlatform into their layouts. This makes it easy to reuse standardized assets across projects without manually importing files. Assets downloaded from the Asset Library are stored locally and can be reused within the project. *** ## Opening the Asset Library [Section titled “Opening the Asset Library”](#opening-the-asset-library) To access the Asset Library in RealityPlan Desktop: 1. Open your layout in **RealityPlan Desktop**. 2. Open the **Asset Library panel**. 3. The panel will display the assets available from the cloud library. 1. The Asset Library shows assets that are available in the **Global Library** (organization-wide assets) ![RealityPlan Asset Library](/_astro/realityplan-opening-the-asset-library.ChRn6gS__16iwc3.webp) ## Downloading an Asset [Section titled “Downloading an Asset”](#downloading-an-asset) To use an asset in your layout: 1. Select the asset from the Asset Library panel to **Download it**. 2. The asset will be downloaded from the cloud. Once downloaded, the asset is added to your **local asset library**. From there, follow the same workflow described in [**Importing 3D Models**](/en/realityplan/tools/import3d/) to insert and position the asset inside your layout. # Visual Compare > Compare BIM/CAD models against as-built conditions using the Visual Compare tool to assess accuracy and alignment. The Visual Compare Tool on our platform enables users to efficiently assess the accuracy and alignment of BIM/CAD models against as-built conditions. This tool is particularly useful for quickly identifying variances and ensuring that models accurately reflect the existing physical environment. *** [](/videos/prevu3d_visualcomparetool.mp4 "Comparing the scan and 3D model") ## How to access the tool [Section titled “How to access the tool”](#how-to-access-the-tool) The Visual Compare Tool can be accessed directly within the platform: 1. Navigate to the “Visualization Mode” in the menu. 2. Select the AssetCompare tools from the toolbar options available in this mode. ![RealityPlan How to access the tool](/_astro/realityplan-how-to-access-the-tool.D9sB-v3j_Z22wGvy.webp) ## Features [Section titled “Features”](#features) ![RealityPlan Visual Compare controls](/_astro/realityplan-features.BIIxMxQ2_27Y3pF.webp) 1. **Toggle to Enable Comparison**: Turn on or off to visualize alignment differences between models and as-built environments. 2. **Select your comparison assets**: Choose the CAD or mesh models you wish to compare in the 3D environment. 3. **Units** 4. **Display style**: * **Linear (Gradient)**: A smooth color gradient visualizes deviation across the model. Areas closer to tolerance appear in green, while greater deviations transition to another (red for in front, blue for behind). * **Best for:** Detecting gradual changes and assessing exact deviation levels. * **Flat**: Uses solid colors to clearly distinguish compliant from non-compliant areas, offering an instant view of tolerance status. Areas closer to tolerance appear green while deviations are red. * **Best for**: Quick identification of areas within or outside of tolerance. 5. **Distance**: Set your tolerance level to specify the acceptable range for alignment between the two compared assets # About Mac Support > Learn how to use RealityPlan on Mac with BootCamp or Parallels for Windows 11, or access the Web Player with Chrome for the best 3D experience. ## Desktop application [Section titled “Desktop application”](#desktop-application) Danger We do not officially support the use of our desktop application on Mac, but its possible to use it through Virtual Machines. ### Choosing the Right Virtual Machine [Section titled “Choosing the Right Virtual Machine”](#choosing-the-right-virtual-machine) * For **Mac with Intel Processors**: Use BootCamp to install Windows 11. BootCamp is recommended for better performance on Intel processors. * For **Mac with M1/M2/M3 Processors (ARM)**: Use Parallel Desktop to install Windows 11. Note For enhanced performance with **Parallel Desktop**, configure the Virtual Machine with at least 6 processors and a minimum of 6GB shared RAM. ![RealityPlan Choosing the right virtual machine](/_astro/realityplan-choosing-the-right-virtual-machine.BV-jQb_I_Zi1tYM.webp) ### Installation Process [Section titled “Installation Process”](#installation-process) * Install Windows 11 using the appropriate virtual machine (BootCamp for Intel, Parallel Desktop for ARM). * Ensure vc\_redist\_x64 2015-2022 is properly installed after Windows installation. * Install the desktop app following the regular installation process. ## Web Player [Section titled “Web Player”](#web-player) The web player works correctly on Mac. However, for the best experience, we strongly recommend using Google Chrome over Safari when accessing our web player. # RealityPlan Deployment Guide > Manage RealityPlan desktop applications with the RealityPlan Hub. Learn about installation, command line options, and data management for projects. Danger This guide is intended for system administrators. If you lack the required technical knowledge, reach out to your IT department for assistance. *** The RealityPlan Hub is an [ElectronJS](https://www.electronjs.org/) application. Its purpose is to manage the data and binaries of RealityPlan desktop applications. The RealityPlan desktop application data is downloaded from the Prevu3D Cloud Platform, where the user is authenticated. The data is related to projects of the user’s organizations. ## Installer [Section titled “Installer”](#installer) The RealityPlan Hub’s installer is an executable file created with Nullsoft Scriptable Install System (NSIS). To execute it, admin rights are necessary. The installer file is digitally signed by Prevu3D and certified by a Sectigo EV certificate issued to **Prevu3D Inc.** (SHA-1 thumbprint **a286a106a05e8cfbdc2beaabd9d30d8a31d5d53a**, valid until 5 November 2028). ### Command Line Arguments [Section titled “Command Line Arguments”](#command-line-arguments) You can use the following command line arguments with the installer: * Install silently: `/S` * Ignore CRC checks: `/NCRC` * Set install directory: `/D=C:\ProgramData\ProgramName` ### Files Written [Section titled “Files Written”](#files-written) The installer will write the following files to the system: * Application files (binaries and data): `C:\Program Files\Prevu3D Hub` * Shortcuts: `C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Prevu3D RealityPlan Hub.lnk` * Temporary DLLs and 7z archive (nsk\\<4 digits>.tmp): * `C:\Users\\AppData\Local\Temp\nsk\<4digits>.tmp\app-64.7z` * `C:\Users\\AppData\Local\Temp\nsk\<4digits>.tmp\nsis7z.dll` * `C:\Users\\AppData\Local\Temp\nsk\<4digits>.tmp\nsProcess.dll` * `C:\Users\\AppData\Local\Temp\nsk\<4digits>.tmp\System.dll` * `C:\Users\\AppData\Local\Temp\nsk\<4digits>.tmp\StdUtils.dll` * `C:\Users\\AppData\Local\Temp\nsk\<4digits>.tmp\UAC.dll` * `C:\Users\\AppData\Local\Temp\nsk\<4digits>.tmp\WinShell.dll` * `C:\Users\\AppData\Local\Temp\nsk\<4digits>.tmp\nsDialogs.dll` * Installer executable: `C:\Users\\AppData\Local\prevu3d-hub-updater\installer.exe` ### Registry [Section titled “Registry”](#registry) The installer creates the following registry keys: * `HKLM\Software\9aa642e6-85ca-5d17-a5ac-4d359f1b1b3d` * `HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\9aa642e6-85ca-5d17-a5ac-4d359f1b1b3d` ## Application [Section titled “Application”](#application) Both the Hub executable (“Prevu3D Hub.exe”) and the RealityPlan desktop application it downloads (“Prevu3D.exe”) are digitally signed with the same Sectigo EV certificate as the installer. The application requires access to the following files and registry keys. ### Files Written [Section titled “Files Written”](#files-written-1) The application writes data to the following locations: * Chromium data (local storage, cookies, cache, logs, etc.) and application state: `C:\Users\\AppData\Roaming\Prevu3D Hub\ & C:\Users\\AppData\Roaming\Prevu3D RealityPlan Hub` * Downloaded project data: `C:\Users\\Prevu3D\Projects\\` * Downloaded executable desktop application binaries (Unity app binaries): `C:\Users\\AppData\Roaming\Prevu3D Hub\Application\\` ### Registry [Section titled “Registry”](#registry-1) The application creates the following registry keys and values for URL protocol: * `HKCU\Software\Classes\prevu3d\shell\open\command` * `HKCU\Software\Classes\prevu3d\URL Protocol` ### Network [Section titled “Network”](#network) The RealityPlan Hub and desktop application connect to the Prevu3D service endpoints (API, project data and binaries, update server, regional storage, and the RealityConnect API). For the full, up-to-date list of domains to allow on a firewall or proxy, see [Network & Firewall Requirements](/en/realityplatform/getting-started/network-and-firewall-requirements/). # Overview > Upload, manage, and reuse 3D assets across Prevu3D products with the centralized Asset Library. The **Asset Library** allows organizations to upload, manage, and reuse 3D assets across Prevu3D products. *** ## What Is the Asset Library [Section titled “What Is the Asset Library”](#what-is-the-asset-library) The Asset Library acts as a **central repository for reusable 3D models**, helping teams standardize commonly used assets and avoid uploading the same models repeatedly. Assets stored in the library can represent equipment, machines, safety elements, furniture, or any other 3D object that may need to be placed inside layouts. Once uploaded, assets are optimized in the cloud and become available across the Prevu3D ecosystem, including: * **RealityPlatform**, where assets are uploaded and managed * **RealityPlan**, where assets can be used when creating layouts ![RealityPlatform Asset Library overview](/_astro/realityplatform-what-is-the-asset-library.BgyCHY0i_Z1SRohd.webp) ## Why Use the Asset Library [Section titled “Why Use the Asset Library”](#why-use-the-asset-library) Using a centralized asset library helps teams: * **Standardize equipment models** used across projects * **Reuse assets efficiently** without re-uploading files * **Maintain consistent scale and orientation** across layouts * **Share assets across teams and projects** This ensures that commonly used models, such as equipment, safety elements, or structural components, remain consistent throughout your organization. ## Supported File Formats [Section titled “Supported File Formats”](#supported-file-formats) The Asset Library supports common 3D formats used in engineering and industrial workflows. Supported formats include: | Extension | Type | Supported Versions | Comment | Level of Details | | --------------------- | ---- | ------------------- | --------------------------------------- | ---------------- | | GLB | MESH | 2.0 | Animations & PBR are supported | Yes | | FBX | MESH | 6.1 to 7.7 | Animations & PBR are supported | Yes | | OBJ | MESH | - | Materials (.mtl) and textures supported | Yes | | STEP / STP | CAD | AP203, AP214, AP242 | - | Yes | | IFC / IFCXML / IFCZIP | CAD | 2x3, 2x4, 4 | Metadata supported | Yes | | IGS/IGES | CAD | Up to 5.3 | - | Yes | | JT | CAD | 6.4 to 10.10 | Metadata supported | Yes | | NWD, NWC | CAD | 2016 to 2026 | Metadata supported | Yes | | IPT / IAM | CAD | 9 to 2026 | - | Yes | | RVT / RFA | CAD | 2011 to 2026 | Metadata supported | Yes | | RVM | CAD | - | Metadata supported | Yes | | X\_T | CAD | - | Parasolid | Yes | ## Where the Asset Library is Used [Section titled “Where the Asset Library is Used”](#where-the-asset-library-is-used) Assets uploaded to the library can be accessed from multiple tools. ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform) RealityPlatform provides the **main interface to upload and manage assets**. From the Asset Library page, users can: * Upload new assets, including folders and multiple files at once * Assign asset types to models on upload * View asset details * Edit asset settings * Preview assets * Download original files ### RealityPlan Desktop [Section titled “RealityPlan Desktop”](#realityplan-desktop) RealityPlan Desktop can connect to the Asset Library to download and place models inside layouts. Assets downloaded from the cloud are added to the local asset library and can be reused within the project. See [**Using the Asset Library in RealityPlan Desktop**](/en/realityplan/tools/use-the-asset-library-from-realityplan/) to learn more. ## Asset Processing [Section titled “Asset Processing”](#asset-processing) When an asset is uploaded, it goes through a processing step before it becomes available. This process prepares the model so it can be efficiently visualized and used inside Prevu3D ecosystem. During this stage, assets will display a processing status until they are ready to use. ## Asset Scope [Section titled “Asset Scope”](#asset-scope) Assets can be available at different scopes depending on how they are created. ### Organization Assets [Section titled “Organization Assets”](#organization-assets) Organization assets are available across **all projects within the organization** and can be reused by all authorized users. ### Project Assets [Section titled “Project Assets”](#project-assets) Project assets are available only within the project where they were created. Project assets can be promoted to a higher level (Site or Global) from the Asset Library management page using the **options menu** on the asset. Promotion paths include Project → Site, Project → Global, and Site → Global. Promotion is one-way and cannot be reversed. ## Permissions [Section titled “Permissions”](#permissions) Access to the Asset Library depends on **Library roles** assigned to your user account or group: * **Library owner** — full control over library access and assets * **Library editor** — upload, edit, and manage assets * **Library viewer** — view and download assets according to role permissions Assign Library roles **directly** when editing a user, or from the **share modal** on the Asset Library for users and groups. See [Users](/en/realityplatform/user-management/users/), [Sharing](/en/realityplatform/user-management/sharing/), and [Roles & Permissions](/en/realityplatform/user-management/roles-permissions/) for the full model. ## Licensing [Section titled “Licensing”](#licensing) Some Asset Library actions require an active license. Depending on your license configuration, certain users may be able to view assets but not upload or manage them. For more information about how Asset Library licensing works, see [**Asset Library License**](/en/realityplatform/organization-management/asset-library-license/). # Uploading and Managing Assets > Upload 3D models to the Asset Library, manage their status, configure settings, and control availability across your organization. Upload new 3D models to the Asset Library and manage their status, details, and availability across your organization. *** ## Uploading Assets [Section titled “Uploading Assets”](#uploading-assets) To upload one or more assets: 1. Open **Asset Library** in RealityPlatform using the button at the bottom left of the page. ![RealityPlatform Uploading an asset](/_astro/realityplatform-uploading-an-asset.CLpA7EsP_Znxf1g.webp) 2. Click **Upload Asset** to open the **New assets** dialog. 3. Add your models in one of two ways: * **Click to upload** or **drag and drop** one or several files at once. * Use **Import folder** to bring in an entire folder of assets in a single step. ![RealityPlatform Asset upload dialog](/_astro/realityplatform-asset-upload-dialog.-rUhNGpj_1YXU38.webp) By default, you can upload up to **30 files per upload**. A higher upload limit (more files per upload) is available as a Beta feature on demand — contact Prevu3D to enable it for your organization. 4. Confirm the upload. After uploading, your assets will appear in the Asset Library while they are processed. ### Assigning an Asset Type on Upload [Section titled “Assigning an Asset Type on Upload”](#assigning-an-asset-type-on-upload) When files are added to the **New assets** dialog, each model has an optional **Asset type** field. Asset types help classify your models (for example, *Machine*) and are used by integrations. Assigning a type is not mandatory. ![RealityPlatform Asset upload asset type](/_astro/realityplatform-asset-upload-asset-type.BgVS3Syb_rnJ2v.webp) * Set an **Asset type** individually on any row, or * Use the **Apply an asset type to all files** wand to assign the same asset type to every file in the upload at once. ![RealityPlatform Asset upload apply type all](/_astro/realityplatform-asset-upload-apply-type-all.DM4PfDjI_1NDuGy.webp) To learn more about how asset types are defined, see [**Asset Types**](/en/realityplatform/metadata-settings/metadata-types/). ## Asset Processing Status [Section titled “Asset Processing Status”](#asset-processing-status) Each asset displays a status indicating its availability. | Status | Description | | ---------- | ---------------------------------------------- | | Uploading | The file is currently being uploaded | | Processing | The asset is being prepared for use | | Ready | The asset is available to use | | Failed | Processing failed and the asset cannot be used | Assets can only be used & viewed once their status is **Ready**. ## Viewing Asset Details [Section titled “Viewing Asset Details”](#viewing-asset-details) Upon entering the Asset Library, you will see a list of all the assets that you have access to, where you can view: * Asset name * File type * Upload date * Creator * Processing status From the details page, you can also preview the asset or edit its settings. ### Metadata Actions [Section titled “Metadata Actions”](#metadata-actions) * Use the **options menu** on any metadata field to copy its value to the clipboard. * URLs in integration fields and metadata sections are automatically parsed and displayed as clickable links. ## Searching for Assets [Section titled “Searching for Assets”](#searching-for-assets) Use the **search bar** to find assets by name. If no results match your query, the interface will display **No assets found**. ## Sorting Assets [Section titled “Sorting Assets”](#sorting-assets) Assets can be sorted by: * Upload date * Creator name * Asset name ## Previewing an Asset [Section titled “Previewing an Asset”](#previewing-an-asset) Assets can be previewed using the built-in **3D viewer**, which allows you to: * Orbit around the model * Zoom in and out * Pan the view * Recenter using the home button * Inspect the asset before using it in a layout For assets that contain animations (e.g., GLB files), the viewer displays a playback UI that lets you select and play available animations directly in the preview. ![RealityPlatform Previewing an asset](/_astro/realityplatform-previewing-an-asset.BLGdA7c2_ZS6oTL.webp) ## Promoting an Asset [Section titled “Promoting an Asset”](#promoting-an-asset) Assets can be promoted to a higher organizational level to make them available to a broader scope. Promotion is done from the Asset Library management page using the **options menu** on the asset. Available promotion paths: * **Project → Site** – Makes the asset available across the site * **Project → Global** – Makes the asset available to the entire organization * **Site → Global** – Makes the asset available to the entire organization Caution Promotion is one-way. Once an asset is promoted to a higher level, it cannot be demoted back to its original scope. ## Downloading the Original File [Section titled “Downloading the Original File”](#downloading-the-original-file) Authorized users can download the **original uploaded file** from the asset details page. 1. Open the asset details or the overflow menu. 2. Click **Download original file**. Only the original file is downloadable. Converted versions are not currently available. # 3D Data Viewer > Visualize and validate 3D data with the 3D Data Viewer, supporting point clouds, meshes, photospheres, and Gaussian splats for seamless analysis and measurement. The 3D Data Viewer provides a unified environment to visualize and validate all representations of your 3D data. It supports point clouds, meshes, photospheres, Gaussian splats, and any additional formats included in your Data Bundle. This viewer is used across the Prevu3D ecosystem to inspect data quality, explore capture coverage, and understand the spatial context of your scene directly in the browser. *** ## **Overview** [Section titled “Overview”](#overview) The viewer is designed to display the multiple visual formats that can exist inside a Data Bundle. You can seamlessly switch between views to analyze your data from different perspectives. Supported formats include: * Point clouds * RealityMeshes * Photospheres * Gaussian splats * Additional formats added through the platform’s evolving capabilities This provides a consistent and comprehensive viewing experience regardless of how your data was captured or processed. ## **Opening the 3D Data Viewer** [Section titled “Opening the 3D Data Viewer”](#opening-the-3d-data-viewer) You can open the 3D Data Viewer directly from the RealityPlatform. There are two ways to access it: * **Double click** a Data Bundle to open it in the viewer. * **Right click** a Data Bundle and select **“Open”**. The viewer will load all available representations in the bundle, and you can begin navigating or validating your data immediately. ![RealityPlatform Opening the 3D data viewer](/_astro/realityplatform-opening-the-3d-data-viewer.DOr4qvf5_1SHCp9.webp) ## **Navigation Modes** [Section titled “Navigation Modes”](#navigation-modes) ### **360 Degree Picture Navigation** [Section titled “360 Degree Picture Navigation”](#360-degree-picture-navigation) If photospheres are available, you can enter the 360 degree picture view to navigate capture positions and inspect visual details. You can: * Click a photosphere to enter it * Transition between photospheres by selecting them in the 3D scene * Review lighting, texture quality, and station placement ### **Perspective Navigation Mode** [Section titled “Perspective Navigation Mode”](#perspective-navigation-mode) You can switch to a free navigation mode to explore point clouds, meshes, Gaussian splats, or other 3D representations. This mode allows you to: * Fly through the environment * Inspect density, surface fidelity, and alignment * Validate completeness and data quality Navigation Controls The navigation controls are the same as RealityTwin workspace. See the details over [here](/en/realitytwin/twin-workspace/navigating-the-twin/). ### **Reset Viewpoint** [Section titled “Reset Viewpoint”](#reset-viewpoint) Select the **Home** icon to return to the default camera position. ## **Switching Between Representations** [Section titled “Switching Between Representations”](#switching-between-representations) The viewer allows you to switch between different representations of the same dataset. You can view: * Point cloud * Mesh * Photospheres * Gaussian splats * Any other supported formats in the Data Bundle Switching views is immediate and keeps your orientation in the scene, allowing smooth comparison. You can also enable multiple visual representation at the same time. Example with both **“Pointcloud” and “Mesh”** representation at the same time. ![RealityPlatform point cloud and mesh representations](/_astro/realityplatform-switching-between-representations.DzDZaZi5_1lYIhx.webp) Example with only **“Mesh”** representation. ![RealityPlatform mesh representation](/_astro/realityplatform-switching-between-representations-1.bU-HqI4K_MsBS9.webp) Example with only **“Pointcloud”** representation. ![RealityPlatform point cloud representation](/_astro/realityplatform-switching-between-representations-2.BH7ScMGt_1oznEa.webp) When a Data Bundle includes a processed Gaussian splat, you can select it from the representation controls and navigate it in perspective mode, the same way you explore point clouds and meshes. Note For Gaussian splat upload, processing, and limitations, see [Gaussian Splats](/en/realityplatform/dataset-preparation-and-upload/input-types/gaussian-splatting/supported-formats/). ## **Measurement Tools** [Section titled “Measurement Tools”](#measurement-tools) The 3D Data Viewer includes the same measurement capabilities available in RealityTwin, allowing you to take quick and accurate measurements directly inside your 3D data. You can access the measurement tools from the viewer toolbar. These include: * Simple distance measurement * Area measurement * Coordinate inspection * Diameter measurement * Orthogonal measurement ![RealityPlatform Measurement tools](/_astro/realityplatform-measurement-tools.BwyNFShE_1pwbXr.webp) All measurement actions work the same way as in RealityTwin. For detailed instructions on how to use each tool, see the [**Measurement Tools in RealityTwin article**](/en/realitytwin/twin-workspace/measuring-tools/). Important notes * **Diameter measurement is only available when viewing a Mesh representation.** The tool requires mesh geometry to detect cylindrical surfaces. * Measurements created in the viewer are **temporary by default**. They are visible only to you and will not be saved. ## **Powered by the Data Bundle** [Section titled “Powered by the Data Bundle”](#powered-by-the-data-bundle) The 3D Data Viewer loads content using the [Data Bundle](/en/guides-and-faqs/introducing-data-bundles/), a unified container that stores: * Raw inputs such as E57, LAS, images, and videos * Optimized outputs such as point cloud tilesets, meshes, photospheres, and Gaussian splats * Additional representations supported by the platform Because all these formats share the same structure and metadata, the viewer ensures: * Consistent visualization across all formats * Accurate alignment between point cloud, mesh, and images # Data Collection > Learn how to capture high-quality scan data with Prevu3D, comparing terrestrial laser scanning and SLAM for optimal results in your projects. Not all scan data is of the same quality and varies based on the sensor used, the environment being scanned, collection methods, and the quality of the data processing. The final visual representation, whether viewed as a point cloud or mesh, depends on the quality and completeness of the input data. Following proper capture procedures and producing well processed datasets ensures the best visual fidelity and user experience inside Prevu3D. *** ## Collection Requirements [Section titled “Collection Requirements”](#collection-requirements) As Prevu3D offers a high resolution mesh solution, it is important to capture data properly with the right equipment for the best results. The following is the recommended requirements to properly capturing the environment data. ## Terrestrial Laser Scanning (TLS) [Section titled “Terrestrial Laser Scanning (TLS)”](#terrestrial-laser-scanning-tls) Terrestrial scanning, also known as terrestrial laser scanning (TLS) or ground-based lidar scanning, is a technology used to capture highly detailed and accurate three-dimensional (3D) data of objects or environments. ## SLAM Scanning [Section titled “SLAM Scanning”](#slam-scanning) SLAM, which stands for Simultaneous Localization and Mapping, is a technology used in robotics and computer vision to enable a device, such as a robot or a camera, to map its environment while simultaneously determining its own position within that environment. SLAM works by using various sensors, such as cameras, lidar (light detection and ranging), and IMU (inertial measurement unit), to collect data about the surroundings. A simplified distinction: **TLS is static, SLAM is moving while scanning**. SLAM scanners are often more cost-effective due to their ease of use and mobility. They are favored when timely data acquisition is a priority. That being said, speed will have an impact on the quality. Terrestrial scanners will take more time, but will achieve higher quality if properly done. ## Drone Photogrammetry [Section titled “Drone Photogrammetry”](#drone-photogrammetry) Drone photogrammetry captures structures, sites, and landscapes using overlapping aerial images. These images are processed to generate point clouds, meshes, and textured 3D models. Drone photogrammetry is ideal for: * Outdoor environments, large sites, roofs, facades, and inaccessible areas * Supplementing TLS/SLAM to cover areas where terrestrial scanning is not feasible * Capturing large-scale geometry efficiently While drone photogrammetry produces visually rich meshes and wide coverage, its geometric accuracy depends heavily on flight planning and the quality of image alignment. For the best results, consider combining drone data with TLS or SLAM scans. ## 360° Video Photogrammetry [Section titled “360° Video Photogrammetry”](#360-video-photogrammetry) 360° cameras can be used to capture environments using video-based photogrammetry. Instead of capturing static scans or images, a 360° video is recorded while walking through the environment. This approach provides a **simple and cost-effective entry point into the Prevu3D ecosystem**, allowing users to start documenting spaces using lightweight and widely available equipment. Typical use cases include: * Quickly documenting indoor facilities * Capturing environments with minimal setup or equipment * Creating visual documentation of spaces for inspection, planning, or collaboration * Providing an accessible first step before adopting higher-precision capture technologies Many organizations begin with 360° capture workflows due to the **low hardware cost and fast capture process**, and later expand to higher-end technologies such as **SLAM or TLS scanning** when higher geometric accuracy becomes necessary. While the processing pipeline generates a **3D mesh representation**, geometric accuracy should not be considered the primary objective of this capture method. The mesh mainly serves as a **visual container for spatial navigation**. The main value of 360° video capture is the ability to: * Navigate environments through **immersive photosphere views** * Visually explore spaces and equipment This workflow provides strong visual context for environments through its mesh and photosphere outputs. To ensure successful processing, proper capture techniques and camera settings must be followed. For full capture instructions, see:\ **360° Camera Capture Guidelines** ## Gaussian Splat Capture [Section titled “Gaussian Splat Capture”](#gaussian-splat-capture) Gaussian splats are a bit different from the other capture methods on this page. There is **no single standard device or workflow** for producing them yet — the ecosystem is still evolving, and several capture combinations can yield good results. A few things to keep in mind: * **Image-rich capture matters most.** Gaussian splat generation relies on many overlapping views of the scene. The more good-quality images you capture — from varied positions and angles — the better the resulting splat. This goes beyond traditional photogrammetry: any workflow that produces a dense, well-distributed set of images can be a useful source. * **Multiple capture paths work.** Splats can be generated from dedicated photogrammetry image sets, video frames, 360° capture, or hybrid hardware. For example, some vendors such as **xGrids** leverage their SLAM devices to generate Gaussian splats directly from their own system. * **No standardized best practice yet.** Because the capture and processing landscape is young, there is no universally recommended device or procedure. Expect to experiment with your hardware and processing tool to find what works best for your environment. Prevu3D consumes splats — it does not generate them At this time, **Prevu3D does not generate Gaussian splats**. You produce the splat with your own capture device and processing tool, then **upload it as an input**. See [Gaussian Splatting — Supported Formats](/en/realityplatform/dataset-preparation-and-upload/input-types/gaussian-splatting/supported-formats/) for accepted file types, scale guidance, and limitations. ## Exporting captured scans [Section titled “Exporting captured scans”](#exporting-captured-scans) Before uploading data, it is necessary to export the captured data depending on the capture device and software used. The better the scanner and quality of the registration, the better the output quality and accuracy is. Depending on the [supported capture device](/en/realityplatform/dataset-preparation-and-upload/input-types/point-cloud-data-tls-slam/supported-formats/) used for scanning, the export settings will need to be curated to satisfy all requirements for the upload process. For the highest quality that Prevu3D has to offer, it is recommended to use high-end TLS scanner like Leica RTC360, FARO S Series, etc.. At the end of the day, the quality required really depends on our needs and should be communicated clearly while scoping the scanning project. ## Scan completeness [Section titled “Scan completeness”](#scan-completeness) To avoid an incomplete result and limit occlusion of the environment, it is necessary to scan an environment thoroughly to ensure the capturing of all details. * As a general practice, scan setups should be spaced 3-5 meters (10 to 16 feet) apart. * Additional scans around equipment, objects of importance, and in congested areas are recommended to ensure no missing details. ## Scan lighting [Section titled “Scan lighting”](#scan-lighting) Scan an environment with sufficient lighting and visibility to ensure detailed capturing. * Proper lighting: * Ensure there is quality lighting in the space you are scanning * Dark areas will need to be lightened to correctly record the data * Avoid overexposed lighting from windows or spotlights * Color balancing of imagery * HDR imagery preferred ## Static environment [Section titled “Static environment”](#static-environment) To avoid distorted errors within the captured data, it is recommended to scan the environment at a time where there is little to no movement nor operations being performed within the target view of interest * Recommendations\*\*:\*\* * Scan during off-peak hours * Eliminate / limit people and equipment moving in scans * If completing multiple days of capture, try to capture complete areas on the same day to minimize potential movement of objects between days of capture ## Best practices [Section titled “Best practices”](#best-practices) We have built 2 Whitepapers related to Best scanning practices: * [Whitepaper Prevu3D Planning, scanning and delivery of reality capture data](https://www.prevu3d.com/wp-content/uploads/2024/02/Whitepaper_Prevu3D-Planning-scanning-and-delivery-of-reality-capture-data-02.2024_compressed-1.pdf) * [Prevu3D Reference Guide - How to scan for the highest quality digital twin](https://www.prevu3d.com/wp-content/uploads/2024/06/Prevu3D-Reference-Guide-How-to-scan-for-the-highest-quality-digital-twin-2.pdf) Note Read more about [supported data](/en/realityplatform/dataset-preparation-and-upload/input-types/point-cloud-data-tls-slam/supported-formats/) here. # Supported Formats > Supported Gaussian splat file formats, upload and processing guidance, and best practices for Prevu3D. Beta feature available on demand. Gaussian splats offer a new way to visualize captured environments in Prevu3D — richer detail with fewer meshing artifacts, displayed as a standalone visual layer alongside mesh and point cloud data. *** ## Availability [Section titled “Availability”](#availability) Gaussian splats are in **Beta — available on demand**. Contact your organization administrator if this capability is not yet enabled for your account. ## Supported formats [Section titled “Supported formats”](#supported-formats) Prevu3D accepts the following Gaussian splat input formats: | Format | Notes | | --------- | ------------------------------- | | `.ply` | Standard Gaussian splat PLY | | `.sog` | Bundled super-compressed format | | `.ksplat` | Compressed splat format | | `.splat` | Legacy compressed splat format | | `.spz` | Compressed splat format | Note Only **`.ply` files that contain 3D Gaussian Splat data** can be used — generic point cloud or mesh PLY exports will not import as splats. ## Upload and processing [Section titled “Upload and processing”](#upload-and-processing) 1. Upload your Gaussian splat file through the standard [upload workflow](/en/realityplatform/dataset-preparation-and-upload/upload-scans/). 2. After upload, generate the **Gaussian splat visual representation** from the Data Bundle processing options — the same way you would for point cloud, mesh, or photosphere outputs. During processing, Prevu3D optimizes the splat with an internal **level-of-detail (LOD)** technology to deliver the best viewing experience across devices. This is why a processing step is required before a splat becomes viewable. ## Best practices [Section titled “Best practices”](#best-practices) These recommendations are similar in spirit to other [capture workflows](/en/realityplatform/dataset-preparation-and-upload/data-collection/) in Prevu3D: preparation before upload has a direct impact on how well the splat aligns and performs in the platform. ### Set the correct scale before upload [Section titled “Set the correct scale before upload”](#set-the-correct-scale-before-upload) Prevu3D **does not rescale** Gaussian splats after upload. For optimal alignment with mesh, point cloud, and other layers in a Twin or Data Bundle, export your splat at the **correct real-world scale** from your capture or processing tool **before** uploading. Verify scale and orientation in your capture or processing pipeline before uploading. Prevu3D may offer scale and orientation adjustment capabilities in the future, but they are not available right now. ### Capture and processing quality [Section titled “Capture and processing quality”](#capture-and-processing-quality) Visual quality and spatial accuracy depend on: * The **quality of the original capture** (coverage, overlap, lighting, and movement in the scene) * The **device and software** used to collect and process the splat Recommendations: * Prefer **complete, well-overlapped captures** over sparse or partial scans * Use a **consistent processing pipeline** so exports remain comparable across projects * **Validate the result** in your viewer or processing tool before upload — check scale, orientation, and overall visual quality ### Accuracy expectations [Section titled “Accuracy expectations”](#accuracy-expectations) Gaussian splats prioritize **visual fidelity** over survey-grade geometry. Accuracy varies with capture and processing quality; do not expect the same metrological precision as a high-end TLS point cloud unless your pipeline was designed for it. ## Where to view splats [Section titled “Where to view splats”](#where-to-view-splats) Once processed, Gaussian splats are available in the web applications below. Each product article covers navigation and workflow details for that context: * [**3D Data Viewer**](/en/realityplatform/dataset-preparation-and-upload/3d-data-viewer-workspace/) — navigate splat captures in the bundle viewer * [**RealityTwin**](/en/realitytwin/twin-workspace/navigating-the-twin/#visual-representations) — open twins that use Gaussian splats as the environment; navigate the scene and create RealityAssets, zones, and points of interest * [**RealityComposer**](/en/realitytwin/composer-workspace/managing-layers-1/) — align splat layers, manage layer order, and use inclusion/exclusion boxes; splat layers default to blending layers ## Limitations [Section titled “Limitations”](#limitations) Scale Prevu3D cannot rescale Gaussian splats after upload. Export at the correct scale from your processing tool for best alignment with other representations. RealityPlan Desktop Gaussian splat **and point cloud** representations are **not included** when you download an environment to **RealityPlan Desktop** through the [RealityPlan Hub](/en/realityplan/getting-started/realityplan-hub-overview/). Hub downloads use mesh and photosphere representations. View Gaussian splats in RealityTwin, RealityComposer, or the 3D Data Viewer in the browser. # Supported Formats > Supported mesh formats for importing reality capture, CAD, and BIM models into Prevu3D. Prevu3D supports importing mesh models that were generated outside the platform. These meshes may originate from: * **Reality capture data**, such as lidar or photogrammetry, processed into a mesh using external tools * **Hand-modeled geometry**, created directly in 3D modeling software Mesh inputs are used when the geometry has already been reconstructed prior to upload. Since surface information is already defined, no scan positions or normal computation is required, making mesh uploads straightforward. *** ## Supported Mesh Formats [Section titled “Supported Mesh Formats”](#supported-mesh-formats) ### OBJ [Section titled “OBJ”](#obj) Prevu3D fully supports the OBJ format, including: * `.obj` geometry file * `.mtl` material file * Texture files (usually `.jpg` or `.png`) OBJ datasets must be uploaded as a **single ZIP archive** containing all required files. Caution Inside the ZIP, the `.obj`, `.mtl`, and texture files must maintain their relative paths so materials resolve correctly. ### FBX [Section titled “FBX”](#fbx) Prevu3D also supports FBX files. FBX often packages geometry, materials, and textures together, depending on the exporting software. Accepted content includes: * Textured FBX meshes * FBX models with embedded or external textures (FBM) * Single or multiple materials If your FBX uses external textures, ensure all texture files are included in the ZIP archive prior to upload. Caution Prevu3D does **not** support or preserve animations contained in an FBX file. The platform is designed for large-scale environment visualization rather than small animated assets, and only the **static geometry and materials** from the FBX will be used. ## General Requirements & Recommendations [Section titled “General Requirements & Recommendations”](#general-requirements--recommendations) ### File Organization [Section titled “File Organization”](#file-organization) * Ensure that all files belonging to the mesh are included in a single ZIP before uploading. * Texture paths must resolve correctly, otherwise materials may appear untextured. ### Texture Guidelines [Section titled “Texture Guidelines”](#texture-guidelines) * JPG or PNG textures are supported. * Higher resolution textures result in better visual quality. * Keep texture names consistent with material references (case sensitive in some exporters). ### **Scale & Orientation** [Section titled “Scale & Orientation”](#scale--orientation) Prevu3D imports the mesh exactly as provided, so it is important that: * The model is exported at the correct **real-world scale**, and * The orientation matches Prevu3D’s coordinate system expectations Prevu3D expects meshes to be exported using a **Z-up, right-handed coordinate system**. Note If the orientation is incorrect upon upload, you can adjust it manually using the [**RealityComposer**](/en/realitytwin/composer-workspace/alignment/) tool.\ However, for **georeferenced datasets**, it is strongly recommended to export the mesh in the correct coordinate system from the start, since orientation adjustments may affect spatial alignment with other data sources. # Supported Formats > Upload supplementary documents and data files associated with your Prevu3D projects. The **Other Files** option allows you to upload additional documents or supplementary data that are associated with your site or project but do not fit into the point cloud, mesh, or photogrammetry upload workflows. This feature acts as a lightweight repository where you can store reference materials directly within Prevu3D. *** ## **Supported File Types** [Section titled “Supported File Types”](#supported-file-types) You may upload **any file type**, including but not limited to: * Reports * Control point files * Additional GIS or CAD data * Documentation * Photos or diagrams * Notes or supporting documents There are **no format restrictions**. All files are accepted as-is. ## **Usage Notes** [Section titled “Usage Notes”](#usage-notes) * Uploaded files are **stored alongside your project** for easy access and documentation. * Each file can be **downloaded** at any time. * Common file types can be **previewed directly in Prevu3D** — including videos, images, and PDFs — without leaving the platform. Other formats remain download-only, so you will need to open them with your preferred external software. * These files do **not** trigger any processing and do **not** generate visual representations. ![RealityPlatform PDF file preview](/_astro/realityplatform-file-preview-pdf.pnV2Oje2_Z2rf2va.webp) Note Previews are generated only for **newly uploaded files**. Files uploaded before this feature was released will not show a preview — re-upload the file if a preview is needed. All new uploads will automatically get a preview when the format supports it. See the [29 May 2026 release notes](/en/release-notes/2026/#29-may-2026) for details. # 360° Video Capture Guidelines > Best practices and recommended settings for capturing 360 video with supported cameras for Prevu3D processing. These best practices apply to **all supported 360° cameras**. *** ## Quick Capture Summary [Section titled “Quick Capture Summary”](#quick-capture-summary) | Parameter | Recommendation | | ---------------------- | ------------------------------------------------ | | Camera height | At least **15 cm (6 in) above head height** | | Walking speed | **4—6 km/h (2.5—4 mph)** | | Camera stability | Keep camera stable, avoid rotations | | Distance from surfaces | Maintain **arm’s length** from walls and objects | | Lighting | Ensure **good lighting**, avoid strong contrasts | | Environment | Minimize moving people or machinery | | Capture duration | **15 seconds to 30 minutes per video** | | Minimum movement | Move **at least 5 m (16 ft)** per capture | ## Camera Position [Section titled “Camera Position”](#camera-position) Keep the camera **above head height** during capture. Recommendations: * Maintain at least **15 cm (6 inches)** clearance above your head. * Higher positioning improves ceiling visibility and reduces the operator’s presence in the capture. ## Movement Speed [Section titled “Movement Speed”](#movement-speed) Walk at a **consistent walking pace** during recording. Recommended speed: * **4—6 km/h (2.5—4 mph)** Avoid: * Running * Stopping frequently * Sudden accelerations Consistency is more important than exact speed. ## Camera Stability [Section titled “Camera Stability”](#camera-stability) Keep the camera orientation stable during capture. Avoid: * Rapid rotations * Sudden direction changes * Shaking the camera When changing direction, do so **smoothly**. ## Distance from Surfaces [Section titled “Distance from Surfaces”](#distance-from-surfaces) Maintain distance from walls and objects. Recommendations: * Stay **at least an arm’s length** from nearby surfaces. * Avoid walking directly beside walls or equipment. This helps prevent motion blur and improves reconstruction quality. ## Lighting Conditions [Section titled “Lighting Conditions”](#lighting-conditions) Proper lighting significantly improves reconstruction quality. Recommendations: * Turn on all available lights in the capture area * Avoid extreme lighting contrasts * Avoid mixed lighting temperatures when possible When transitioning between different lighting environments (for example indoors to outdoors), **slow down briefly** to allow the camera exposure to adjust. ## Environment Preparation [Section titled “Environment Preparation”](#environment-preparation) Before starting capture: * Schedule recording during **low activity periods** * Reduce moving people and equipment in the environment * Open doors between spaces when possible * Remove obstacles that could interrupt movement Moving objects can introduce reconstruction artifacts. ## Capture Duration [Section titled “Capture Duration”](#capture-duration) Minimum recording length: **15 seconds per video (at least 30 frames)** Maximum recommended recording length: **30 minutes per video** Longer recordings may fail processing or produce unreliable results. For large environments: * Capture **multiple videos** instead of a single long recording. ## Coverage [Section titled “Coverage”](#coverage) Ensure sufficient movement for reconstruction. Recommendations: * Move at least **5 meters (16 ft)** during capture * Plan a route that covers the entire area * Avoid very short recordings # Insta360 - Capture Setup > Recommended capture settings and file requirements for using Insta360 cameras with Prevu3D 360 photogrammetry. ## Overview [Section titled “Overview”](#overview) This guide explains the recommended capture settings and file requirements when using **Insta360 cameras** for 360° photogrammetry processing in Prevu3D. *** ## Supported Cameras [Section titled “Supported Cameras”](#supported-cameras) The following Insta360 models are validated for use: * Insta360 ONE X2 * Insta360 X3 * Insta360 X4 * Insta360 X5 ## Camera Setup [Section titled “Camera Setup”](#camera-setup) Before starting capture: * Update the camera firmware to the latest version * Remove lens caps * Remove lens guards unless required by the manufacturer * Clean both lenses using a microfiber cloth * Ensure sufficient battery and storage space ## Recommended Recording Settings [Section titled “Recommended Recording Settings”](#recommended-recording-settings) Use the following configuration for all supported Insta360 models. | Setting | Value | | ------------- | ------------- | | Shooting Mode | Timelapse 360 | | Resolution | 5.7K | | Frame Rate | 30 fps | | Interval | 0.5 seconds | Using different settings may result in **processing failures or poor reconstruction quality**. ## Mounting Recommendations [Section titled “Mounting Recommendations”](#mounting-recommendations) ### Selfie Stick [Section titled “Selfie Stick”](#selfie-stick) A selfie stick is the recommended mounting option. Advantages: * Better stability * Easier height control * Keeps the operator in the camera blind spot Recommended option: **Insta360 Carbon Fiber Selfie Stick** ## File Requirements [Section titled “File Requirements”](#file-requirements) Prevu3D requires the **original raw Insta360 files (**`.insv`**)** captured directly from the camera. MP4 files exported from the Insta360 mobile or desktop applications are **not supported**. Two upload modes are supported depending on how the video was recorded. ### Single Video Upload [Section titled “Single Video Upload”](#single-video-upload) Upload **one** `.insv` **file** that contains: * Both fisheye video tracks * Embedded IMU (motion sensor) data This format is supported on some newer Insta360 devices. ### Two Videos Upload [Section titled “Two Videos Upload”](#two-videos-upload) Upload **two** `.insv` **files** from the same recording: * VID\_XXXX\_00.insv * VID\_XXXX\_10.insv Requirements: * Each file contains one fisheye track * At least one file must include IMU data * Both files must belong to the **same capture session** * Both files are required. Uploading only one file will result in processing failure. ### Upload Constraints [Section titled “Upload Constraints”](#upload-constraints) * **Aspect ratio**: 1:1 (tolerance ±0.01) * **Resolution**: 512×512 minimum, 3840×3840 maximum Important Guidelines Do **not**: * Export the video using Insta360 Studio or mobile app * Convert files to `.mp4` or `.mov` * Rename or modify the `.insv` files * Upload stitched or edited videos * Re-mux files with ffmpeg — this strips the required protobuf footer Always upload the **original files directly from the camera’s SD card**. Files must contain accelerometer and gyroscope metadata. ## Video Duration Limits [Section titled “Video Duration Limits”](#video-duration-limits) * **Minimum**: 15 seconds (at least 30 frames) * **Maximum**: 30 minutes (1800 seconds) For large environments, capture **multiple recordings**. # Ricoh - Capture Setup > Recommended capture settings and file requirements for using Ricoh Theta cameras with Prevu3D 360 photogrammetry. # Ricoh Theta 360° Capture Setup [Section titled “Ricoh Theta 360° Capture Setup”](#ricoh-theta-360-capture-setup) ## Overview [Section titled “Overview”](#overview) This guide explains the recommended capture settings and file requirements when using **Ricoh Theta cameras** with the Prevu3D 360° photogrammetry pipeline. ## Supported Cameras [Section titled “Supported Cameras”](#supported-cameras) The following Ricoh Theta models are supported: * Ricoh Theta X * Ricoh Theta V * Ricoh Theta A1 * Ricoh Theta Z1 * Ricoh Theta SC2 ## Camera Setup [Section titled “Camera Setup”](#camera-setup) Before starting capture: * Update the camera firmware to the latest version * Clean both lenses * Ensure sufficient battery and storage space ## Recommended Recording Settings [Section titled “Recommended Recording Settings”](#recommended-recording-settings) Use the following configuration for all Ricoh Theta cameras. | Setting | Value | | ------------- | ----- | | Shooting Mode | Video | | Resolution | 5.7K | | Frame Rate | 2 fps | Using different settings may result in **processing issues**. Why 2 fps 2 fps is a target, not a minimum. Processing uses about two frames per second and discards the extra ones, so a higher frame rate adds no detail to the result. On many Ricoh Theta models it actually costs you some: the camera lowers the video bitrate as the frame rate rises, so each frame carries less detail at the same resolution. If coverage feels thin, walk more slowly rather than raising the frame rate. ## File Requirements [Section titled “File Requirements”](#file-requirements) Prevu3D requires the **original MP4 file** captured directly from a supported **Ricoh Theta** camera. Upload **one** `.mp4` **file** captured directly from the Ricoh Theta camera. The uploaded file must meet the following requirements: * Captured on a supported **Ricoh Theta** device * Original camera-generated file * Contains required **IMU metadata** ### Upload Constraints [Section titled “Upload Constraints”](#upload-constraints) * **Aspect ratio**: 2:1 (tolerance ±0.01) * **Resolution**: 1024×512 minimum, 8192×4096 maximum * **Upload mode**: Single file only (no bulk upload) Important Guidelines Do **not**: * Export or re-encode the video in third-party software * Convert the file to another format * Trim or edit the original video before upload * Upload files generated by unsupported devices Files must contain accelerometer (RDTA) and gyroscope (RDTB) metadata. ## Video Duration Limits [Section titled “Video Duration Limits”](#video-duration-limits) * **Minimum**: 15 seconds (at least 30 frames) * **Maximum**: 30 minutes (1800 seconds) For large environments, capture multiple videos. # Capture Guidelines > Optimize your aerial imagery capture for high-quality 3D reconstructions with expert tips on flight planning, overlap, and compliance with regulations. Prevu3D can process aerial imagery to generate high-quality 3D reconstructions, but the outcome depends heavily on how the data is captured. While Prevu3D does not provide flight-planning or drone-operation tools, the following general guidelines can help you collect reliable imagery. *** ## **Work With Qualified Drone Specialists** [Section titled “Work With Qualified Drone Specialists”](#work-with-qualified-drone-specialists) Aerial data collection should ideally be performed by a **licensed or certified drone operator**.\ Experienced operators are familiar with: * Local aviation regulations * Proper flight permissions and airspace restrictions * Safe flight practices for industrial and complex environments * Camera and sensor calibration * Mission planning for consistent image capture Professional operators can greatly reduce the risk of incomplete datasets or unusable imagery. ## **Comply With Local Regulations** [Section titled “Comply With Local Regulations”](#comply-with-local-regulations) Drone operations are regulated in most countries.\ Before flying, ensure compliance with: * Required drone pilot certifications * Drone registration rules * Permits for controlled or restricted airspace * Operational restrictions for industrial sites, populated areas, or critical infrastructure It is the user’s responsibility to verify and meet all legal requirements before performing any flight. ## **Use a Flight-Planning Tool** [Section titled “Use a Flight-Planning Tool”](#use-a-flight-planning-tool) To achieve consistent coverage and prevent gaps in the dataset, we strongly recommend using a **dedicated flight-planning application**.\ These tools help define: * Flight altitudes and paths * Nadir or oblique camera angles * Front and side overlap * Optimal capture speed * Terrain following * Redundant capture passes in complex areas A planning tool ensures your dataset meets the overlap and geometry requirements needed for reliable image alignment. ## **Plan Your Flight According to Your Project Goals** [Section titled “Plan Your Flight According to Your Project Goals”](#plan-your-flight-according-to-your-project-goals) Before capturing images, decide what you want to map or model. ### Examples: [Section titled “Examples:”](#examples) * **Nadir capture** for flat surfaces, orthomosaics, and open areas * **Oblique capture** for buildings, vertical features, equipment, façades * **Mixed capture** for complex sites (industrial plants, rooftops, dense assets) Choosing the right flight geometry ensures the reconstruction covers all surfaces without gaps. ## **Maintain Sufficient Overlap** [Section titled “Maintain Sufficient Overlap”](#maintain-sufficient-overlap) High overlap is critical to allow the reconstruction engine to match features between images. Recommended: * **Forward overlap:** 75—85 percent * **Side overlap:** 60—80 percent For tall structures, narrow alleys, cranes, or industrial equipment, consider **higher** overlap. ## **Maintain Consistent Exposure and Sharpness** [Section titled “Maintain Consistent Exposure and Sharpness”](#maintain-consistent-exposure-and-sharpness) To ensure reliable image matching: * Avoid blurred images (use fast shutter speed) * Avoid extreme shadow transitions * Keep ISO moderate to reduce noise * Avoid sunrise/sunset when shadows are long * Avoid reflective or wet surfaces when possible Image consistency is more important than resolution alone. ## **Fly at an Appropriate Speed and Altitude** [Section titled “Fly at an Appropriate Speed and Altitude”](#fly-at-an-appropriate-speed-and-altitude) * Too fast → motion blur * Too low → unnecessary texture detail but slower capture * Too high → loss of detail and insufficient ground sampling distance Adjust according to the scale of your environment. ## **Capture Redundancy Where Needed** [Section titled “Capture Redundancy Where Needed”](#capture-redundancy-where-needed) For complex industrial sites, adding extra passes helps capture: * Under overhangs * Between pipes and structures * Around equipment * Rooftops and tall assets Flying additional orbits or angled passes greatly improves coverage. # Supported Formats > Optimize drone imagery with Prevu3D for high-quality point clouds and mesh models. Ensure proper metadata and image quality for best results. Prevu3D supports processing drone imagery to generate point clouds and mesh models. To ensure a successful reconstruction, it is important to understand the data formats and metadata required by the pipeline. By preparing your dataset correctly before upload, you will obtain sharper textures, better alignment, and higher-quality geometry. *** ## Image Formats [Section titled “Image Formats”](#image-formats) Prevu3D supports standard aerial photos in the following formats: * **JPEG (.jpg)** * **TIFF (.tif / .tiff)** ### Required Metadata [Section titled “Required Metadata”](#required-metadata) All images must include **EXIF metadata** with at least: * **GPS position** (latitude, longitude, altitude) * **Camera orientation** (yaw, pitch, roll) * **Timestamp** * **Camera intrinsic parameters** (focal length, sensor width, etc., if provided by the drone) This metadata is essential for image alignment and accurate reconstruction. ## Image Quality Requirements [Section titled “Image Quality Requirements”](#image-quality-requirements) The quality of the reconstruction depends heavily on the quality of the source photos. ### Overlap (Very Important) [Section titled “Overlap (Very Important)”](#overlap-very-important) To align images correctly, your dataset should have: * **Front overlap:** 75—85 percent * **Side overlap:** 60—80 percent Higher overlap is especially important when capturing: * Vertical structures * Complex rooftops * Narrow corridors * Vegetation * Long linear assets ### Sharpness & Exposure [Section titled “Sharpness & Exposure”](#sharpness--exposure) Ensure the following: * No motion-blur * No focus issues * Consistent exposure * Avoid extremely bright or dark images * Avoid low-light flights unless using a stabilized camera with proper exposure settings Tip Slightly overcast days often produce the most consistent photogrammetry results. ## Flight Orientation: Nadir vs. Oblique [Section titled “Flight Orientation: Nadir vs. Oblique”](#flight-orientation-nadir-vs-oblique) Both **nadir** (camera pointing straight down) and **oblique** (angled) imagery are supported. * **Nadir** is suitable for open areas, orthomosaics, and flat-terrain mapping. * **Oblique** captures façades, vertical structures, and complex assets with greater completeness. By default, the pipeline assumes **oblique** capture unless otherwise specified in the configuration file. ## Ground Control Points (GCPs) [Section titled “Ground Control Points (GCPs)”](#ground-control-points-gcps) Prevu3D supports optional Ground Control Points to improve geospatial accuracy and strengthen alignment. ### Supported GCP Target Types [Section titled “Supported GCP Target Types”](#supported-gcp-target-types) We currently support automatic detection of three target shapes: 1. **Square targets** 2. **Diagonal (checker-style) targets** 3. **AeroPoints** If your GCPs use one of these types, the system can automatically detect them in the images. ## GCP CSV File [Section titled “GCP CSV File”](#gcp-csv-file) If GCPs are used, you can upload a **CSV file without a header row**.\ The CSV must follow the expected structure: * GCP name * Easting / X * Northing / Y * Elevation / Z Here is a template as reference: [GCP\_Template\_2025\_11\_17.csv](/downloads/GCP_Template_2025_11_17.csv) ## Configuration File (JSON) [Section titled “Configuration File (JSON)”](#configuration-file-json) You may also upload an optional **JSON configuration file** to specify: * The capture **input type** (`"default_oblique"`, `"default_nadir"`) * The **horizontal coordinate system (EPSG)** * The **vertical coordinate system (EPSG)** * Optional **geoid model** for elevation corrections Here is a template as reference: [Config\_Template\_2025\_11\_17.json](/downloads/Config_Template_2025_11_17.json) This configuration file allows you to ensure correct georeferencing and alignment when working with survey-grade datasets or mixed sources. Finding Your EPSG Code When specifying the horizontal or vertical coordinate system for your dataset, you will need the correct **EPSG code**.\ You can look up the EPSG code for your region or survey system using the following public registry: * [**EPSG.io**](https://epsg.io) This platform provides a complete searchable database of all coordinate systems, including: * Horizontal (projected & geographic) CRS * Vertical CRS * Units (meters, feet) * Related geoid models * Area of use Search by name, region, or keyword to find the correct EPSG code for your dataset. # Emesent > Process Emesent datasets in Prevu3D with pointclouds, colorization, and image exports for enhanced visualization and analysis. Prevu3D supports the following **scanners** from Emesent: * [Hovermap](https://emesent.com/emesent-product/hovermap-series/) * [GX1](https://emesent.com/emesent-product/gx1) Emesent **software** for processing: * [Aura](https://emesent.com/emesent-product/emesent-aura/) *** ## Data Processing [Section titled “Data Processing”](#data-processing) ### Export Settings [Section titled “Export Settings”](#export-settings) In order to process Emesent dataset inside Prevu3D, we require the following files from your Output folder: * Pointcloud (either LAS/LAZ or E57) * Trajectory file (XYZ) * \[Optional] Pictures * \[Optional] Pictures information file (frames\_prevu3d.csv) **Step 1: Pointcloud Processing & Trajectory** You will require to launch a Processing job on Aura to prepare your pointcloud. Once the processing is completed you may open the folder containing all the processed files. You should find the **pointcloud** & the **trajectory** file. You can upload those 2 files on Prevu3D. Note In order to improve the visual result, we **recommend** to do the **steps below** in order to get a colorized result and photosphere. **Step 2: Colorization (Recommended)** Emesent’s colorization feature allows you to augment your point clouds with true color, providing additional context for visualization and analysis. Colorization works by merging the scanner’s LiDAR data with imagery captured during the scan — from a GoPro mounted to Hovermap, or from the GX1’s integrated cameras. Check that you have everything necessary to create a colorized point cloud: * Your scan folder (containing the raw data from your device). * The associated imagery (for Hovermap, a GoPro MP4 file within the scan folder; for the GX1, the integrated camera imagery captured during the scan). You will be able to configure your New Scan Job and select the **Colorize** workflow. Once the processing is completed you can open the folder containing your processed files and should find the pointcloud with **“\_colourised”** in its name. You will be able to upload this colorized version instead of the one from Step 1. **Step 3: Pictures & Pictures Informations (Optional)** The image frames used during colorization can be exported with the colorized point cloud. You can find them in the Intermediate files > frame\_extraction > frames folder. You can upload all the **jpg files** with the **frames\_prevu3d.csv** ![RealityPlatform Export settings](/_astro/realityplatform-export-settings.D_FixEY9_fr36f.webp) # Exyn > Process Exyn datasets in Prevu3D with colorized point clouds and photospheres. Learn step-by-step export and import settings for seamless integration. Prevu3D supports the following **scanners** from Exyn Technologies: * [Nexys](https://www.exyn.com/products/exyn-nexys) * [Nexys Pro](https://www.exyn.com/products/exyn-nexys) Exyn **software** for processing: * ExynView *** ## Data Processing [Section titled “Data Processing”](#data-processing) ### Export Settings [Section titled “Export Settings”](#export-settings) In order to process an Exyn dataset inside Prevu3D, we require the following files which can be exported from ExynView: * Colorized Pointcloud (PLY) * \[Optional] Photospheres * \[Optional] Photosphere image location file (“image\_locations.csv”) **Step 1: Pointcloud Processing** You are required to process the raw exlog data within ExynView on the ExynView tablet to generate a point cloud. For Prevu3D compatibility, the “**Full Colorization**” option must be selected. To do this: 1. Transfer the exlog from the Nexy to the ExynView tablet. 2. Open ExynView and select “Process Capture (.ex)” from the post processing menu. 3. Ensure that the colorization checkbox is checked and that the suboption for “Full” is selected. 4. Click OK to start the post processing pipeline. ![RealityPlatform Export settings](/_astro/realityplatform-export-settings.CF6TYzB-_Z2cNUr6.webp) **Step 2: Pointcloud and Photosphere Export** Once the pointcloud is processed in Step 1, the colorized cloud and photospheres can be exported in the same post processing menu. To do this: 1. Click the “Export” button within the “Export / Additional Processing” section. 2. Within the “Export Point Cloud” options dialog, unselect “Subsampling Options”. 3. \[If Photospheres are desired] Select the “Enable Photosphere Export” option with the extraction format in “Panorama” and image orientation in “Map and Gravity Aligned (default)”. 4. Once options are configured, click “OK” to open the save dialog. 5. Navigate to the desired location in the save dialog and ensure that the file extension is configured as “Binary PLY (\*.ply)”. 6. Once the file is saved the PLY file will appear in the configured location and a folder “\\_images” will be created within the same directory which will include panoramic photos + the “image\_location.csv” file. ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-1.TSdMvYCf_XFPdB.webp) ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-2.CHwSpim0_ZJgRVE.webp) **Step 3: Import into Prevu3D** The PLY + images + image location file generated in Step 2 can now be uploaded to Prevu3D. # Faro > Process Faro scanner datasets in Prevu3D with detailed export settings, ensuring high-quality data integration and visualization. Prevu3D supports the following scanners from FARO: * [FARO Focus S Series](https://www.faro.com/en/Products/Hardware/Focus-Laser-Scanners) (preferred) * [FARO Focus M Series](https://www.faro.com/en/Products/Hardware/Focus-Laser-Scanners) Examples of FARO software for processing: * [FARO SCENE](https://www.faro.com/en/Products/Software/SCENE-Software) *** ## Data Collection [Section titled “Data Collection”](#data-collection) ### FARO M / S Series [Section titled “FARO M / S Series”](#faro-m--s-series) The Focus series scanners have have many settings on the device, but it is important to adjust for: | Setting | Description | | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | `Resolution: 1/4` or `Resolution: 1/5` | Suitable due to high overlap of collection | | `Scan Quality: 2x` or `Scan Quality: 3x` | Higher scan quality will ensure an improved level of detail | | `Imagery: On`, `HDR Imagery: Off` | These imagery options adds a lot of time to the collection. It is best to post process using Laser Illuminated HDR in FARO Scene | ## Data Processing [Section titled “Data Processing”](#data-processing) #### Import Settings [Section titled “Import Settings”](#import-settings) For import settings, please follow the best practices. #### Export Settings [Section titled “Export Settings”](#export-settings) Once the registration is final and validated, the data can be exported to E57 format either as separate files or as one file. **Step 1: Prepare exporting the scans:** * From the side bar, `right-click` on the registered scans, and select ***Export > Scans > Scans - Ordered*** ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-3.BU_l4Znp_Z1SyhRq.webp) **Step 2: From the Export bar, select *Export Scans > Export Scans - Ordered*** ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-4.BuFoDAkd_1Ya6a3.webp) **Step 3: Export options:** * Select the `E57 file format` * Name the file and select the containing folder * Select `Export each scan into a separate file` * Select `Full scan` * Set `Max. Distance` as `30m` * Select `Color and Grey` * Select `Full Color Resolution Panorama Image` * Select `Export` ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-5.DIOVk05h_Z2pSWKE.webp) **Step 4: The export can then be uploaded directly into the Prevu3D web application.** # FJDynamics > Process FJDynamics scanner datasets in Prevu3D. Documentation coming soon. > Documentation is coming soon.. # Flyability > Process Flyability Elios 3 datasets in Prevu3D using E57 or LAS/LAZ exports, with normals and trajectory requirements. Caution This page is under construction. The details below are preliminary and subject to change. Prevu3D supports the following **scanners** from Flyability: * [Elios 3](https://www.flyability.com/elios-3) *** ## Data Processing [Section titled “Data Processing”](#data-processing) ### Export Settings [Section titled “Export Settings”](#export-settings) Prevu3D supports point clouds exported from Flyability’s registration software in either of the following formats: * **E57** — the exported point cloud must include **normals**. * **LAS / LAZ** — must be accompanied by the **trajectory** file. Note Images are not supported for Flyability datasets at this time. # Gexcel > Process Gexcel HERON suite datasets in Prevu3D. Documentation for this device is in progress. Caution This page is under construction. The details below are preliminary and subject to change. Prevu3D supports the following **scanners** from Gexcel: * [HERON suite](https://heron.gexcel.it/en/gexcel-solutions-for-3d-surveying/heron-portable-3d-mapping-systems/) *** ## Data Processing [Section titled “Data Processing”](#data-processing) ### Export Settings [Section titled “Export Settings”](#export-settings) To process a Gexcel dataset inside Prevu3D, we require the following: * **E57** — the exported point cloud must include **normals**. # Leica > Learn how to export Leica scanner data to E57 format for Prevu3D, ensuring quality with proper import and export settings for optimal results. Prevu3D supports the following scanners from Leica: * [Leica RTC Series (RTC300 / RTC500 / RTC700)](https://leica-geosystems.com/products/laser-scanners/scanners/leica-rtc-series) * [Leica RTC360](https://leica-geosystems.com/products/laser-scanners/scanners/leica-rtc360) * [Leica BLK360](https://leica-geosystems.com/products/laser-scanners/scanners/blk360) * Leica P20 * [Leica P40](https://leica-geosystems.com/products/laser-scanners/scanners/leica-scanstation-p40--p30) * [Leica P50](https://leica-geosystems.com/products/laser-scanners/scanners/leica-scanstation-p50) * [Leica BLK2GO/BLK2GO PULSE](https://shop.leica-geosystems.com/ca/leica-blk/blk2go/overview) Examples of Leica software for processing: * [Leica Cyclone Register 360](https://leica-geosystems.com/products/laser-scanners/software/leica-cyclone/leica-cyclone-register-360) * [Leica Cyclone Core](https://leica-geosystems.com/products/laser-scanners/software) *** ## Terrestrial Scanner (RTC300 / RTC500 / RTC700 / RTC360 / BLK360 / P20 / P40 / P50) [Section titled “Terrestrial Scanner (RTC300 / RTC500 / RTC700 / RTC360 / BLK360 / P20 / P40 / P50)”](#terrestrial-scanner-rtc300--rtc500--rtc700--rtc360--blk360--p20--p40--p50) Leica has multiple software applications for registering and working with scan data, each having specific settings needed for proper use in Prevu3D. Data from the Leica RTC Series (RTC300, RTC500 and RTC700) is registered in Leica Cyclone REGISTER 360 PLUS and uses the same import and export settings as Register 360 below. ### Leica Cyclone Register 360 [Section titled “Leica Cyclone Register 360”](#leica-cyclone-register-360) The Register 360 software offers a simplified workflow to register data from Leica scanners, and it is important to ensure proper settings are applied for quality export of data for Prevu3D. #### Import Settings [Section titled “Import Settings”](#import-settings) | Setting | Description | | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `Pano Image Resolution` | Change to maximum resolution of `5120` | | `Filter Points by Distance` | For interior environments it can be beneficial to filter the range of data per setup to reduce noise. Typically this could be set at a maximum range of `30 meters` (100 feet) | #### Export Settings [Section titled “Export Settings”](#export-settings) Once the registration is final and validated, the data can be exported to E57 format either as separate files or as one file. This format will include the structured point cloud and associated images per setup. **Step 1: From the export options, within the ‘Publish Options’, select the E57 (as separate files) option to export in the desired file format.** ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-6.DZXwoFTr_Z1FY1ly.webp) **Step 2: The export can then be uploaded directly into the Prevu3D web application.** ### Leica Cyclone Register (Core) [Section titled “Leica Cyclone Register (Core)”](#leica-cyclone-register-core) If more robust registrations are required, Leica offers a higher end registration tool called Cyclone Register (Core). It is a separate solution from Register 360 which has some different settings for import and exporting. #### Import Setting [Section titled “Import Setting”](#import-setting) | Setting | Description | | ------------------------ | -------------------------------------- | | `Cube Images Resolution` | Change to maximum resolution of `5120` | ![RealityPlatform Import setting](/_astro/realityplatform-import-setting.DnMCtO6P_lX6AA.webp) #### Export Settings [Section titled “Export Settings”](#export-settings-1) Once the registration is final and validated, the data can be exported to E57 format either as separate files or as one file. This format will include the structured point cloud and associated images per setup. **Step 1: From the export options, select E57 Format as the Export File Type and select a containing folder.** ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-7.DZavGfVd_czMXF.webp) **Step 2: Select Export Scans, Export Images and Use Setup Name as Scan Name when finalizing the export.** ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-8.YEq8y7l__qmpEJ.webp) **Step 3: The export can then be uploaded directly into the Prevu3D web application.** ## SLAM Scanner (BLK2GO / BLK2GO Pulse) [Section titled “SLAM Scanner (BLK2GO / BLK2GO Pulse)”](#slam-scanner-blk2go--blk2go-pulse) ### Leica Cyclone Register 360 PLUS (BLK Edition) [Section titled “Leica Cyclone Register 360 PLUS (BLK Edition)”](#leica-cyclone-register-360-plus-blk-edition) The Cyclone Register 360 PLUS (BLK Edition) is required to properly export data for Prevu3D. #### Export Settings [Section titled “Export Settings”](#export-settings-2) Prevu3D requires an e57 with normals to process BLK2GO dataset. **Step 1: From the export options, select** “**Export Normals for E57/PTS/PTX**"". **.** ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-9.DYLC8ZJ__Z2kYXde.webp) Compared to Terrestrial scanners, the SLAM based devices doesn’t produce a “structured” e57. **Step 2: From the export options, within the ‘Publish Options’, select the E57 (as one file) option to export in the desired file format.** **Step 3: Select the export as ‘Single point cloud (unstructured)’ option.** ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-10.C93P0yoP_Z1iyGT0.webp) # Matterport > Process Matterport scanner datasets in Prevu3D with Pro2 and Pro3 scanner support and detailed export settings. Prevu3D supports the following **scanners** from Matterport: * [Pro2](https://matterport.com/pro2) * [Pro3](https://matterport.com/pro3) *** ## Data Processing [Section titled “Data Processing”](#data-processing) ### Export Settings [Section titled “Export Settings”](#export-settings) #### **Option #1 (Recommended): E57 export** [Section titled “Option #1 (Recommended): E57 export”](#option-1-recommended-e57-export) Why E57 is Recommended in Prevu3D 1. **Enables Meshing** Prevu3D can process E57 files to create detailed 3D meshes, which are essential for accurate visualization and editing. 2. **Preserves 360-Degree Images** E57 files retain 360-degree imagery, enabling the immersive [photosphere navigation](/en/realityplan/getting-started/navigation/) mode within Prevu3D. This feature enhances spatial understanding and provides an interactive way to explore scanned environments. * From the Add-ons page, you may export the e57 files ![RealityPlatform Option recommended E57 export](/_astro/realityplatform-option-1-recommended-e57-export.Bw9orKhd_Z1HtAuA.webp) *See Matterport documentation for all the details:* [*Export e57*](https://support.matterport.com/s/article/Overview-of-Matterport-E57-File?language=en_US) * You will be able to [upload](/en/realityplatform/dataset-preparation-and-upload/upload-scans/) your e57 file on Prevu3D. Note There might be some fee related to exporting e57 from Matterport solution. #### **Option #2 : Matterpak export** [Section titled “Option #2 : Matterpak export”](#option-2--matterpak-export) Prevu3D also support the Matterpak bundle as an input. * From the Add-ons page, you may download the Matterpak: ![RealityPlatform Option matterpak export](/_astro/realityplatform-option-2-matterpak-export.vFMmFlbT_ZsHFFH.webp) *See Matterport documentation for all the details:* [*Export Matterpak*](https://support.matterport.com/s/article/Download-the-MatterPak-Bundle?language=en_US) * You will be able to [upload](/en/realityplatform/dataset-preparation-and-upload/upload-scans/) your Matterpak file on Prevu3D. Caution * The Matterpak is already contains a mesh (OBJ) you will need to upload it as a Mesh. * The Matterpak will not comes with the 360 pictures. See the E57 export options if you require the photosphere navigation mode # NavVis > Process NavVis scanner datasets in Prevu3D with detailed export settings, ensuring high-quality data integration and visualization. Prevu3D supports the following **scanners** from NavVis: * NavVis VLX (preferred) * NavVis M6 *** ## Data Collection [Section titled “Data Collection”](#data-collection) In order to achieve the highest quality results, the following is required: | Quality | Requirement | | -------------- | ----------------------------------------------------------------------------------------------- | | High overlap | Capturing areas with high overlap between passes to ensure there is little to no occlusion | | Many images | Capture as many images as possible. Ideally panoramic images should be collected every 3 meters | | Loop closures | Improves accuracy and error correction | | Control points | For large scans this is recommended to reduce drift | ## Data processing [Section titled “Data processing”](#data-processing) Note NavVis offers both a local Linux processing option and a cloud processing option. ### NavVis IVION Processing Settings [Section titled “NavVis IVION Processing Settings”](#navvis-ivion-processing-settings) Select the following processing settings: ![RealityPlatform NavVis IVION processing settings](/_astro/realityplatform-navvis-ivion-processing-settings.BUOXQ0bb_ZvBDbf.webp) *** ## NavVis IVION Crop and Download [Section titled “NavVis IVION Crop and Download”](#navvis-ivion-crop-and-download) NEW! It is now possible to use the Crop and Download option in NavVis’ IVION software to download e57 files with panoramas. This feature allows NavVis point cloud data that was captured without control points to be aligned in IVION and exported in a compatible format for Prevu3D meshing. You can find more information on this feature in this [documentation](https://knowledge.navvis.com/docs/navvis-ivion#concept-5531) by Navvis. ![RealityPlatform NavVis IVION crop and download controls](/_astro/realityplatform-navvis-ivion-crop-and-download.BORRLpyD_ZCBtV5.webp) ### Sitemaker Processing Settings (Linux) [Section titled “Sitemaker Processing Settings (Linux)”](#sitemaker-processing-settings-linux) Select the following processing settings: | Setting | | ------------------------------- | | Point Cloud Resolution: 5mm | | Point Cloud Format: ply | | Colorize point cloud: True | | Generate panoramic images: True | ![RealityPlatform SiteMaker processing settings](/_astro/realityplatform-sitemaker-processing-settings-linu.BESRPkqZ_ZQncoa.webp) If you are using Navvis Sitemaker to process your Navvis scans, you can retrieve the .nvd files from the generated datasets\_web folder, and import these into [IVION](/en/realityplatform/dataset-preparation-and-upload/input-types/point-cloud-data-tls-slam/supported-devices/navvis/#navvis-ivion-crop-and-download). From here, you can follow the usual workflow with the crop and download feature to export e57 files with panorama images. ## Texture Projection Option [Section titled “Texture Projection Option”](#texture-projection-option) When uploading NavVis datasets, two options are available in the [Upload Wizard](/en/realityplatform/dataset-preparation-and-upload/upload-scans/#exploring-the-upload-wizard-tree) to control how textures are applied to the 3D mesh. Important Information * **The 3D geometry is NOT impacted by this setting** * Both options generate **the exact same geometry** * The difference is **purely visual (texturing only)** ![RealityPlatform Texture projection option](/_astro/realityplatform-texture-projection-option.DVwegPKZ_Z5FiDF.webp) ### Option 1: Without Projection [Section titled “Option 1: Without Projection”](#option-1-without-projection) Disable Texture Projection (Recommended for consistency) The mesh will be colored using **point cloud color data only**, without projecting panoramic images. **Benefits:** * Produces a more **uniform and stable appearance** * Reduces visual artifacts caused by image distortion **Trade-offs:** * May appear slightly blurred, as colors are interpolated from point data * Fine details (e.g., text or small features) may be less sharp #### Option 2 : With Projection [Section titled “Option 2 : With Projection”](#option-2--with-projection) Enable Texture Projection (Recommended for realism) Prevu3D projects panoramic (360°) images onto the mesh to enhance visual quality. **Benefits:** * Produces **highly detailed and realistic visuals** * Leverages the full quality of NavVis imagery * Best suited for **visual inspection and immersive navigation** **Trade-offs:** * May introduce visual artifacts such as distortion or misalignment * Can result in less consistent appearance across the model * Not ideal for workflows requiring high visual accuracy Important Consideration NavVis panoramic images can contain distortions. While Prevu3D applies correction algorithms, some distortions may still result in: * Misaligned textures in certain areas * Visual artifacts where images are projected inaccurately These issues are caused by source data distortion and are partially outside of Prevu3D’s control. ### Examples [Section titled “Examples”](#examples) Potential Artifacts with Texture Projection. The example below left illustrates common artifacts that may occur when texture projection is enabled: * Distortion on curved surfaces (e.g., pipes) * Inconsistent texture blending on ceilings or flat areas * Minor misalignment or ghosting on floors ![Texture projection artifacts highlighted on pipes, ceiling, and floor](/_astro/realityplatform-examples.CeQx_PHM_12AH5E.webp)![Mechanical room with projected textures](/_astro/realityplatform-examples-1.Cf9Y6WrX_1EKK74.webp) Benefits of Texture Projection In contrast, the example below right illustrates how texture projection can significantly improve visual quality: * Enhanced detail on surfaces (e.g., stair grating) * More realistic and immersive representation ![Staircase without texture projection](/_astro/realityplatform-examples-2.C-4zo03I_ZWMNgd.webp) ![Staircase with texture projection](/_astro/realityplatform-examples-3.z4iSXY7X_p8L97.webp) Tip Use *With Projection* for walkthroughs and inspections, and *Without Projection* for analysis workflows where visual consistency is critical. # RIEGL > Process RIEGL scanner datasets in Prevu3D with detailed export settings, ensuring high-quality data integration and visualization. Prevu3D supports the following **scanners** from RIEGL: * [VZ-400i](http://www.riegl.com/nc/products/terrestrial-scanning/produktdetail/product/scanner/48/) * [VZ-600i](http://www.riegl.com/nc/products/terrestrial-scanning/produktdetail/product/scanner/78/) Examples of RIEGL **software** for processing: * [RiSCAN Pro](http://www.riegl.com/products/software-packages/riscan-pro/) *** RIEGL data can be captured in two modes, and the export workflow differs between them. Confirm which mode was used before preparing the data: * **Terrestrial laser scanning (TLS)** — fixed-position scans exported from RiSCAN Pro. Follow the workflow below. * **Kinematic (SLAM)** — mobile capture. See [Kinematic (SLAM) mode](#kinematic-slam-mode) below. ## Data Processing [Section titled “Data Processing”](#data-processing) The steps below apply to **terrestrial (TLS)** capture exported from RiSCAN Pro. ### Export Settings [Section titled “Export Settings”](#export-settings) **Step 1: Select pointclouds for export in the project tree** ![Selected point clouds in the RiSCAN Pro project tree](https://lh7-rt.googleusercontent.com/slidesz/AGV_vUcKQd32R6UOlAFbIoyagfHbHH9_crZBAcdd2lkqrYheJTzk7ekrMUfuj_U6J9dy2IuOJh38ijQE-LQaAL3iB5EXv8xb1SADn7OPei1TXjcHJIjB-_GTqDz0tHchR2Qg_6gWXc3dfhP-uLDpvX93aqLb8eBsbcrMF12FfCpLwplPeUhEt5sXU1E=s2048?key=dJjyKLYPRoeCkuXmeDfSXQ) **Step 2: Start export tool** The export tool can be found in the quickstart menu of the project manager pane, or in the context menu (right-click) of a selected pointcloud. In case no pointclouds were pre-selected the export tool starts with a list of pointclouds to choose from. ![RiSCAN Pro point cloud export tool](https://lh7-rt.googleusercontent.com/slidesz/AGV_vUdCOUaIPZrb4wPWLO7A9VNVjdXtqgr_Iq0E-oiTwsr2wzB5vE0rTLMj23-9hPCzvB-gRsKH3VHQAuXsoVlu0sIBH7vBgs7lhQwKL9imoy_tb_TRdxMcTKX2NgT3mMeGUaSD-E-XvvnVZ5-XM_97grIdaNev8X1tm0fe21yDS9DyAjAV2aCn-Q=s2048?key=dJjyKLYPRoeCkuXmeDfSXQ) **Step 3: Set parameters** * Select the E57 format * \[Recommended] Keep Combine Data **unselected** We also **recommend** selecting the following parameters even if they are optional to get an optimal result. * Export images from SCANPOSIMAGES folder * Export panorama images ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-11.Ckukm9uw_2rCmGn.webp) * Press OK to launch the export process. Once exported, you will be able to upload your e57 files inside Prevu3D by following the [upload](/en/realityplatform/dataset-preparation-and-upload/upload-scans/) workflow. ## Kinematic (SLAM) mode [Section titled “Kinematic (SLAM) mode”](#kinematic-slam-mode) RIEGL kinematic (SLAM) capture is now supported. The detailed export workflow is coming soon. In the meantime, the uploaded **E57** file must include: * **Point normals** * **Embedded images** If you are unsure which capture mode your data uses, check with your RIEGL operator before uploading. # Trimble > Process Trimble scanner datasets in Prevu3D with detailed export settings, ensuring high-quality data integration and visualization. Prevu3D supports the following **scanners** from Trimble: * Trimble X7 * Trimble X9 Examples of Trimble **software** for processing: * Trimble Realworks *** ## Data Processing [Section titled “Data Processing”](#data-processing) #### Export Settings [Section titled “Export Settings”](#export-settings) **Step 1: Prepare exporting the scans:** From the top bar in the home page, `left-click` on the export button, and select `Convert TZF Scans of Selected Stations (Gridded E57/PTX/PTS/RCP)` ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-12.BflBHGDA_Z5INV6.webp) **Step 2: Select the stations you wish to export, then select** `Export` ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-13.CqaLGWQU_2cAi3I.webp) **Step 3: Export options:** * Select the `E57 file format` * Name the file and select the containing folder * Click the Convert button to complete the export ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-14.w2ueXKGX_VqYuR.webp) **Step 4: The export can then be uploaded directly into the Prevu3D web application.** Note When uploading the E57 from Trimble to a Prevu3D project a warning will appear that “file has no pictures”. Trimble encodes the images directly in the point cloud, so this warning can just be ignored and the data can be submitted as is. # Viametris > Process Viametris MS 96 Exyn scanner datasets in Prevu3D with recommended export and import settings. Prevu3D supports the following **scanners** from Viametris: * MS 96 Exyn **software** for processing: * PPIMMS *** ## Data Processing [Section titled “Data Processing”](#data-processing) ### Export Settings [Section titled “Export Settings”](#export-settings) In order to process an Viametris dataset inside Prevu3D, we require the following files which can be exported from PPIMMS: * Colorized Pointcloud (LAZ) * Trajectory (XYZ) * \[Optional] Photospheres * \[Optional] Photosphere image trajectory file (XYZ) **Step 1: Pointcloud export** To export the point cloud, access the “Result” menu or right-click on the result within the project, then select “Export PointCloud (unified)”. Opt for the “High” resolution, and adjust the “Environment type” as needed to match the desired filtering profile. ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-15.C7xFPNtJ_Z2990Rx.webp) **Step 2: Sensor Trajectory** To export the sensor trajectory, navigate to the “Result” menu or right-click on the result within the project, then select “Export Sensor Trajectory”. ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-16.CsEyYtOF_ZjaORt.webp) **Step 3: Panoramic images + panoramic images trajectory file** To export images, navigate to the “Result” menu or right-click on the result within the project, then select “Export Images”. Choose the “Panoramic Images” mode, and adjust the “Distance between images” according to your requirements. The **trajectory file** for the images will be exported and saved in the same directory as the panoramic images. ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-17.C5x5s4kx_Z8Hc6W.webp) # XGRIDS > Process XGRIDS scans with Prevu3D using Lixel K1, L2, and L2 Pro. Learn to manage point clouds, panoramas, and export settings effectively. Prevu3D supports the following **scanners** from XGRIDS: * Lixel K1 * Lixel L2 * Lixel L2 Pro Examples of XGRIDS **software** for processing: * [LixelStudio](https://www.xgrids.com/lixelstudio) *** ## Data Processing [Section titled “Data Processing”](#data-processing) ### Export Settings [Section titled “Export Settings”](#export-settings) **Step 1: Process the scans** From your **LixelStudio**, process the scans. Make sure to select “**Output panoramic images**” in the coloring settings for project processing. Regarding the point cloud coloring options, follow the best practices from XGrids. Depending on the device model, you might want to choose **internal camera** or **external camera**. ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-18.CZuQMp4P_Z82cBm.webp) **Step 2: Gather the required files** After processing the raw data from the scanner using LixelStudio, you will receive a **post-processed result folder**. All the data you need should be located within this folder. Please refer to the images below for guidance on the file structure and relevant outputs. Prevu3D requires the following files to process XGrids datasets: * Pointcloud (.LAS) * Trajectory (poses.csv or pose\_no\_offset.csv) * \[Optional] Panoramas (jpg) * \[Optional] Panoramas informations (panoramicPoses.csv) Click the Open folder of your processing: ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-19.B53lxuZj_Z10Mkmw.webp) There will be three folders: one for the PDF report, one for the processing results, and one for the algorithm logs. Click into the **processing results folder (named after your raw data)**. ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-20.BdzjtjNl_1Cz14H.webp) ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-21.QYcZcdxH_8FnhS.webp) Then you will find the result .**las file** which is the processed point cloud file. The **pose.csv** & **pose\_no\_offset.csv** are the trajectory data. If you have ticked “output panoramic images” in the coloring setting for project processing, you’ll also see a “**panoramicImages**” folder containing all the panoramas. The **panoramicPoses.csv** contains the photo info such as timestamp and xyz location and posture (quarternion or row pitch yaw). ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-22.DETWB9bn_Z2s4IWb.webp) Pose.csv or Pose\_no\_offset.csv The main difference between **pose\_no\_offset.csv** and **pose.csv** is that one contains absolute coordinates, while the other does not. The pose\_no\_offset.csv file is only generated when RTK or ground control points are used during post-processing to perform a coordinate transformation. If you want to preserve this transformation, we recommend using pose\_no\_offset.csv. **Step 3: Import into Prevu3D** The files generated in Step 2 can now be uploaded to Prevu3D. # Z+F > Process Z+F scanner datasets in Prevu3D with detailed export settings for E57 and SLAM, ensuring high-quality data integration and visualization. Prevu3D supports the following scanners from Z+F: * Z+F Imager 5010C * Z+F Imager 5010X * Z+F Imager 5016 * Z+F FlexScan 22 Examples of Z+F software for processing: * [Z+F LaserControl](https://www.zofre.de/en/laser-scanners/laserscanning-software/z-f-lasercontrolr) *** ## Data Processing [Section titled “Data Processing”](#data-processing) ### Terrestrial Scanner [Section titled “Terrestrial Scanner”](#terrestrial-scanner) #### Export Settings [Section titled “Export Settings”](#export-settings) In order to process Z+F Terrestrial Scanner dataset inside Prevu3D, we require the following files: * Structured E57 (Pictures are optional) **Step 1: Export Panorama Images:** * From the main bar, select Color > Export high resolution panoramas…# * Export options: * Select `Choose from list` * Image type `jpg` * Resolution `high (width=10000)` * Then select `OK` ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-23.D4PNIbDC_13a382.webp) **Step 2: Export E57** * From the export project items menu, select all the items you wish to export: * In the Format settings tab, select the following settings: * Add panorama images * Enter your file name and file path, then select `Export` ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-24.Cia_Hx1F_17webk.webp) * Once exported, you will be able to upload your e57 files inside Prevu3D by following the [upload](/en/realityplatform/dataset-preparation-and-upload/upload-scans/) workflow. ### SLAM Scanner (FlexScan) [Section titled “SLAM Scanner (FlexScan)”](#slam-scanner-flexscan) #### Export Settings [Section titled “Export Settings”](#export-settings-1) In order to process Z+F SLAM Scanner (FlexScan) dataset inside Prevu3D, we require the following files: * Pointcloud (.LAS) * Trajectory (.txt) * \[Optional] Pictures * \[Optional] Pictures Information **Step 1: Define export settings** * Select the “Settings…” ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-25.DIlC3lWu_Z1t7re8.webp) * \[Optional] **Panoramas : Enabled** * Select the **Format**: **las** * \[Required] **Track : Enabled** ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-26.BM5fbNO0_Z151Y8a.webp) **Step 2: Access the data** Following the export process, you may find the data inside your “export” directory ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-27.DwrNNtXE_2hVFYU.webp) There, each FlexScan-dataset will be located in its own subdirectory ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-28.OAKD2WNX_ffBEH.webp) You will find the required files. ![RealityPlatform Export settings](/_astro/realityplatform-export-settings-29.BI1W9qtw_Z1rq2fq.webp) In the example below above we can see: * Pointcloud (.LAS) => backpack log\_1\_2\_complete.las * Trajectory (.txt) => backpack log\_1\_2\_complete\_laser\_0.txt * \[Optional] Pictures => All the JPG files (backpack log\_1\_2\_complete-idx249.jpg / backpack log\_1\_2\_complete-idx293.jpg / backpack log\_1\_2\_complete-idx343.jpg …) * \[Optional] Pictures Information => All the JSON files (backpack log\_1\_2\_complete-idx249.json/ backpack log\_1\_2\_complete-idx293.json/ backpack log\_1\_2\_complete-idx343.json…) Note * This is an example. The name “backpack log\_1\_2\_complete” might differ in your case. * If you have pictures, you should have the same number of jpg and xml files. # Supported Formats > Upload point cloud data to Prevu3D effectively by understanding file types, metadata, and optimal practices for high-quality mesh creation. When uploading point cloud data into Prevu3D, it is important to understand the different types of files and metadata that can be provided. Prevu3D supports a wide range of formats produced by terrestrial laser scanners, SLAM systems, and other lidar devices. Although Prevu3D can visualize point cloud data directly, certain features such as shading, slicing, and meshing require additional information, such as normals or scan positions. Providing a complete, well structured dataset ensures the best visual and processing results. *** Understanding Point Cloud Types Point clouds come in many forms, and not all contain the information needed for advanced processing. Before uploading, you should be familiar with the basic terminology used in 3D scanning workflows.\ Refer to the [**Data collection**](/en/realityplatform/dataset-preparation-and-upload/data-collection/) article for a comprehensive introduction. ## What We Need to Create a Mesh [Section titled “What We Need to Create a Mesh”](#what-we-need-to-create-a-mesh) To produce a high quality mesh from your point cloud, Prevu3D needs the ability to determine the **normal** (surface direction) for each point. This can come from: * Existing normals stored inside the file * Structured scan data that preserves scanner positions * A trajectory file for SLAM devices ### Optional but Recommended: Imagery [Section titled “Optional but Recommended: Imagery”](#optional-but-recommended-imagery) If imagery is available, Prevu3D uses the original photos to generate high quality textures and enable features such as photosphere navigation. Image-based texturing produces sharper, more detailed visual results. If no imagery is provided, Prevu3D will generate the texture using the **RGB values stored in the point cloud**. This produces a correct but **less detailed and slightly blurrier** texture compared to one generated from original photos. **Important:**\ Even without images, the **geometry quality** of the resulting mesh remains the same. The difference affects only the **visual appearance**, not the underlying 3D accuracy. ## Terrestrial Laser Scanning Data [Section titled “Terrestrial Laser Scanning Data”](#terrestrial-laser-scanning-data) Prevu3D supports the meshing of high resolution terrestrial scanners using the vendor neutral E57 file format. The E57 file format is a compact, vendor-neutral format for storing point clouds, images, and metadata produced by the laser scanners. The supported E57 is either structured (setup locations included) point cloud with color imagery, or unified (merged) point cloud with color imagery and normal information With usual terrestrial datasets, we compute normals using the stations position (hence the need for terrestrial datasets to be **structured**) ### Recommended Export Approach: One E57 Per Station [Section titled “Recommended Export Approach: One E57 Per Station”](#recommended-export-approach-one-e57-per-station) While some scanners allow you to export a single, merged E57 file that contains all stations, we strongly recommend exporting **one E57 file per station** instead of one large file. This approach offers several advantages: * Easier troubleshooting: If one station turns out to be corrupted, noisy, or misaligned, you only need to re-export or re-upload that single file instead of regenerating the entire dataset. * More efficient processing: Processing multiple smaller E57s is often faster than processing one very large file. * More predictable uploads: Smaller files reduce the risk of upload interruptions or timeouts. Both approaches are supported, but exporting **one E57 per station** provides the most flexibility and is the preferred method for long-term dataset management. Note Make sure to look at the [Supported Devices list](/en/realityplatform/dataset-preparation-and-upload/input-types/point-cloud-data-tls-slam/supported-formats/) for more details about the process to get the required & optimal files. If you don’t see your device in the list, please contact us. ## SLAM Scanning Data [Section titled “SLAM Scanning Data”](#slam-scanning-data) Prevu3D supports the meshing of SLAM scanners. With SLAM datasets there are multiple cases: * The pointcloud already contains a normal for each point, so we don’t need to compute any additional information. * Other devices produce both a point cloud and a trajectory. If the format is correct, we can use the trajectory to compute a normal for each point. Considering there’s no official standard yet in regards of SLAM data, we have a device based upload approach. It will ask you the required files. * Pointcloud (Typically e57 or LAS/LAZ) * Trajectory (if your pointcloud doesn’t contains normal) * Picture (can be embedded inside e57 or external) * Picture position (can be embedded inside e57 or external) Note Make sure to look at the [Supported Devices list](/en/realityplatform/dataset-preparation-and-upload/input-types/point-cloud-data-tls-slam/supported-formats/) for more details about the process to get the required & optimal files. If you don’t see your device in the list, please contact us. ## Structured vs. Unstructured vs. Unified pointcloud [Section titled “Structured vs. Unstructured vs. Unified pointcloud”](#structured-vs-unstructured-vs-unified-pointcloud) It can be a bit tricky to distinguish the difference between Structured, unstructured and Unified pointcloud terminology. We have an interesting article describing the differences between them.\ # Project Editor [Deprecated] > Visualize and adjust which data is processed and billed in Prevu3D using the Project Editor (deprecated). The project editor allows you to visualize and adjust which data is going to be processed and billed by Prevu3D. *** Deprecated This workflow is deprecated and will be removed on **2025-12-31** Please follow the new workflow [here](/en/guides-and-faqs/introducing-data-bundles/#project-editor-replacement) ## Accessing the project editor [Section titled “Accessing the project editor”](#accessing-the-project-editor) Once you have [uploaded](/en/realityplatform/dataset-preparation-and-upload/upload-scans/) all of your project data and ready to launch you build, you may access the project editor within the pointcloud **View Datasets** section and select **Create a project**. ![RealityPlatform Accessing the project editor](/_astro/realityplatform-accessing-the-project-editor.DTAODTFM_ZooXB6.webp) ## Editing your project [Section titled “Editing your project”](#editing-your-project) In the project editor, you will be able crop out parts of your point cloud by moving the blue handles around. The GB consumed from your [available Processing](/en/realityplatform/organization-management/usage-summary/) is calculated based on the area selected. ### Using handles [Section titled “Using handles”](#using-handles) You can easily add and remove cropping points to add greater accuracy to your crop. Just `click` on the `+` to add a point. Then drag the points to adjust the crop. [](/videos/project-editor-add-remove.mp4 "Adding and removing cropping points") ### Viewing modes [Section titled “Viewing modes”](#viewing-modes) To adjust the minimum and maximum height of the point cloud, you should change the viewing mode from `top` to any of the side views. [](/videos/project-editor-viewing-modes.mp4 "Changing Project Editor viewing modes") ## Launching the build [Section titled “Launching the build”](#launching-the-build) Once you have finished cropping your project, an approximate GB calculation of your space is done. You may then launch your build by pressing **Confirm**. # Upload Workflow > Learn how to upload point clouds to Prevu3D. Select your data type, validate files, and process scans for preview, meshing, and RealityPlan Projects. The upload workflow allows you to bring data into Prevu3D, validate it, and prepare it for processing into the visual representations used across RealityTwin, RealityPlan, RealityConnect, and the 3D Data Viewer. *** ## Accessing the upload workflow [Section titled “Accessing the upload workflow”](#accessing-the-upload-workflow) 1. When in a site, use the “**New**” button on the top right corner 2. Click “**File upload**” ![RealityPlatform Accessing the upload workflow](/_astro/realityplatform-accessing-the-upload-workflow.CbMElaxv_2kbUME.webp) ## Choosing What You Want to Upload [Section titled “Choosing What You Want to Upload”](#choosing-what-you-want-to-upload) The Upload Wizard will open and prompt you to select the type of data you want to import.\ You may choose from: * **Point Cloud** * **Mesh** * **Photogrammetry** * **Gaussian Splats** * **Other Files** After selecting a data type, you will be asked to provide a **name for your data bundle**.\ This bundle represents all files associated with the dataset and will be used throughout the platform. ![RealityPlatform Choosing what you want to upload](/_astro/realityplatform-choosing-what-you-want-to-upload.DGA6OdSl_Z1NIzLx.webp) ## Exploring the Upload Wizard Tree [Section titled “Exploring the Upload Wizard Tree”](#exploring-the-upload-wizard-tree) Based on the data type you selected, the wizard will expand and display the files required for that category. For more details about the expected formats and data requirements, you can refer to the corresponding documentation pages: * [**Point Cloud Data — Supported Formats**](/en/realityplatform/dataset-preparation-and-upload/input-types/point-cloud-data-tls-slam/supported-formats/) * [**Mesh Data — Supported Formats**](/en/realityplatform/dataset-preparation-and-upload/input-types/mesh-data/supported-formats-1/) * [**Drone Photogrammetry — Supported Formats**](/en/realityplatform/dataset-preparation-and-upload/input-types/photogrammetry-data/drone/supported-formats-2/) * [**Gaussian Splats — Supported Formats**](/en/realityplatform/dataset-preparation-and-upload/input-types/gaussian-splatting/supported-formats/) * [**Other Files — Supported Formats**](/en/realityplatform/dataset-preparation-and-upload/input-types/other-files/supported-formats-3/) These articles explain what each upload type requires and how to prepare your dataset correctly. ![RealityPlatform Exploring the upload wizard tree](/_astro/realityplatform-exploring-the-upload-wizard-tree.DWGgF148_YzNxl.webp) ![RealityPlatform Exploring the upload wizard tree](/_astro/realityplatform-exploring-the-upload-wizard-tree-1.DRRmEl2w_Z1pRYdp.webp) The wizard dynamically analyzes the selected capture device or data category and will: * Request **required files** * Indicate **optional files** * Display recommendations for achieving the best results * Adjust parameters internally based on the selected input type This ensures the upload flow is tailored to your specific dataset. ![RealityPlatform Exploring the upload wizard tree](/_astro/realityplatform-exploring-the-upload-wizard-tree-2.CGRKOV7S_1a3kKf.webp) ## Uploading Your Files [Section titled “Uploading Your Files”](#uploading-your-files) When ready, `drag and drop` your files into the upload area or `browse` to select them from your computer. ## Reviewing Files [Section titled “Reviewing Files”](#reviewing-files) Select **Review Files** to validate the data before upload. This step checks that: * Required files are present * File structure and metadata are correct * The dataset is ready for processing ![RealityPlatform Reviewing files](/_astro/realityplatform-reviewing-files._ZIFNrti_Z1DPX6O.webp) ## Upload Progress [Section titled “Upload Progress”](#upload-progress) While files upload, the progress view shows the status of each file individually. For large uploads, you can track **per-file progress**, estimated **speed**, **time remaining**, and live status updates so you know when each part of the dataset is complete. Wait for the upload to finish before closing the workflow. ![RealityPlatform Upload progress](/_astro/realityplatform-upload-progress.DfU0pYB-_uiD75.webp) Caution While uploading, make sure you don’t close your browser, it would interup your ongoing upload process. ## Multiple Scan Sessions [Section titled “Multiple Scan Sessions”](#multiple-scan-sessions) If your dataset includes multiple scans sessions, you can add additional file sets using the **Add Scan** option and repeat the steps above. ![RealityPlatform Multiple scan sessions](/_astro/realityplatform-multiple-scan-sessions.C2WfR51C_2o8RjK.webp) # Processing Your Data [Section titled “Processing Your Data”](#processing-your-data) Once your upload is complete, you can choose which **visual representations** or **artifacts** you want to generate from your dataset. You can trigger each output whenever you’re ready and generate only the representations your workflow needs. Examples of supported processing outputs include: * **Point Cloud visual representation** * **Mesh visual representation** * **Photosphere visual representation** * **Gaussian splat visual representation** * **3D Tiles (OGC) export** * **RCP (ReCap) export** * And other derived artifacts supported by Prevu3D ### Why processing is required even for point cloud inputs [Section titled “Why processing is required even for point cloud inputs”](#why-processing-is-required-even-for-point-cloud-inputs) Regardless of the input type, Prevu3D applies an internal **optimization pipeline** to prepare your data for efficient visualization inside our products. This process: * Splits the dataset into small, streamable chunks * Optimizes loading performance and memory usage * Ensures consistent rendering across all Prevu3D applications * Allows very large datasets to be viewed smoothly Because of this, **even if you upload a point cloud**, a processing step is required to generate the **point cloud visual representation** used throughout the platform. ### Incremental and Multi-Phase Processing [Section titled “Incremental and Multi-Phase Processing”](#incremental-and-multi-phase-processing) You can process datasets **in multiple phases**. This allows you to: * Validate the quality of your data before generating heavier representations * Only generate the representations you need * Hold off on additional processing if corrections or new data capture are required * Add new outputs later without re-uploading the dataset This flexible approach ensures that you maintain full control over how and when your data is transformed. ![RealityPlatform Incremental and multi-phase processing](/_astro/realityplatform-incremental-and-multi-phase-proces.CUt2gaz0_2kvAan.webp) # Using the 3D Data Viewer [Section titled “Using the 3D Data Viewer”](#using-the-3d-data-viewer) Once at least one visual representation is ready, you can open the **3D Data Viewer** to: * Inspect the result * Validate capture completeness * Confirm data quality * Explore the environment before proceeding to design or integration workflows For more details on available tools and navigation options, refer to the [**3D Data Viewer documentation**](/en/realityplatform/dataset-preparation-and-upload/3d-data-viewer-workspace/). ![RealityPlatform Using the 3D data viewer](/_astro/realityplatform-using-the-3d-data-viewer.BUrFcSxm_Ntb8U.webp)![RealityPlatform Using the 3D data viewer](/_astro/realityplatform-using-the-3d-data-viewer-1.Dmulic9w_DEh5O.webp) # **Creating Projects or Importing Into a Twin** [Section titled “Creating Projects or Importing Into a Twin”](#creating-projects-or-importing-into-a-twin) After your data bundle contains at least one processed representation, you may: * Create a [**RealityPlan Project**](/en/realityplan/getting-started/first-steps/) to crop, convert, or prepare geometry for design workflows ![RealityPlatform Creating projects data bundle](/_astro/realityplatform-creating-projects-data-bundle.CF4XnQ-P_ZVkS1E.webp) * Import the dataset directly into [**RealityTwin**](/en/realitytwin/composer-workspace/managing-layers-1/#adding-a-new-layer) as a new layer ![RealityPlatform RealityComposer dataset selection](/_astro/realitycomposer-select-datasets-to-compose.CipWDfD2_Z1qDQYg.webp) This makes your processed data available across the entire Prevu3D ecosystem. # Configure and Test the Aveva Connect Integration > Learn to configure Aveva Connect integration for RealityAsset, including authentication, data source registration, and testing queries for seamless data retrieval. ## Prerequisites [Section titled “Prerequisites”](#prerequisites) * Integration Server deployed and registered on the platform * Access to Aveva Connect Data Services ## Supported query types [Section titled “Supported query types”](#supported-query-types) * Get the last value from one or many SDS Stream ## Supported features [Section titled “Supported features”](#supported-features) * Automatic UoM support ## Configuration steps [Section titled “Configuration steps”](#configuration-steps) This guide will describe how to configure the Aveva Connect integration to retrieve data in a RealityAsset. The main steps in order to configure the Aveva Connect integration are the following : 1. Obtain a client authentication token from Aveva Connect 2. Register the Aveva Connect data source on RealityPlatform 3. Link the integration to an Asset Type 4. Send a test query in order to validate the connection to Connect ### Obtain a client authentication token from Aveva Connect [Section titled “Obtain a client authentication token from Aveva Connect”](#obtain-a-client-authentication-token-from-aveva-connect) 1. Log into Aveva Connect and navigate to Aveva Data Services 2. Navigate to Security → Clients and click on the Add Client button on the top right 3. Select the appropriate permissions and generate a client token. The integration will need at least read access to the streams that will be accessed. ### Register the Aveva Connect data source on the Integration Server [Section titled “Register the Aveva Connect data source on the Integration Server”](#register-the-aveva-connect-data-source-on-the-integration-server) 1. Add the [new data source](/en/realityplatform/metadata-settings/integrations/manage-data-sources-on-an-integration-server/#create-data-source) 2. Select the `AVEVA_CONNECT` type 3. Fill up the required [parameters](/en/realityplatform/metadata-settings/integrations/configure-and-test-the-aveva-connect-integration/#aveva-connect-data-source-parameters) to establish the connection ![RealityPlatform AVEVA Connect data source form](/_astro/realityplatform-register-the-aveva-connect-data-so.Do4afUwr_1qid3c.webp) ### Aveva Connect data source parameters [Section titled “Aveva Connect data source parameters”](#aveva-connect-data-source-parameters) ```json { "baseUrl": "https://example.avevaconnect.com", "namespaceId": "exampleNamespaceId", "tenantId": "exampleTenantId", "communityId": "exampleCommunityId", "clientId": "exampleClientId", "clientSecret": "exampleClientSecret" } ``` #### **baseUrl** [Section titled “baseUrl”](#baseurl) The base URL of the Aveva Connect service. #### **nameSpaceId** [Section titled “nameSpaceId”](#namespaceid) The namespace ID of the Aveva Connect service. #### **tenantId** [Section titled “tenantId”](#tenantid) The tenantId of the Aveva Connect service. #### **CommunityId (Optional)** [Section titled “CommunityId (Optional)”](#communityid-optional) The id of the community that is hosting the data, if applicable. #### **clientId** [Section titled “clientId”](#clientid) The Id of the client that is assigned to the integration service installation. #### **clientSecret** [Section titled “clientSecret”](#clientsecret) The client secret that is assigned to the integration service installation. ### Linking Asset Type Properties to Aveva Connect [Section titled “Linking Asset Type Properties to Aveva Connect”](#linking-asset-type-properties-to-aveva-connect) Before linking, make sure you have: * An existing [**Asset Type**](/en/realityplatform/metadata-settings/metadata-types/) with a property to hold the required Aveva Connect parameter values (e.g., `Stream Ids`). It must be a “**Short text**” property type. * An **Integration Server** configured with an Aveva Connect data source and queries. To link an Asset Type property to Aveva Connect: 1. In **Asset Settings → Asset Types**, open the Asset Type you want to link.![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a.BK1KOes-_ZMTOly.webp) 2. In the **Integration Links** panel (right side), click **Create Integration Link**. ![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a-1.B-ShsfsT_Z1W0cyg.webp) 3. Enter a link name and select the Integration Server configured for Aveva Connect. 4. Choose the appropriate Aveva Connect **data source** and **query**. 5. For each required parameter (e.g., `StreamId`), select the Asset Type property that should provide its value (e.g., `Stream Ids`). ![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a-2.Ho2kHZUF_Z1N2zoy.webp) 6. Click **Save** to create the link. When this Asset Type is assigned to assets, the linked property values will automatically be passed to Aveva Connect when running the integration. ### **Send a test query to validate connectivity between RealityPlatform and Aveva Connect** [Section titled “Send a test query to validate connectivity between RealityPlatform and Aveva Connect”](#send-a-test-query-to-validate-connectivity-between-realityplatform-and-aveva-connect) 1. On the Asset Type Settings page, click on the play button next to the integration link that is targeting the Aveva Connect data source. This will open the test query menu. ![RealityPlatform Integration test query](/_astro/realityplatform-send-a-test-query-to-validate-conn.BDySVc9K_Z2mrdnR.webp) 2. Enter one or many stream IDs, separated by commas, under the Parameters configuration and click on Test query to see the result. The stream Ids can be obtained from Aveva Connect directly. ![RealityPlatform Integration test query](/_astro/realityplatform-send-a-test-query-to-validate-conn-1.CJKvPWjn_27sw78.webp) Note The values entered here are **only for testing purposes**. They are not saved to the Asset Type or linked assets. This test simulates what RealityTwin will do when an asset is created, assigned this Asset Type, and the corresponding property (e.g., *Stream Ids*) is filled in. Use any valid stream ID from Aveva Connect to validate connectivity. # Configure and Test the Aveva PI Web API Integration > Configure Aveva PI integration to retrieve data from PI Web API, linking asset properties and validating connections seamlessly. ## Prerequisites [Section titled “Prerequisites”](#prerequisites) * Integration Server deployed and registered on the platform that can connect to PI Web API * PI System with PI AF (if retrieving assets) with PI Web API installed and configured ## Supported query types [Section titled “Supported query types”](#supported-query-types) * Get the last value from one or many PI Points * Get the current value of a PI AF Asset properties ## Supported features [Section titled “Supported features”](#supported-features) * Automatic UoM support * Filter PI AF properties by categories. Multiple categories can be specified in a single parameter by separating them with commas. ## Configuration steps [Section titled “Configuration steps”](#configuration-steps) This guide will describe how to configure the Aveva PI integration to retrieve data in a RealityAsset. The main steps in order to configure the Aveva PI integration are the following : 1. Register the Aveva PI data source on RealityPlatform 2. Link the integration to an Asset Type 3. Send a test query in order to validate the connection to PI ### Register the Aveva PI data source on the Integration Server [Section titled “Register the Aveva PI data source on the Integration Server”](#register-the-aveva-pi-data-source-on-the-integration-server) 1. Add the [new data source](/en/realityplatform/metadata-settings/integrations/manage-data-sources-on-an-integration-server/#create-data-source) 2. Select the `Aveva_PI_WEB_API` type 3. Fill up the required [parameters](/en/realityplatform/metadata-settings/integrations/configure-and-test-the-aveva-pi-web-api-integration/#aveva-pi-web-api-data-source-parameters) to establish the connection ![RealityPlatform AVEVA PI Web API data source form](/_astro/realityplatform-register-the-aveva-pi-data-source-.DYFIPq1a_pUnBs.webp) ### Aveva PI Web API data source parameters [Section titled “Aveva PI Web API data source parameters”](#aveva-pi-web-api-data-source-parameters) ```json { "baseUrl": "https://example.avevapiwebapi.com", "authenticationMethod": "Basic", "ignoreSslCertificateErrors": false, "username": "johnDoe", "password": "password" } ``` #### **baseUrl** [Section titled “baseUrl”](#baseurl) The base URL of Pi Web API. #### **username (Optional)** [Section titled “username (Optional)”](#username-optional) Username for basic authentication #### **password (Optional)** [Section titled “password (Optional)”](#password-optional) Password for basic authentication #### **authenticationMethod** [Section titled “authenticationMethod”](#authenticationmethod) The authentication method that will be used to authenticate against PI Web API. ##### **Possible values** [Section titled “Possible values”](#possible-values) * disable * basic ### Linking Asset Type Properties to Aveva PI WEB API [Section titled “Linking Asset Type Properties to Aveva PI WEB API”](#linking-asset-type-properties-to-aveva-pi-web-api) Before linking, make sure you have: * An existing [**Asset Type**](/en/realityplatform/metadata-settings/metadata-types/) with a property to hold the required Aveva PI WEB API parameter values (e.g., `PI AF Path`). It must be a “**Short text**” property type. * An **Integration Server** configured with an Aveva PI WEB API data source and queries. To link an Asset Type property to Aveva PI WEB API: 1. In **Asset Settings → Asset Types**, open the Asset Type you want to link.![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a.BK1KOes-_ZMTOly.webp) 2. In the **Integration Links** panel (right side), click **Create Integration Link**. ![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a-1.B-ShsfsT_Z1W0cyg.webp) 3. Enter a link name and select the Integration Server configured for Aveva PI WEB API. 4. Choose the appropriate **data source** 5. Choose the desired **query:** -**Get PI AF asset properties**\ *Retrieves the attributes of a PI AF asset and their latest values.* **Parameters:** * **PiAssetPath** * **CategoryName** *(Optional)* **-Get PI Points values**\ *Retrieves the latest value of a specified PI Point.* **Parameters:** * **WebID** 6. For each required parameter (e.g., `PIAssetPath`), select the Asset Type property that should provide its value (e.g., `PI Asset Path`). ![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a-3.CScPz0S2_Z2fLRrb.webp) 7. Click **Save** to create the link. When this Asset Type is assigned to assets, the linked property values will automatically be passed to Aveva Connect when running the integration. ### **Send a test query to validate connectivity between RealityPlatform and Aveva PI WEB API** [Section titled “Send a test query to validate connectivity between RealityPlatform and Aveva PI WEB API”](#send-a-test-query-to-validate-connectivity-between-realityplatform-and-aveva-pi-web-api) 1. On the Asset Type Settings page, click on the play button next to the integration link that is targeting the Aveva PI WEB API data source. This will open the test query menu. ![RealityPlatform Integration test query](/_astro/realityplatform-send-a-test-query-to-validate-conn-2.Ch0OcT5v_oP3m0.webp) 2. Enter a PI AF Asset Path (or a PI Point path, depending on the query that was selected) under the Parameters configuration and click on Test query to see the result. The integration uses standard PI path format and they can be found directly in PI System Explorer or PI System Management Tools. ![RealityPlatform Integration test query](/_astro/realityplatform-send-a-test-query-to-validate-conn-3.Big0HrLs_2o7z3d.webp) Note * CategoryName is optional, multiple categories can be specified in a single parameter by separating them with commas. * The values entered here are **only for testing purposes**. They are not saved to the Asset Type or linked assets. This test simulates what RealityTwin will do when an asset is created, assigned this Asset Type, and the corresponding property (e.g., *PI AF Path*) is filled in. Use any valid PI AF Path or PI Point from Aveva PI to validate connectivity. # Configure and Test the AWS SiteWise Integration > Learn to configure AWS SiteWise integration with RealityPlatform, linking asset types and validating connections for seamless data retrieval. ## Prerequisites [Section titled “Prerequisites”](#prerequisites) * Integration Server deployed and registered on the platform * AWS SiteWise configured * An IAM profile configured on the client machine or on the Integration Server directly with [required permissions](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/security-iam.html "https://docs.aws.amazon.com/iot-sitewise/latest/userguide/security-iam.html") to access AWS SiteWise. ## Supported query types [Section titled “Supported query types”](#supported-query-types) * Get the current property values for an AWS SiteWise asset ## Supported features [Section titled “Supported features”](#supported-features) * Automatic UoM support ## Configuration steps [Section titled “Configuration steps”](#configuration-steps) This guide will describe how to configure the AWS SiteWise integration to retrieve data in a RealityAsset. This guide will assume that an IAM profile with the correct permissions is already available. The main steps in order to configure the AWS SiteWise integration are the following : 1. Register the AWS SiteWise data source on RealityPlatform 2. Link the integration to an Asset Type 3. Send a test query in order to validate the connection to AWS ### Register the AWS SiteWise data source on the Integration Server [Section titled “Register the AWS SiteWise data source on the Integration Server”](#register-the-aws-sitewise-data-source-on-the-integration-server) 1. Add the [new data source](/en/realityplatform/metadata-settings/integrations/manage-data-sources-on-an-integration-server/#create-data-source) 2. Select the `AWS_IOT_SITEWISE` type 3. Fill up the required [parameters](/en/realityplatform/metadata-settings/integrations/configure-and-test-the-aws-sitewise-integration/#aws-iot-sitewise-data-source-parameters) to establish the connection ![RealityPlatform AWS IoT SiteWise data source form](/_astro/realityplatform-register-the-aws-sitewise-data-sou.PgWeY-T9_Z2qkYuD.webp) ### AWS IoT SiteWise data source parameters [Section titled “AWS IoT SiteWise data source parameters”](#aws-iot-sitewise-data-source-parameters) ```json { "profile": "exampleProfile", "region": "us-west-2" } ``` #### **profile (optional)** [Section titled “profile (optional)”](#profile-optional) The IAM profile that will be used to authenticate against AWS IoT SiteWise. If none are selected, the default profile will be used. #### **region (optional)** [Section titled “region (optional)”](#region-optional) The name of the AWS region that the integration will connect to. ##### **Possible values** [Section titled “Possible values”](#possible-values) The list of supported regions is available [here](https://docs.aws.amazon.com/general/latest/gr/iot-sitewise.html "https://docs.aws.amazon.com/general/latest/gr/iot-sitewise.html"). ### Linking Asset Type Properties to AWS IOT SiteWise [Section titled “Linking Asset Type Properties to AWS IOT SiteWise”](#linking-asset-type-properties-to-aws-iot-sitewise) Before linking, make sure you have: * An existing [**Asset Type**](/en/realityplatform/metadata-settings/metadata-types/) with a property to hold the required AWS IOT SiteWise parameter values (e.g., `Asset ID`). It must be a “**Short text**” property type. * An **Integration Server** configured with an AWS IOT SiteWise data source and queries. To link an Asset Type property to AWS IOT SiteWise: 1. In **Asset Settings → Asset Types**, open the Asset Type you want to link.![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a.BK1KOes-_ZMTOly.webp) 2. In the **Integration Links** panel (right side), click **Create Integration Link**. ![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a-1.B-ShsfsT_Z1W0cyg.webp) 3. Enter a link name and select the Integration Server configured for AWS IOT SiteWise. 4. Choose the appropriate **data source** 5. Choose the desired **query:**\ -**Get AWS SiteWise Asset attributes values**\ *Retrieves the attributes of the asset.* **Parameters:** * **AssetId** 6. For each required parameter (e.g., `AssetId`), select the Asset Type property that should provide its value (e.g., `Asset ID`). ![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a-4.CyDixWJ1_Z1VXPa7.webp) 7. Click **Save** to create the link. When this Asset Type is assigned to assets, the linked property values will automatically be passed to AWS SiteWise when running the integration. ### **Send a test query to validate connectivity between RealityPlatform and AWS IOT SiteWise** [Section titled “Send a test query to validate connectivity between RealityPlatform and AWS IOT SiteWise”](#send-a-test-query-to-validate-connectivity-between-realityplatform-and-aws-iot-sitewise) 1. On the Asset Type Settings page, click on the play button next to the integration link that is targeting the AWS IOT SiteWise data source. This will open the test query menu. ![RealityPlatform Integration test query](/_astro/realityplatform-send-a-test-query-to-validate-conn-4.D0nmsmGb_bPcwc.webp) 2. Enter an Asset ID under the Parameters configuration and click on Test query to see the result. The asset id can be obtained from AWS SiteWise directly. ![RealityPlatform Integration test query](/_astro/realityplatform-send-a-test-query-to-validate-conn-5.mrh_dwaa_Z1Xxcpu.webp) Note * The values entered here are **only for testing purposes**. They are not saved to the Asset Type or linked assets. This test simulates what RealityTwin will do when an asset is created, assigned this Asset Type, and the corresponding property (e.g., *Asset ID*) is filled in. Use any valid Asset ID to validate connectivity. # Configure and Test the Generic HTTP Integration for SAP HTTP APIs > Learn to configure HTTP integration for SAP data retrieval in RealityPlatform, including setup, testing, and special considerations for non-direct connectors. ## Prerequisites [Section titled “Prerequisites”](#prerequisites) * Integration Server deployed and registered on the platform that can connect to the SAP HTTP API * SAP data available via standard HTTP calls * Asset Settings access on RealityPlatform * OpenAPI Document that describe the HTTP API (v2.0, v3.0 or v3.1) * The document can be YAML or JSON * The document can be stored locally inside the Assets folder of the Integration Server, or it can be an S3 URI ## Configuration steps This guide will describe how to configure the generic HTTP integration to retrieve data in a RealityAsset. The main steps in order to configure the HTTP integration are the following : 1. Register the HTTP data source on RealityPlatform 2. Link the integration to an Asset Type 3. Send a test query in order to validate the connection to the API ### [Section titled “”](#-1) Special Considerations for Systems Without Direct Connectors While this guide uses **SAP** as a reference example, the same approach applies to any system that does not have a direct connector but can expose its data over HTTP. In such cases, it is common practice to use an **HTTP wrapper** (or API gateway) that exposes the system’s data through standard HTTP calls. Many enterprise platforms — including SAP products — offer built-in or add-on capabilities for this, but any equivalent solution can be used. **Integration requirements:** * **Token-based authentication** must be supported. * **GET** requests are preferred for retrieving data, though other HTTP verbs and authentication methods will be supported in the future. * An **OpenAPI** document (version 2.0, 3.0 or 3.1) that describe the API is required ### Register the HTTP data source on the Integration Server [Section titled “Register the HTTP data source on the Integration Server”](#register-the-http-data-source-on-the-integration-server) * Add the [new data source](/en/realityplatform/metadata-settings/integrations/manage-data-sources-on-an-integration-server/#create-data-source) * Select the `HTTP` type * Fill up the required [parameters](/en/realityplatform/metadata-settings/integrations/configure-and-test-the-generic-http-integration-for-sap-http-apis/#http-data-source-parameters) to establish the connection ![RealityPlatform HTTP data source form](/_astro/realityplatform-register-the-http-data-source-on-t.cGjUdIm9_Z1elpDf.webp) ### HTTP data source parameters [Section titled “HTTP data source parameters”](#http-data-source-parameters) ```json { "type": "HTTP", "name": "Example HTTP Data Source", "baseUrl": "https://example.com", "allowInsecure": false, "authBearerToken": "exampleBearerToken", "authBasic": "exampleBasicAuth", "schemaFile": "path/to/openapi/specification", "customAuthenticationHeader": { "Custom-Header": "HeaderValue" } } ``` #### **baseUrl** [Section titled “baseUrl”](#baseurl) The base URL of the HTTP data source. #### **allowInsecure** [Section titled “allowInsecure”](#allowinsecure) Allow integration server to query web servers with invalid or self signed certificates. #### **schemaFile** [Section titled “schemaFile”](#schemafile) The schema file that describe the HTTP API. #### **authBearerToken (Optional)** [Section titled “authBearerToken (Optional)”](#authbearertoken-optional) The bearer token for authentication, if applicable. #### **authBasic (Optional)** [Section titled “authBasic (Optional)”](#authbasic-optional) The basic authentication information, if applicable. #### **customAuthenticationHeader (Optional)** [Section titled “customAuthenticationHeader (Optional)”](#customauthenticationheader-optional) A custom authentication header as a record of key-value pairs, if applicable. Note * The OpenAPI specification can be made available inside the integration service and the path should be in the “schemaFile” configuration parameter. The easiest way to achieve this is to store the file into the Integration Service internal filesystem and simply supply the relative path in the configuration. * It is also possible to store the OpenAPI specification inside AWS S3 and provide the S3 URI to the integration server. You must make sure that the integration server can read the document from AWS S3. ### Linking Asset Type Properties with HTTP [Section titled “Linking Asset Type Properties with HTTP”](#linking-asset-type-properties-with-http) Before linking, make sure you have: * An existing [**Asset Type**](/en/realityplatform/metadata-settings/metadata-types/) with a property to hold the required HTTP parameter values (e.g., `Asset ID`). It must be a “**Short text**” property type. * An **Integration Server** configured with an HTTP data source and queries. To link an Asset Type property to HTTP: 1. In **Asset Settings → Asset Types**, open the Asset Type you want to link.![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a.BK1KOes-_ZMTOly.webp) 2. In the **Integration Links** panel (right side), click **Create Integration Link**. ![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-to-a-1.B-ShsfsT_Z1W0cyg.webp) 3. Enter a link name and select the Integration Server configured for AWS IOT SiteWise. 4. Choose the appropriate **data source** 5. Choose the desired **query** 6. For each required parameter (e.g., `id`), select the Asset Type property that should provide its value (e.g., `Id`). ![RealityPlatform Asset type integration property mapping](/_astro/realityplatform-linking-asset-type-properties-with.Bb64LJ6j_Z2nqIRE.webp) 7. Click **Save** to create the link. When this Asset Type is assigned to assets, the linked property values will automatically be passed through HTTP when running the integration. ### **Send a test query to validate connectivity between RealityPlatform and HTTP data source** [Section titled “Send a test query to validate connectivity between RealityPlatform and HTTP data source”](#send-a-test-query-to-validate-connectivity-between-realityplatform-and-http-data-source) 1. On the Asset Type Settings page, click on the play button next to the integration link that is targeting the HTTP data source. This will open the test query menu. ![RealityPlatform Integration test query](/_astro/realityplatform-send-a-test-query-to-validate-conn-6.CluqJa98_ZcTd5y.webp) 2. Enter a valid parameter under the Parameters configuration and click on Test query to see the result. If no parameters are needed for the HTTP, the request will be executed automatically and the result will be displayed. ![RealityPlatform Integration test query](/_astro/realityplatform-send-a-test-query-to-validate-conn-7.CXzUCbEx_fUfwl.webp) Note * The values entered here are **only for testing purposes**. They are not saved to the Asset Type or linked assets. This test simulates what RealityTwin will do when an asset is created, assigned this Asset Type, and the corresponding property (e.g., *id*) is filled in. Use any valid parameter to validate connectivity. # Deploy Integration Service on an On-Prem Server > Deploy the Integration Service with Docker on Windows, using a Project Access Token, SSL, and DNS configuration for seamless integration. ## **Prerequisites** [Section titled “Prerequisites”](#prerequisites) * Server running an OS that is compatible with Docker * The deployment was tester on Windows machines * DNS record and appropriate SSL certificate for the Integration Service web service * Project Access Token to pull the docker image from Prevu3d’s private Gitlab repository with the following permissions : * Read Registry * Developer Role * Docker CLI installed * Docker-Desktop - Optional Note The **Project Access Token** is provided by Prevu3D **on demand only**. Please contact our team to request access. Warning The deployment procedure is currently in beta and subject to change. ## **Deployment steps** [Section titled “Deployment steps”](#deployment-steps) 1. Log into Gitlab docker image repository with the supplied Project Access Token. `docker login registry.gitlab.com -u -p ` 2. Pull the development Integration Service docker image. `docker pull registry.gitlab.com/prevu3d/product/integration-service:develop` 3. On the host, create an “Assets” folder and a “Config” folder. These folders will be used as mount within the docker container. Assets will contain files that might be required by the integrations, such as JSON Schemas for the HTTP Integration. Config will contain the configuration file and ensure that it persists. 4. Start the container with the docker CLI. Make sure to mount the asset and config folders and to bind the integration service’s port. The default value is 3000. `docker run registry.gitlab.com/prevu3d/product/integration-service:develop -v path\to\assets\folder\on\host:/usr/app/assets -v path\to\config\folder\on\host:/usr/app/config -p 3000:3000` 1. These environment variables are also available during the run phase : 1. PORT : Port where the Integration Service will bind, inside the container. Default is 3000. 2. DEBUG\_MODE : Set to “1” to enable debug logs. 3. CONFIG\_FILE : Name and path of the config file. Default is “/config/config.json”. If the config file is hosted on S3, the S3 URI must be provided (starts with s3://). 4. CONFIG\_FILE\_TYPE : Type of the config file. Set to “s3” to use a file hosted in AWS S3 or local for a file hosted within the container. Default is “local”. 5. Navigate to to confirm that the integration service is running. 6. Configure a DNS entry to point to the integration service and add a SSL certificate to enable HTTPS traffic. 7. Follow the steps to register the integration server inside the platform in order to get the assetServicePublicKey and copy it inside the config.json file. # Integration Service Entities Glossary > Explore how Integration Service extends Prevu3D's Asset Service, detailing key entities like Asset Types, Integration Links, and Data Sources for seamless integration. Integration Service is designed to work as an extension of Prevu3D’s Asset Service. As a result, there are some entities that are defined in Integration Service directly and there are some entities that are defined in Asset Service. This document aims to provide a quick reference that list the different keys entities, where they belong, what are their uses and how they interact together. ## Key Concepts [Section titled “Key Concepts”](#key-concepts) The entities that belong to Asset Service that are important for Integration Service are the following : * Asset Types * Assets * Integration Links * Integration Server The entity that belong to Integration Service and that is used for configuration is the following : * Data Sources ## Entities Definitions [Section titled “Entities Definitions”](#entities-definitions) ### Assets [Section titled “Assets”](#assets) An Asset is the logical representation of a physical object within RealityPlan or RealityTwin. It has a 3d representation that is mapped to an actual object within the point cloud. It also contain properties that are related to what the physical object is. For example, a “Pump” asset might have a specific Id, a flow rate, a motor duty, and a 3d representation that define where it is physically located in a plant. ### Asset Types [Section titled “Asset Types”](#asset-types) Asset Types are asset templates. They are used to group assets that are similar together. Properties that are defined in an Asset Type will also exist on assets that are derived from them. For example, a “Pump” asset type might specify that derived pump assets should have a flow rate, motor duty and an equipment Id. ### Integration Servers [Section titled “Integration Servers”](#integration-servers) Integration Servers are the logical representation of an Integration Service deployment. It gives Asset Service information about the integration servers that are available for a specific site. The Integration Servers might be on premise in a company’s physical servers or private cloud, or it can be hosted by Prevu3D as part of the SAAS solution. ### Integration Links [Section titled “Integration Links”](#integration-links) Integration Links is an entity that is attached to an Asset Type. It create the logical bridge between an Asset Type and data that should be retrieved from a Data Source. The integration link contain information about the data that needs to be retrieved from a specific data source, along with where the parameters that are required to fetch this data are located on the assets that will be derived from an asset type. Each integration link represent a specific set of data that will be extracted from a specific data source for an asset that will be created from an asset type. ### Data Sources [Section titled “Data Sources”](#data-sources) Data Sources represent an external data source that the integration service is able to fetch data from. For example, a data source could be an external HTTP API, an Aveva PI Server, a SQL Server or an AWS IoT SiteWise Deployment. # Integration Service Hosted by Prevu3D > Use the cloud-based Integration Service hosted by Prevu3D for a fully managed, zero-infrastructure deployment option. The **hosted by Prevu3D** option is a **cloud-based** deployment of the Integration Service, fully managed by the Prevu3D team. It offers the same functionality as an on-premise server, but without the need for you to provision, configure, or maintain infrastructure. **Key points:** * Accessible to all authorized users in your organization without VPN or physical network access. * Provisioned **on demand** — please contact Prevu3D to request setup. * Limited to **one hosted Integration Server per organization**. **Compared to On-Premise:** * **On-Premise**: Runs on your own infrastructure; users usually require VPN or local network access. * **Hosted by Prevu3D**: Runs in the cloud; accessible from anywhere to authorized users. # Manage Data Sources on an Integration Server > Manage and create data sources in RealityPlatform with a user-friendly UI, ensuring valid configurations for seamless Integration Server connectivity. ## Prerequisites [Section titled “Prerequisites”](#prerequisites) * Integration Server deployed and registered on RealityPlatform ## Manage data sources via RealityPlatform [Section titled “Manage data sources via RealityPlatform”](#manage-data-sources-via-realityplatform) RealityPlatform is the preferred way to create and edit data sources. The UI is user friendly and will perform validation in order to ensure that configuration sent to the Integration Server is valid. ### Create data source [Section titled “Create data source”](#create-data-source) 1. In RealityPlatform, navigate to **Settings → Asset settings → Integrations**. The list of registered Integration Servers will appear. Verify that the integration server is reachable by making sure that the status turn to a green checkmark. ![image.png](/_astro/realityplatform-create-data-source.DSmz23xb_Z14duIR.webp) 2. Click on “Manage” under the “Data sources” column to open the data source management UI. It will display the list of registered data sources. 3. To create a new data source, click on the “Add data source” button. ![RealityPlatform Create data source](/_astro/realityplatform-create-data-source-1.wsdgeAnU_2vnWY.webp) 4. Enter a name for the data source and select the data source type. The configuration box will then appear. Refer to the next section to validate the configuration parameter that are required and optional. Click on the “**Format JSON**” button to validate the configuration syntax. When the syntax is valid, click on the “**Save**” button to register the data source. Any configuration error will be displayed on the screen. ![RealityPlatform Create data source](/_astro/realityplatform-create-data-source-2.DvJPmxBy_1HNjK5.webp) ### Edit data source [Section titled “Edit data source”](#edit-data-source) 1. Perform the steps 1-2 of the “[Create data source](/en/realityplatform/metadata-settings/integrations/manage-data-sources-on-an-integration-server/#create-data-source)” section to open the data source management UI. 2. Click on the edit icon to open the edition UI for the selected data source. ![RealityPlatform Edit data source](/_astro/realityplatform-edit-data-source.7eVMInRb_28Bg92.webp) 3. Refer to the next section for each data source type to see what are the required and optional parameters for each data source. Click on the “**Format JSON**” button in order to validate and format the JSON text. The **Save** button will become available when the JSON is validated. Any configuration error will be displayed on the screen when attempting to Save the configuration. ## Data source parameters [Section titled “Data source parameters”](#data-source-parameters) After creating a data source, you must provide the required connection parameters. Some parameters are common across all data sources (e.g., **type**, **name**, **uuid**), while others depend on the selected data source type (HTTP, SQL, AVEVA Connect, etc.) and must be filled in according to that type’s specific requirements. ### Common data source parameters [Section titled “Common data source parameters”](#common-data-source-parameters) #### **type** [Section titled “type”](#type) The data source type that will be created. ##### **Possible values** [Section titled “Possible values”](#possible-values) * AVEVA\_CONNECT * AVEVA\_PI\_WEB\_API * AWS\_IOT\_SITEWISE * HTTP #### **name** [Section titled “name”](#name) The name of the data source that will be created #### **uuid (Optional)** [Section titled “uuid (Optional)”](#uuid-optional) The uuid of the data source that will be created. This parameter is optional. ### **Custom parameters by data source type** [Section titled “Custom parameters by data source type”](#custom-parameters-by-data-source-type) Each data source type has its own set of required parameters. See the specific configuration details for: * [AVEVA Connect](/en/realityplatform/metadata-settings/integrations/configure-and-test-the-aveva-connect-integration/#aveva-connect-data-source-parameters) * [AVEVA PI Web API](/en/realityplatform/metadata-settings/integrations/configure-and-test-the-aveva-pi-web-api-integration/#aveva-pi-web-api-data-source-parameters) * [AWS IoT SiteWise](/en/realityplatform/metadata-settings/integrations/configure-and-test-the-aws-sitewise-integration/#aws-iot-sitewise-data-source-parameters) * [HTTP](/en/realityplatform/metadata-settings/integrations/configure-and-test-the-generic-http-integration-for-sap-http-apis/#http-data-source-parameters) # Register Integration Server > Learn how to register an Integration Server on RealityPlatform, configure security, and ensure HTTPS support for seamless integration. ## Prerequisites [Section titled “Prerequisites”](#prerequisites) * Integration Server deployed and accessible from the machine that will register it on RealityPlatform * Asset Settings access on RealityPlatform ## Configuration steps [Section titled “Configuration steps”](#configuration-steps) This guide will describe how to register an Integration Server on RealityPlatform. 1. In the RealityPlatform Settings, navigate to Asset settings → Integrations to access the list of available Integration Servers ![RealityPlatform Integration Servers list](/_astro/realityplatform-configuration-steps.Bj1L2r24_Z15mEjL.webp) 2. Click on Create on the right hand side of the Integration Server list. This will open a prompt that will ask for the Integration Server name and it’s URL. Input the information and click on “Test connection” to validate that the server is reachable. Save. Make sure that the URL supports HTTPS. ![RealityPlatform Create Integration Server dialog](/_astro/realityplatform-configuration-steps-1.D0yxtppa_6ku8L.webp) 3. The server is now registered however the security must be configured before it can be used. In order to do so, validate that the status display a green checkbox and then click on the edit button to open the edition modal. ![RealityPlatform Integration Server status and edit action](/_astro/realityplatform-configuration-steps-2.CfXTVsau_KOuEu.webp) 4. At the bottom of the modal, the “Security status” will display Security error. This happens because RealityPlatform will create a public key that is associated with the Intergation Server, however it is not yet configured inside the Integration Server so the security fail. In order to solve this, click on the “Display Asset Service public key” button and copy the displayed key. ![RealityPlatform Asset Service public key](/_astro/realityplatform-configuration-steps-3.CexJouBh_aFVg1.webp) 5. Copy the public key inside the config.json file of the integration server, under the “assetServicePublicKey” property. ![Integration Server public key configuration](/_astro/realityplatform-configuration-steps-4.D_-S9byP_1HvriV.webp) 6. Inside the platform, verify that the Security status is now Enabled. # Metadata Types > Streamline asset management with RealityTwin's Metadata Types, ensuring consistency, powerful search capabilities, and easy integration for efficient data handling. Metadata Types in **RealityTwin** are predefined templates used to define the set of properties that an asset will carry when created. By assigning a Metadata Type to an asset, all the associated predefined properties are automatically linked, ensuring consistency and enabling powerful search and filtering capabilities. For example, if “Pump” is defined as a Metadata Type, you could later search for all pumps in your project simply by filtering by that type. *** ## Configuring Metadata Types & Categories [Section titled “Configuring Metadata Types & Categories”](#configuring-metadata-types--categories) To configure Metadata Types: 1. Go to **Organization settings** → **Metadata settings** 2. Create a new Metadata Type/Category or edit an existing one. 3. After making changes, click **Publish** to apply them. ## Categories [Section titled “Categories”](#categories) Metadata Types can be grouped under **Categories** for better organization.\ Categories are purely structural — they do not carry properties themselves but help organize related Metadata Types. **Example:** * **Mechanical** (Category) * Pump (Metadata Type) * Motor (Metadata Type) * Valve (Metadata Type) You may create new Category by pressing the “New” button at the top right of the Metadata Type page. ![RealityPlatform Metadata Type categories](/_astro/realityplatform-categories.CveG_NMB_Z1va4rr.webp) ## Organizing Properties into Sections [Section titled “Organizing Properties into Sections”](#organizing-properties-into-sections) Within a Metadata Type, properties can be grouped into **Sections** to improve clarity and data entry.\ Each section can contain one or more related properties. **Example:** * **Identification**: * **Technical Specifications** * **Monitoring & Instrumentation** * **Maintenance & Lifecycle** ![RealityPlatform metadata properties grouped into sections](/_astro/realityplatform-organizing-properties-into-section.BVGX-QoI_12En63.webp) ## Property Definition [Section titled “Property Definition”](#property-definition) Each property defined in a Metadata Type includes: * **Key** — The name/identifier of the property. * **Value Type** — The format of the data the property will hold, such as: * Number (see [more details](/en/realityplatform/metadata-settings/metadata-types/#configuring-units-for-number-fields) below) * Short text * Attachment * URL link * Toggle (boolean) * Dropdown (predefined choices see [more details](/en/realityplatform/metadata-settings/metadata-types/#configuring-dropdown-options) below) * Integration field (linked to an external system) Note Metadata Types **do not** store the actual values for these properties.\ They only define the structure. The values are provided when an asset is created in RealityTwin and assigned a Metadata Type. ### Configuring Units for Number Fields [Section titled “Configuring Units for Number Fields”](#configuring-units-for-number-fields) When creating a new property with the **Value Type** set to **Number**, you can optionally define **Units**. * The units field is a **free text field** where you can enter any label (e.g., `mm`, `°C`, `kg`). * The unit definition is part of the Metadata Type configuration and applies to all assets using that type. ![RealityPlatform number property unit setting](/_astro/realityplatform-configuring-units-for-number-field.DWvzrWsX_1XMSOc.webp) * Units act as a **suffix** when the value is displayed in the asset’s metadata panel. ![RealityPlatform metadata value with a unit suffix](/_astro/realityplatform-configuring-units-for-number-field-1.CBc_Flpy_7pHSg.webp) ## Configuring Dropdown Options [Section titled “Configuring Dropdown Options”](#configuring-dropdown-options) When creating a new property with the **Value Type** set to **Dropdown**, a panel will appear on the right side of the screen, allowing you to define the dropdown options. * Enter each option on a **separate line** (press **Enter** after each entry). * You can return to edit these options at any time by clicking the **overflow menu** next to the property and selecting **Edit dropdown options**. ![RealityPlatform Configuring dropdown options](/_astro/realityplatform-configuring-dropdown-options.0szZS9mu_PPoM0.webp) ## Connecting properties with an External integration [Section titled “Connecting properties with an External integration”](#connecting-properties-with-an-external-integration) As for regular Metadata Type configuration, it is possible to create sections of data, or individual fields, that are mapped to integration queries. The general idea is that whenever an Asset of a specific type is loaded, a set of integration queries will be generated if any links exist. When the integration queries are executed, the result will be organized into sections or fields within the asset type. Before mapping properties in Metadata Types, the integration must already be fully configured. This includes setting up the integration server and establishing a connection with the external system. For step-by-step instructions, see our [**Integration Setup Documentation**](/en/realityplatform/metadata-settings/integrations/manage-data-sources-on-an-integration-server/). ### **About integration sections & fields** [Section titled “About integration sections & fields”](#about-integration-sections--fields) Metadata Types support integrations to automatically link and populate properties from external systems (e.g., ERP, CMMS). There are two main ways to configure integrations: **Section from integration** & **Integration field**. It is possible to map an entire section of an integration query to a section of an asset type. For example, a query that returns this object : ```json { "TankLevel": { "value": 73.84190097508079, "uom": "%", "_p3d_type": "urn:primitive:obj:numeric" }, "TankTemperature": { "value": 89.4061043417307, "uom": "degC", "_p3d_type": "urn:primitive:obj:numeric" } } ``` Can be automatically mapped to a section of a Metadata Type to look like this : ![RealityPlatform integration-backed metadata section](/_astro/realityplatform-about-integration-sections-fields.CXH1i04V_1DRfxW.webp) If needed, a single value can also be extracted from a query and mapped to a single field. For example, a query that might return a pressure of 834 can be represented like this, and mixed with regular asset type fields : ![RealityPlatform integration-backed metadata field](/_astro/realityplatform-about-integration-sections-fields-1.Bydd03za_10ChNi.webp) ### Configuration Sections From Integration [Section titled “Configuration Sections From Integration”](#configuration-sections-from-integration) You can create an entire section that is sourced directly from an integration: * Select **From Integration** when adding a new section. * Choose the desired **Integration Link**. * Enter the **JSONPath** to define which part of the integration payload should be bound to this section (see [**JSONPath Mapping**](/en/realityplatform/metadata-settings/metadata-types/#jsonpath-mapping) for details). * The section will automatically populate with all properties retrieved from the linked integration. * Any updates from the integration will reflect in the asset’s data based on the sync configuration. ![RealityPlatform integration-backed section configuration](/_astro/realityplatform-configuration-sections-from-integr.BYtKn1qg_ZnrOFX.webp) ### Configuration Integration Fields [Section titled “Configuration Integration Fields”](#configuration-integration-fields) Instead of importing an entire section, you can map individual properties to an integration: * Add a new property and set the **Value Type** to **Integration field**. * Choose the desired **Integration Link**. * Enter the **JSONPath** to define which part of the integration payload should be bound to this section (see [**JSONPath Mapping**](/en/realityplatform/metadata-settings/metadata-types/#jsonpath-mapping) for details). * Only that property will be synced with the external system. ![RealityPlatform integration field configuration](/_astro/realityplatform-configuration-integration-fields.BR0LIe5P_Z1LMizg.webp) ### JSONPath Mapping [Section titled “JSONPath Mapping”](#jsonpath-mapping) Both **From Integration** sections and **Integration fields** require a **JSONPath** to select data from the JSON payload returned by the Integration Link. * **From Integration (section-level JSONPath):**\ Enter a JSONPath that resolves to the object you want to bind to the entire section.\ **Example:** `$.Identification` binds the whole `Identification` object from the payload to your Metadata Type section. * **Integration fields (property-level JSONPath):**\ Enter a JSONPath that resolves to a **single scalar value** (string/number/boolean/date).\ **Example:** `$.Identification.serialNumber` Rules & Tips * JSONPath follows the standard syntax (More information about the JsonPath syntax is available from the [official RFC](https://www.rfc-editor.org/rfc/rfc9535)) * Prevu3D does **not** support complex objects or arrays for individual fields. If your path returns an object/array, refine it to a single value (e.g., `$.items[0].name`), or switch to a From Integration section if you need a whole object. * Make sure the JSONPath matches the structure of your integration’s payload; otherwise, the bound field/section will appear empty. **Warning** If your integration’s schema changes, review and update the JSONPath to keep mappings in sync. ## Publishing Changes [Section titled “Publishing Changes”](#publishing-changes) Publishing changes will **immediately impact all existing RealityAssets** using that Metadata Type. For example: * **Renaming a property** will update it for all linked assets. * **Deleting a property** will remove its value from all linked assets. Caution Proceed carefully to avoid unintentional data loss. ## Access Control [Section titled “Access Control”](#access-control) By default, only **Super Admins** can manage Metadata Types.\ Through [role customization](/en/realityplatform/user-management/roles-permissions/), these administrative privileges can be granted to additional members if needed. ## Benefits of Using Metadata Types [Section titled “Benefits of Using Metadata Types”](#benefits-of-using-metadata-types) * **Consistency** — All assets of the same type share the same property structure. * **Searchability** — Enables queries like “Show me all the pumps.” * **Organization** — Categories and sections keep information clear and accessible. * **Scalability** — Easily update property definitions for all future assets of a type. # Asset Library License > Understand the Asset Library floating license system, required actions, and best practices for license management. The **Asset Library License** enables users to manage shared assets within the Asset Library. This license uses a **floating license system**, where licenses are stored in a shared pool and temporarily assigned when a user performs specific asset management actions. Because asset management operations are short-duration tasks, licenses are **temporarily locked for a limited period and automatically released back into the pool**. *** # How it works [Section titled “How it works”](#how-it-works) Certain Asset Library actions require a license from the **Asset Library License Pool**. When a user performs one of these actions, a license is temporarily locked for **24 hours** under the user name. After this period, the license is automatically released and becomes available to other users. Note Assets stored in the Asset Library consume **cloud storage, processing, and streaming resources**. Organizations should consider this when managing their subscriptions and asset usage. ### Actions that require an Asset Library License [Section titled “Actions that require an Asset Library License”](#actions-that-require-an-asset-library-license) The following actions require an Asset Library License: * Upload assets * Delete assets * Edit asset settings * Promote assets from the **Project Library** to the **Global Library** These actions are considered **administrative asset management tasks**, which require a license to ensure controlled usage across the organization. # Actions available without an Asset Library License [Section titled “Actions available without an Asset Library License”](#actions-available-without-an-asset-library-license) Users without an Asset Library License can still interact with the Asset Library in limited ways. From **RealityPlatform**, users can: * View assets from the **Global Library** * View assets from **Project Libraries** they have access to * Download 3D models (if their permissions allow it) # Interaction with RealityPlan Licenses [Section titled “Interaction with RealityPlan Licenses”](#interaction-with-realityplan-licenses) Users with a [**RealityPlan license**](/en/realityplatform/organization-management/realityplan-license/) can still work with assets within their RealityPlan Projects. A RealityPlan license allows users to: * Upload assets to the **Project Library** of the RealityPlan Project they are currently working on * Use assets within their project layouts However, without an **Asset Library License**, users cannot perform organization-wide asset management tasks such as promoting assets to the Global Library or modifying shared assets. # License Availability [Section titled “License Availability”](#license-availability) Asset Library Licenses are shared across the organization through a license pool. If all licenses are currently locked: * Users attempting to perform a licensed action will not be able to proceed until a license becomes available. Licenses are automatically released after the lock period expires. # Best Practices for License Management [Section titled “Best Practices for License Management”](#best-practices-for-license-management) To ensure efficient usage of Asset Library licenses: * Assign licenses to users responsible for managing shared assets * Use Global Library promotion only for assets that should be reused across projects * [Monitor license usage](/en/realityplatform/organization-management/usage-summary/) to ensure enough licenses are available for asset management tasks # RealityConnect License > Manage RealityConnect floating licenses shared between users through a license pool in your organization. RealityConnect requires a valid license to connect. Licenses are shared between users through a **floating license pool**. ### Floating License Pool [Section titled “Floating License Pool”](#floating-license-pool) All licenses are stored in a centralized pool and can be used by multiple users. The number of users who can be connected at the same time depends on the number of licenses available.\ For example, with 10 licenses, up to 10 users can be connected simultaneously. ### License Usage [Section titled “License Usage”](#license-usage) A license is used when a user connects to RealityConnect from a **third-party software**. The license stays in use while the user remains connected and is released as soon as the user disconnects. Keeping a third-party software open does not use a license if the user is disconnected. ### License Counting Rules [Section titled “License Counting Rules”](#license-counting-rules) Licenses are counted based on how users connect to RealityConnect. * One user connected from one third-party software uses one license. * If the same user connects from multiple different third-party software, each software connection uses a separate license. * If the same user runs multiple instances of the same third-party software, all instances together use a single license. ### License Availability [Section titled “License Availability”](#license-availability) If all licenses in the pool are currently in use, new users will not be able to connect. Users can wait for another user to disconnect or consider adding more licenses to support additional simultaneous usage. ### Crash Handling [Section titled “Crash Handling”](#crash-handling) If a third-party software closes unexpectedly or crashes without disconnecting, the license is released automatically after **7 minutes**. # RealityPlan License > Optimize your RealityPlan license usage with our flexible floating license model, ensuring efficient access for all users while managing limitations effectively. To use RealityPlan, a valid license is required. Our licensing system is designed to be flexible and efficient, employing a **floating license model** to optimize license usage across users. *** ## How the RealityPlan License System Works [Section titled “How the RealityPlan License System Works”](#how-the-realityplan-license-system-works) 1. **License Pooling** * All available licenses are managed through a centralized license pool. Licenses are dynamically assigned and released, depending on user activity. * When a license is not actively in use, it is returned to the pool, making it available for other users. 2. **License Assignment** * When you launch RealityPlan, a license is automatically assigned to your computer from the license pool. This license remains in use as long as the application is running. * If you close the application, the license is released back to the pool, allowing another user to access the software. 3. **Floating License Model** * The system is based on a “floating” license approach, meaning licenses are shared among multiple users rather than being tied to individual accounts permanently. * The number of concurrent users who can access RealityPlan is determined by the number of licenses in the pool. For example, if you have 10 licenses, up to 10 users can use RealityPlan at the same time. ## Handling License Limitations [Section titled “Handling License Limitations”](#handling-license-limitations) * If all available licenses are currently in use, additional users attempting to launch the application will not be able to access RealityPlan. In such cases, an error message will inform the user that no licenses are available. * Once a license is freed (i.e., a user closes the application), it becomes available in the pool again, and the next user can launch the application successfully. ## Error Messages and Troubleshooting [Section titled “Error Messages and Troubleshooting”](#error-messages-and-troubleshooting) * **Error: “No Available Licenses”**\ This message appears when all licenses in the pool are in use. To resolve the issue: * Wait for a license to become available as other users close the application. * If licenses frequently run out, consider purchasing additional licenses to accommodate more concurrent users. ## Best Practices for License Management [Section titled “Best Practices for License Management”](#best-practices-for-license-management) * **Monitor License Usage**\ Regularly review your license utilization to ensure you have the appropriate number of licenses for your organization’s needs. * **Plan for Peak Usage**\ If your organization experiences times of peak usage, ensure you have enough licenses to accommodate the maximum number of concurrent users. * **Close the Application When Not in Use**\ Encourage users to close RealityPlan when it is not needed. This helps free up licenses for others and optimizes the usage of available resources. # RealityTwin License > Optimize your organization's license management with RealityTwin Data Manager's floating license system, ensuring efficient sharing and monitoring of licenses. The RealityTwin Data Manager License uses a **floating license system**. Licenses are dynamically assigned when a user accesses a Twin with editing capabilities, and automatically released back to the pool when the user leaves. This ensures efficient sharing of licenses across your organization. ## How it works [Section titled “How it works”](#how-it-works) * **Editors** * When a user enters a Twin with editing permissions, they consume one Data Manager license from the pool. * When they leave the Twin, the license is released and becomes available for others. * **Viewers** * Users without editing permissions do not consume a license. * They always enter the Twin in **Read-Only** mode. * **License Limits** * If all licenses are in use, an editor attempting to join a Twin will see a warning. * In this case, the user is placed in **Read-Only** mode until a license becomes available. ## Monitoring license usage [Section titled “Monitoring license usage”](#monitoring-license-usage) Administrators can track active license consumption through the [**Usage Summary**](/en/realityplatform/organization-management/usage-summary/) panel. This view provides visibility into who is currently using RealityTwin Data Manager licenses, helping teams optimize allocation and avoid bottlenecks. ## Best Practices for License Management [Section titled “Best Practices for License Management”](#best-practices-for-license-management) * **Monitor License Usage**\ Regularly review your license utilization to ensure you have the appropriate number of licenses for your organization’s needs. * **Plan for Peak Usage**\ If your organization experiences times of peak usage, ensure you have enough licenses to accommodate the maximum number of concurrent users. * **Close the Twin When Not in Use**\ Encourage users to close RealityTwin when it is not needed. This helps free up licenses for others and optimizes the usage of available resources. # Subscriptions > Track purchased items, subscription status, and usage consumption from the Subscriptions page in RealityPlatform. Easily track your purchased items, subscription status, and usage consumption from the Subscriptions page. *** ## What is the Subscriptions Page? [Section titled “What is the Subscriptions Page?”](#what-is-the-subscriptions-page) The Subscriptions Page provides a clear overview of your purchased items and the current status of your RealityPlatform subscription. It helps you stay informed about your plan details, track resource consumption, and manage upgrades when needed. You can access the **Subscriptions Page** by navigating to **Organization Settings** and selecting **Subscription**. ![RealityPlatform Subscriptions page](/_astro/realityplatform-what-is-the-subscriptions-page.D8Q90Knk_13mSed.webp) ### What You Can Do on the Subscriptions Page [Section titled “What You Can Do on the Subscriptions Page”](#what-you-can-do-on-the-subscriptions-page) #### 1. Track Your Subscription Status [Section titled “1. Track Your Subscription Status”](#1-track-your-subscription-status) * View **purchased items** and their availability. * Check your **active subscription status** at a glance. #### 2. Access the [Usage Summary](/en/realityplatform/organization-management/usage-summary/) Panel [Section titled “2. Access the Usage Summary Panel”](#2-access-the-usage-summary-panel) * Monitor resource consumption, such as storage usage and processing limits. * Identify when you’re approaching your plan limits. #### 3. Request a Subscription Upgrade [Section titled “3. Request a Subscription Upgrade”](#3-request-a-subscription-upgrade) Need more capacity? Use the **Contact Us** link to request an upgrade and scale your subscription as your needs grow. # Usage Summary > Learn how to monitor storage, processing, streaming, and license usage in RealityPlatform. View limits, reset schedules, and detailed breakdowns. The Usage Summary section provides a comprehensive view of your organization’s activity within RealityPlatform, broken down into four key areas: Storage, Processing, Streaming, and License Users. Each area is displayed on a dedicated card with details on usage, reset schedules, and options to expand your limits. *** ## Storage [Section titled “Storage”](#storage) Storage reflects the total gigabytes (GB) you have used across all uploaded and created files within RealityPlatform. This metric provides a clear snapshot of your organization’s current storage usage. ![RealityPlatform storage usage](/_astro/realityplatform-storage.BjQJ_lOl_Z20kOIj.webp) As you near your capacity limit, the numbers will turn orange, and if you’ve reached the limit, they’ll turn red. ![RealityPlatform storage usage details](/_astro/realityplatform-storage-1.E8ffYo-v_Wn0BQ.webp) ## Processing [Section titled “Processing”](#processing) Processing is calculated by the amount of GB required to handle various file conversions and processing tasks. This includes converting point clouds to mesh, compressing scans, and auto-segmenting data. ![RealityPlatform processing usage](/_astro/realityplatform-processing.DdG7uffB_ZP3nuO.webp) ## Streaming [Section titled “Streaming”](#streaming) Streaming represents the GB used for delivering viewing and downloading content through the RealityPlatform. This covers data used in the web viewer and content downloaded via the RealityPlan desktop app. ![RealityPlatform streaming usage](/_astro/realityplatform-streaming.IOvf1fmE_1XaOjL.webp) ## How usage is calculated [Section titled “How usage is calculated”](#how-usage-is-calculated) Your **Streaming** and **Processing** usage are shown as a **rolling 12-month total**. At any given time, the figure represents everything you’ve consumed over the most recent 12-month period, measured against your yearly allowance. This 12-month period is anchored to the **anniversary of your renewal date** — not to the exact day you renew or purchase. ### When does usage reset? [Section titled “When does usage reset?”](#when-does-usage-reset) Usage resets once a year, on your **renewal anniversary date**. On that day, the previous period’s consumption rolls off and a fresh 12-month period begins, returning your usage toward zero. Note Renewing your subscription does not reset your usage on the spot. Usage always follows the yearly anniversary cycle. ### Example [Section titled “Example”](#example) Suppose your subscription renews each year on **September 30** (its renewal anniversary). Today, in June 2026, your usage reflects everything consumed since the most recent anniversary: * **Current period:** September 30, 2025 → September 30, 2026 Your usage keeps accumulating within this window. On the next anniversary, **September 30, 2026**, it resets and a fresh period (September 30, 2026 → September 30, 2027) begins. Note Renewing early — for example, a few weeks before your subscription expires — does not reset your usage ahead of time. The reset still happens on your regular anniversary date, **September 30**. You can always confirm your current period’s reset date on the **Usage Summary** page. ### What about Storage? [Section titled “What about Storage?”](#what-about-storage) **Storage** is measured differently. Rather than a 12-month rolling total, it reflects the **amount of data you currently have stored** at this moment. It goes up when you add data and down when you remove it — it does not reset on your renewal anniversary. ## Licenses [Section titled “Licenses”](#licenses) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform) Organizations receive unlimited amount of web users that can view what is on the cloud. These users can view project layouts, view changes, take measurements. ![RealityPlatform web user license usage](/_astro/realityplatform-realityplatform.RGaltBKY_1Ayoxs.webp) ### RealityPlan [Section titled “RealityPlan”](#realityplan) RealityPlan licenses are handled through floating seats. This is a representation of how many users are actively taking up a seat. See [RealityPlan License](/en/realityplatform/organization-management/realityplan-license/) for more details. ![RealityPlan license seat usage](/_astro/realityplatform-realityplan.D1CSFfim_1Quxsd.webp) ### RealityTwin Data Manager [Section titled “RealityTwin Data Manager”](#realitytwin-data-manager) RealityTwin Data Manager licenses are handled through floating seats. This is a representation of how many users are actively taking up a seat. See [RealityTwin License](/en/realityplatform/organization-management/realitytwin-license/) for more details. ![RealityTwin Data Manager license seat usage](/_astro/realityplatform-realitytwin-data-manager.ClNd_TAf_Z2hWI3V.webp) ### RealityConnect [Section titled “RealityConnect”](#realityconnect) RealityConnect licenses are handled through floating seats. This is a representation of how many users are actively taking up a seat. See [RealityConnect License](/en/realityplatform/organization-management/realityconnect-license/) for more details. ![RealityConnect license seat usage](/_astro/realityplatform-realityconnect.BcpZp2bC_1u2PHO.webp) ## Detailed summaries [Section titled “Detailed summaries”](#detailed-summaries) On each box of Storage, Processing, Streaming, and License Users, there is an option to view more details. ![RealityPlatform detailed usage option](/_astro/realityplatform-detailed-summaries.DvvZVl4K_Z1BBxfu.webp) From the details page, you will see a comprehensive breakdown of the consumption of that particular type of usage. ![RealityPlatform usage breakdown](/_astro/realityplatform-detailed-summaries-1.DCxphB7f_2pFwOq.webp) Note As with other areas of the settings page, you can customize what information is displayed per division. You can access this through the dropdown beside *Usage summary*. ![RealityPlatform division usage filter](/_astro/realityplatform-detailed-summaries-2.DeK1fie0_18Hg1j.webp) # White Label > Customize your RealityPlatform with White Label for a seamless branded experience, including custom domains, logos, and authentication settings. Customize the RealityPlatform experience with your own branding, domain, and authentication settings using White Label. *** ## What is White Label? [Section titled “What is White Label?”](#what-is-white-label) The White Label feature allows organizations to personalize their RealityPlatform experience by customizing branding elements and accessing the platform through a dedicated domain. This provides a seamless, branded experience for users while maintaining all the capabilities of RealityPlatform. ## Value of White Label [Section titled “Value of White Label”](#value-of-white-label) By enabling White Label, organizations can: * Strengthen brand identity with a custom domain and logos. * Provide a familiar and professional experience to their users. * Customize authentication settings for a smoother login process. ## How to Enable White Label [Section titled “How to Enable White Label”](#how-to-enable-white-label) White Label is not enabled by default. To activate it for an account, contact your Account Manager or Customer Success Team. Once enabled, our team will configure your custom domain, replacing the standard RealityPlatform URL “**cloud**.prevu3d.com” with a personalized one “**yourCompanyName**.prevu3d.com”. ## How to Configure White Label [Section titled “How to Configure White Label”](#how-to-configure-white-label) ### 1. Upload Your Branding Elements [Section titled “1. Upload Your Branding Elements”](#1-upload-your-branding-elements) Once White Label is set up, administrators can upload branding elements from the Organization Settings page: ![RealityPlatform Upload your branding elements](/_astro/realityplatform-1-upload-your-branding-elements.vujce-WJ_ZBgNOB.webp) * [**cloud.prevu3d.com**](https://cloud.prevu3d.com)**Main Logo:** * Appears in the top-right corner of the RealityPlatform interface. * Replaces the login/sign-up page logo. * Displays in email notifications sent to users. * **Favicon:** * The small icon displayed on the web browser tab. ### 2. Customize Additional Settings [Section titled “2. Customize Additional Settings”](#2-customize-additional-settings) White Label also provides additional customization options: ![RealityPlatform Customize additional settings](/_astro/realityplatform-2-customize-additional-settings.B2eZwCfd_Z1dXEYb.webp) * **Set a Default Language** — Define the preferred language for all users accessing the domain. * **Prioritize Single Sign-On (SSO)** by displaying it as the **default login method** instead of email/password. * **Enforce White Label Redirect** — Ensure all users access the platform through the branded domain. Even if they attempt to log in via [cloud.prevu3d.com](http://cloud.prevu3d.com), they will be automatically redirected to [myCompanyName.prevu3d.com](http://myCompanyName.prevu3d.com). # Groups > Manage user groups effortlessly with our Group Management Page. Create, organize, and control permissions for seamless team collaboration. The group management page allows administrators to easily create, organize, and control user groups, streamlining permissions and collaboration across teams. *** ![RealityPlatform Groups page](/_astro/realityplatform-user-management-groups.DNYjfmdD_1YUs3N.webp) ## Accessing the Group Management Page [Section titled “Accessing the Group Management Page”](#accessing-the-group-management-page) 1. Navigate to **Settings** 2. Select **Groups** ![RealityPlatform Group management page](/_astro/realityplatform-accessing-the-group-management-pag.B7eGdo6E_1RRyxR.webp) ## Key Features [Section titled “Key Features”](#key-features) * **Create and Manage Groups**: Set up groups, define their roles, and manage user membership * **Assign Group Permissions**: Set high-level permissions that determine the group’s division(s) * **View Group Content Access**: Get an overview of what content each group can access. (You cannot manage access here. See [sharing](/en/realityplatform/user-management/sharing/) to edit and provision access) ## Page Overview [Section titled “Page Overview”](#page-overview) ### Group List [Section titled “Group List”](#group-list) The Group List provides a quick overview of all existing groups, displaying essential information for each, such as: * **Group Name** * **Users**: Individual users who belong to this group * **Content access**: Overview of what the group has access to (including their role on the content) * **Actions**: Options to edit or delete the group The search function makes it easy to locate specific groups by name. ### Creating a New Group [Section titled “Creating a New Group”](#creating-a-new-group) To set up a new group: 1. Click **“New Group +”** at the top right of the page. 2. In the “Create Group” dialog, provide the following details: * **Group Name**: A descriptive name for the group. * **Division**: Select division(s) * This authorizes the group to be added only to content within the selected divisions. 3. Click **“Create”** to save the group. ![RealityPlatform Creating a new group](/_astro/realityplatform-creating-a-new-group.DUg15ado_Z244X9B.webp) Tip After creating a group, you’ll need to assign content access through the share modal. Navigate to the Division, Site, File, or Asset Library you want to share, open the share modal. See [How to use the share modal](/en/realityplatform/user-management/sharing/#how-to-use-the-share-modal) for detailed steps. ### Manage user groups [Section titled “Manage user groups”](#manage-user-groups) Once the group is created you will be able to add existing users or invite new users to the group. They will be automatically provided with all the access and permissions related to the group. This can save you a lot of time if you are managing a lot of users with multiple levels of access. ![RealityPlatform Manage user group](/_astro/realityplatform-manage-user-group.Dtu579oL_1W9p6g.webp) ### Viewing Group Content Access [Section titled “Viewing Group Content Access”](#viewing-group-content-access) Each group’s content access can be viewed to understand which content the group can access with their role permission. * Select the **“Content Access”** button to see an overview of what pieces of content are accessible by this group. Note Content access for groups is view-only on this page, ensuring visibility into group permissions without risk of accidental changes. If you want to provision the group with some new access, refer to the [Sharing](/en/realityplatform/user-management/sharing/) page ### Deleting a Group [Section titled “Deleting a Group”](#deleting-a-group) To delete a group: 1. Locate the group in the Group List. 2. Click the **“Delete”** icon (a trash can) 3. Confirm the deletion. This action is permanent and removes the group configuration. Note Deleting a group does not delete individual members; it only removes the group setup. ### Single Sign-On Group Mapping [Section titled “Single Sign-On Group Mapping”](#single-sign-on-group-mapping) For more advanced management, it is possible to leverage the SSO group mapping feature. Refer to the [Single Sign-On](/en/realityplatform/user-management/single-sign-on-sso/) article # Overview > Understand how access works in RealityPlatform: the access vs permissions model, content hierarchy and inheritance, roles, and how to assign access. User management in RealityPlatform controls **who can reach your organization’s content** and **what they can do with it**. This overview explains the access model. The rest of this section covers each piece in detail. *** ## Two questions: access and permissions [Section titled “Two questions: access and permissions”](#two-questions-access-and-permissions) Every authorization decision answers two separate questions: * **Access (where)** determines which parts of the content hierarchy a user can reach (divisions, sites, files, and the products tied to them). * **Permissions (what)** determine which actions a user can perform there (view, create, edit, delete, publish, download, manage access, and so on). A user can have access to an item but still be blocked from an action if their role does not include the matching permission. ## Content is organized as a hierarchy [Section titled “Content is organized as a hierarchy”](#content-is-organized-as-a-hierarchy) Content follows your organization’s structure as a tree: **Organization → Division → Site → Files**. Access granted on a parent is **inherited** by everything beneath it. * Grant access at the Division level, and the user reaches every Site and File inside it. * Remove access higher up, and it is removed everywhere below. * Nothing leaks sideways: without an explicit or inherited grant, content stays invisible. You can refine inherited access with **nested context** (for example, allow a Site but restrict the user to RealityTwin only). See [Roles & Permissions](/en/realityplatform/user-management/roles-permissions/) for details. ## Roles come in two kinds [Section titled “Roles come in two kinds”](#roles-come-in-two-kinds) * **Administrative roles** control settings and governance (users, groups, permissions, SSO, subscription). A user has at most one. * **Content roles** control what a user can do on content and products (RealityTwin, RealityPlan, 3D Data Viewer, Asset Library). These are what get assigned across the hierarchy. See [Roles & Permissions](/en/realityplatform/user-management/roles-permissions/) for the full model, including role stacking and customization. ## How access gets assigned [Section titled “How access gets assigned”](#how-access-gets-assigned) You grant content access in two ways: * **Directly** to a user when inviting or editing them. * **Through the share modal** on a division, site, file, or the Asset Library, to a user or a whole group. **Groups** let you assign access once and apply it to many users at scale, and can be mapped from your identity provider through SSO. ## Where to go next [Section titled “Where to go next”](#where-to-go-next) * [Roles & Permissions](/en/realityplatform/user-management/roles-permissions/) — the access and permission model in detail * [Users](/en/realityplatform/user-management/users/) — invite, review, and manage individual users * [Groups](/en/realityplatform/user-management/groups/) — manage access at scale * [Sharing](/en/realityplatform/user-management/sharing/) — provision access from the share modal * [Single Sign-On (SSO)](/en/realityplatform/user-management/single-sign-on-sso/) — federated login and group mapping # Roles & Permissions > Manage user permissions with our flexible role management system, featuring default and special roles for tailored access and stacked permissions. Our role management system provides flexible, precise control over user permissions with default and special roles, allowing for granular access and stacked permissions to meet specific organizational needs. *** ## Role Management [Section titled “Role Management”](#role-management) Roles and permissions control what users can **see** (access) and what they can **do** (permissions). You assign roles in different contexts (organization, division, site, specific items), and the platform combines them to compute a user’s effective capabilities. If you are looking for how to invite users, assign roles, or manage groups, see: [User](/en/realityplatform/user-management/users/) and [Group](/en/realityplatform/user-management/groups/) management articles. ## Key concepts [Section titled “Key concepts”](#key-concepts) ### Access vs permissions [Section titled “Access vs permissions”](#access-vs-permissions) * **Access** determines *where* a user can go (which divisions, sites, twins, plans, folders). * **Permissions** determine *what actions* a user can perform in that context (create, edit, delete, publish, download, manage access, etc.). A user can have access to an item but still be blocked from actions if their role does not include the required permission. ### Role stacking (permissions combine) [Section titled “Role stacking (permissions combine)”](#role-stacking-permissions-combine) Users can receive roles from multiple places. When that happens, the platform combines the permissions. Example: A user can be a viewer on a Site (inherited visibility), and an editor on one specific Twin inside that Site. The combined result is “viewer everywhere in the site, editor in that twin.” ### Inheritance and nested context [Section titled “Inheritance and nested context”](#inheritance-and-nested-context) Access in RealityPlatform follows the organizational hierarchy. When you grant access at a parent level (for example a **Site**), that access can be inherited by the items inside it, such as a Twin, a Plan project, or 3D data. **Nested context** allows you to control what role, or no access, is applied to those inherited items. For example, you can grant a user access to a Site but restrict them to: * RealityTwin only * RealityPlan only * 3D Data Viewer only * Or block access to specific products entirely This gives you fine-grained control over how access propagates through the hierarchy. For a detailed explanation of how Divisions, Sites, and content are structured, see the [**Organizational Structure**](/en/realityplatform/getting-started/organizational-structure-overview/) article. ## Role types [Section titled “Role types”](#role-types) ### Administrative roles (settings access) [Section titled “Administrative roles (settings access)”](#administrative-roles-settings-access) Administrative roles control permissions associated to organization and division, such as: * Users and groups * Permissions * SSO and integrations * Subscription and invoices Important Information * **Super Admin** has full administrative access. Other admin roles can be limited to specific settings pages and can be scoped to specific divisions. * The Super Admin **role** can’t be removed or edited. * Administrative roles can be scoped to specific divisions, or to the organization (all divisions, including new divisions created later). * A user can have **only one** administrative role. ### Content roles (product and content actions) [Section titled “Content roles (product and content actions)”](#content-roles-product-and-content-actions) Content roles control what a user can do within: * Content hierarchy (divisions, sites, folders, data) * RealityTwin * RealityPlan * 3D Data Viewer (data bundles) * Asset Library Permissions are granular and typically include view, create, edit, delete, publish, download, and similar actions. ## Default roles (Standard model) [Section titled “Default roles (Standard model)”](#default-roles-standard-model) For organizations without role customization enabled, each context includes **three predefined roles**: * **Manager** * **Editor** * **Viewer** These roles are predefined and cannot be modified if you don’t have the [Role customization Enterprise](/en/realityplatform/user-management/roles-permissions/#role-customization-enterprise) tier ### Manager [Section titled “Manager”](#manager) Managers have full control over the specific content where they are assigned. Typically, a Manager can: * View, create, edit, and delete content * Publish or download when applicable * Manage collaborators (invite or remove users) * Configure settings related to that content Use case: project leads, site owners, administrators responsible for delivery. ### Editor [Section titled “Editor”](#editor) Editors are contributors. They can perform most operational actions within the content, but **cannot manage access**. Typically, an Editor can: * View content * Create and edit entities (assets, zones, measurements, layouts, etc.) * Save changes * Use most tools available in that product Editors **cannot invite or remove collaborators** from that content. Use case: designers, engineers, operators contributing to the project. ### Viewer [Section titled “Viewer”](#viewer) Viewers have limited permissions. Typically, a Viewer can: * View content * Navigate the project * Use read-only tools (depending on the product) Viewers cannot modify content or manage access. Use case: stakeholders, clients, executives, read-only reviewers. ### Permission matrix [Section titled “Permission matrix”](#permission-matrix) Each product and context (Content, RealityTwin, RealityPlan, 3D Data Viewer, Asset Library) includes a detailed **permission matrix** that defines exactly what each role can do. To see the exact actions enabled for each role: 1. Go to **Settings → Permissions** 2. Select the relevant context 3. Review the permission matrix For Enterprise organizations with role customization enabled, these default roles can be used as a starting point and extended with additional custom roles. See [Role customization (Enterprise)](/en/realityplatform/user-management/roles-permissions/#role-customization-enterprise) section ## Role customization (Enterprise) [Section titled “Role customization (Enterprise)”](#role-customization-enterprise) Role customization allows Enterprise organizations to create roles tailored to internal governance. ### Create a role [Section titled “Create a role”](#create-a-role) 1. Go to **Settings → Permissions** 2. Choose the section you want (Administrative, Content, RealityTwin, RealityPlan, 3D Data Viewer, Asset Library) 3. Click **Create role** 4. Name the role 5. Select the permissions 6. Save ### Edit a role [Section titled “Edit a role”](#edit-a-role) 1. Go to **Settings → Permissions** 2. Select the role 3. Update the permission checkboxes 4. Save Tip * Start from a standard manager/editor/viewer pattern and make minimal changes. * Keeping roles simple makes them easier to troubleshoot. ## Special rule: Access management [Section titled “Special rule: Access management”](#special-rule-access-management) If a role includes **Access management** permission (ability to share content or invite collaborators), the platform requires that role to also include the underlying permissions for that context. **Reason:** a user who can manage access could otherwise grant themselves a higher role. **Practical guidance:** treat Access management as a high-trust capability, similar to a manager or owner level. ## Deleting roles (fallback required) [Section titled “Deleting roles (fallback required)”](#deleting-roles-fallback-required) If you delete a role that is assigned to users or groups, you must choose a **fallback role**. Users assigned to the deleted role will automatically be reassigned to the fallback. ## After releases: new permissions default off for custom roles [Section titled “After releases: new permissions default off for custom roles”](#after-releases-new-permissions-default-off-for-custom-roles) When a new feature introduces a new permission: * Standard built-in roles may be updated automatically. * Custom roles do not automatically receive new permissions, new permissions are disabled by default until an admin enables them. If users report that a new feature is missing, review the permission matrix and update the relevant roles. # Sharing > Learn how to share Divisions, Sites, and Files in Prevu3D, invite collaborators, and share RealityTwin and RealityPlan projects with public and password-protected links. Our system offers a robust and flexible range of sharing capabilities, allowing you to share Divisions, Sites, and Files individually according to your needs. Our hierarchical structure ensures that access control is both comprehensive and intuitive. *** ## Levels of sharing [Section titled “Levels of sharing”](#levels-of-sharing) ### Division Level [Section titled “Division Level”](#division-level) You can share an entire Division with users, granting them access to all Sites and Files within that Division. This is ideal for broad collaboration across multiple projects or regions within your organization. ### Site Level [Section titled “Site Level”](#site-level) Sharing at the Site level provides access to all Files contained within that specific Site. If you invite someone to a Site, they will automatically have access to all the Folders, point clouds, and RealityPlan Projects within that Site. This is useful for project-specific collaboration, ensuring team members have all the necessary resources without needing to grant access to the entire Division. ### File Level [Section titled “File Level”](#file-level) Individual Files, such as Folders, point clouds, and RealityPlan Projects, can also be shared independently. This allows for granular access control, where specific documents or data can be shared with users without granting access to other Files within the same Site or Division. ### Asset Library [Section titled “Asset Library”](#asset-library) You can open the share modal on the **Asset Library** to invite users or [groups](/en/realityplatform/user-management/groups/) and assign **Library roles** — Library owner, editor, or viewer — that control who can access and manage library assets. See [Users](/en/realityplatform/user-management/users/) for how Library access appears in user profiles. ## Hierarchical Access [Section titled “Hierarchical Access”](#hierarchical-access) It’s important to note that our system’s access control operates on a hierarchical basis. This means: * Invited to a Division: Users will have access to all Sites and Files within that Division. * Invited to a Site: Users will have access to all Files within that specific Site. * Invited to a File: Users will only have access to that particular File, without access to other Files within the Site or Division. This hierarchical structure ensures that you can tailor access permissions precisely, providing users with the exact access level needed to perform their tasks efficiently while maintaining the security and integrity of other data. By leveraging these sharing capabilities, you can facilitate effective collaboration and maintain robust control over your organizational data, ensuring that the right people have the right access at all times. ## How to access the share modal [Section titled “How to access the share modal”](#how-to-access-the-share-modal) There are two ways to access the share modal in RealityPlatform: 1. `Right-clicking` horizontal items in the left bar ![RealityPlatform How to access the share modal](/_astro/realityplatform-how-to-access-the-share-modal.Ic3CN2La_epsEG.webp) 2. `Right clicking` or using the overflow menu (three-dots on hover) button on pieces of content in the main content area ![RealityPlatform How to access the share modal](/_astro/realityplatform-how-to-access-the-share-modal-1.BX0NeBUz_Z21b19i.webp) ## How to use the share modal [Section titled “How to use the share modal”](#how-to-use-the-share-modal) ![RealityPlatform How to use the share modal](/_astro/realityplatform-how-to-use-the-share-modal.CTawvbBs_Z2p9iqJ.webp) 1. The text input field box allows you to enter a user’s name (if they are a user in the division already) or full email. Be sure to `click` “Invite” to complete the invitation. 2. This is the list of individual users who have access to that piece of content. On the far right, you can toggle their [role](/en/realityplatform/user-management/roles-permissions/) **if you have permissions** to. You can also remove a user in this dropdown. ![RealityPlatform How to use the share modal](/_astro/realityplatform-how-to-use-the-share-modal-1.RZYu59Js_Z1Df8qz.webp) 3. The very bottom of the modal lists the groups that have access to the content. It is possible to provide access to a whole [group](/en/realityplatform/user-management/groups/) from the share modal. ![RealityPlatform How to use the share modal](/_astro/realityplatform-how-to-use-the-share-modal-2.CQrP6696_2dcnkX.webp) Invitation email * When a user is invited through the share modal, they will automatically receive a notification email. * If the user doesn’t have a Prevu3D account yet, the invitation email will allow him to [sign up](/en/realityplatform/getting-started/sign-up-login/) ## Public links [Section titled “Public links”](#public-links) In addition to inviting individual users and groups, you can share a **RealityTwin** or **RealityPlan** project through a **public link**. Anyone with the link can open the project in their browser — no Prevu3D account required. Public links are managed from the same **Share** modal used for collaborator invites, so invites and public-link settings live in one place. ### Enable public links for your organization [Section titled “Enable public links for your organization”](#enable-public-links-for-your-organization) Public links are governed by an organization-level setting. On the **Organization settings** page, turn on **Allow public link creation** to let users in your organization generate public share links. When this setting is off, the public link option is not available in the Share modal. ![RealityPlatform Organization public link setting](/_astro/realityplatform-organization-public-link-setting.BxUDEssQ_ZJF4U5.webp) ### Copy a direct link [Section titled “Copy a direct link”](#copy-a-direct-link) At the bottom of the Share modal you can copy a **direct link** to the specific item. A direct link still requires the recipient to have access and to sign in — it is a quick way to point someone who already has access straight to that item. To share with someone who does **not** have an account or access, configure a public link instead. ### Create a public link [Section titled “Create a public link”](#create-a-public-link) 1. Open the Share modal and open the link-sharing settings from the gear menu at the bottom. 2. Select **Anyone with the link**. Anyone on the internet can then open the link with viewer permissions. Invited users keep their designated permissions. 3. Select **+ New link** to configure a link. ![RealityPlatform Share modal link sharing settings](/_astro/realityplatform-share-modal-link-sharing-settings.ClqKe48R_nyRAK.webp) Each link can be named and given its own **password** and/or **expiry date**. Once a link reaches its expiry date, it stops working. ![RealityPlatform Share modal create public link](/_astro/realityplatform-share-modal-create-public-link.tW0Jekig_1wUr6p.webp) ### Share a RealityPlan layout [Section titled “Share a RealityPlan layout”](#share-a-realityplan-layout) From within the **RealityPlan viewer**, open the **Layout manager**, then a layout’s overflow menu (three dots), and select **Share** to create a public link that opens on that layout. This opens the same Share modal described above, so the rest of the flow — [creating the public link](#create-a-public-link) and setting an optional password or expiry date — is identical. ![RealityPlan Layout Manager share action](/_astro/realityplatform-realityplan-layout-manager-share.li2TIibB_1rCnqd.webp) Opening a default layout Sharing a specific RealityPlan layout via a public link automatically opens that layout, but it grants access to the entire RealityPlan project — it does not restrict access to a single layout. Think of the selected layout as the default landing point, similar to defining a default camera position. A warning banner in the Share flow reinforces this: the link opens on the selected layout, while the whole RealityPlan project stays accessible to anyone who has the link. ![RealityPlan public link layout warning](/_astro/realityplatform-realityplan-public-link-layout-warning.EwHEE94l_ZkC3X0.webp) # Single Sign-On (SSO) > Set up secure Single Sign-On (SSO) with Prevu3D using SAML 2.0 and SCIM 2.0 for seamless user authentication and provisioning. SSO Setup and Usage *** Danger This guide is intended for system administrators. If you lack the necessary technical expertise, please contact your IT department for assistance. The Prevu3D Cloud Platform supports secure Single Sign-On (SSO) via industry-standard protocols: * **SAML 2.0** – for authentication and user sign-in. * **SCIM 2.0** – for automatic user and group provisioning. ## Supported Identity Providers [Section titled “Supported Identity Providers”](#supported-identity-providers) Any identity provider that fully supports the SAML 2.0 and/or SCIM 2.0 protocols should be compatible with Prevu3D, including Okta, Google Workspace, OneLogin, Ping Identity, and others. Prevu3D’s implementation follows the official SAML 2.0 and SCIM 2.0 specifications, ensuring broad compatibility with modern identity systems. We have thoroughly tested integration with: * Microsoft Entra ID (formerly Azure Active Directory) * JumpCloud (English) Note * Each Prevu3D organization supports only one connection to **one identity provider** at a time. * The SSO feature is included in the **Enterprise subscription**. Contact to enable it for your organization. ## SAML 2.0 – Authentication Setup [Section titled “SAML 2.0 – Authentication Setup”](#saml-20--authentication-setup) ### Prerequisites [Section titled “Prerequisites”](#prerequisites) To configure SAML-based SSO with Prevu3D, you will need: * Admin access to your Prevu3D organization. * Access to your IdP with permission to configure applications. ### Steps [Section titled “Steps”](#steps) 1. Sign in to your Prevu3D account (using your email address and password) 2. Go to the **Settings tab** 3. Select the SSO tab from the menu on the left ![RealityPlatform SSO settings page](/_astro/realityplatform-steps.t9ZNN46u_Z4YhHW.webp) Can’t access the “SSO” tab? 1. If it’s missing, you are not an organization administrator. 2. If it’s grayed out, your organization has not subscribed to the SSO feature. 4) Copy the following values from the SSO tab and paste them into your IdP configuration: * **Service Provider Endpoint** – the URL your IdP posts the SAML assertion to. Your IdP may call this the **ACS URL**, **Reply URL**, or **Assertion Consumer Service URL**. * **Service Provider Entity ID** – the unique identifier for Prevu3D in the SAML exchange. Your IdP may call this the **Audience**, **Identifier**, or **SP Entity ID**. Caution Enter the **Entity ID** in your IdP exactly as shown on the SSO tab, including the full suffix (for example `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-production-############-Prevu3DCloudPlatform`). Copy and paste it rather than retyping it. If your IdP sends a shortened or friendly-name audience value (for example `Prevu3D`), authentication is rejected with an audience mismatch even though the rest of your configuration is correct. This is the most common setup error — see [Troubleshooting](#troubleshooting). 5. Retrieve the following from your IdP and enter them on the SSO tab: * **SAML Certificate (PEM format)** * **SAML Endpoint URL** ![RealityPlatform SAML connection settings](/_astro/realityplatform-steps-1.D6ezTvzI_Z2wDxUy.webp) 6. If SCIM is **not** enabled, define the SAML attribute mappings – see [SAML attribute mappings](#saml-attribute-mappings) below. ![RealityPlatform SAML attribute mappings](/_astro/realityplatform-steps-2.Ci2Y-JtZ_Z1V5HFw.webp) Caution These attributes are **optional** when SCIM provisioning is enabled and configured. SCIM automatically manages user details. 7. Click Save at the bottom of the page. ![RealityPlatform saved SSO configuration](/_astro/realityplatform-steps-3.YTnVuGOC_Z1rtJ1Y.webp) 8. Verify the configuration before rolling it out – see [Validating your configuration](#validating-your-configuration) below. ### SAML attribute mappings [Section titled “SAML attribute mappings”](#saml-attribute-mappings) Each field tells Prevu3D which attribute (claim) to read from the SAML assertion sent by your identity provider. The value you enter must match the attribute name configured in your IdP exactly, **including capitalization**. | Field | What to enter | Example values | | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | **First Name SAML Attribute Key** | The name of the IdP attribute containing the user’s given name | `givenName`, `firstName`, `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname` | | **Last Name SAML Attribute Key** | The name of the IdP attribute containing the user’s surname | `familyName`, `surname`, `lastName` | | **Role SAML Attribute Key** (optional) | The name of the IdP attribute containing the Prevu3D role to assign. Required only if you want to manage Prevu3D roles from your IdP – see [Role Mapping](#role-mapping-optional) | `Prevu3DRole` | | **Default Organization Role** | The role assigned when no role attribute is provided, the attribute is empty, or role mapping is not configured – see [Role Mapping](#role-mapping-optional) | `Guest` (recommended) | Not sure which attribute names your IdP sends? Capture a SAML trace using a browser extension such as SAML-tracer and check the names listed in the `AttributeStatement`, or consult your IdP’s application configuration. ## Rolling out SSO to your users [Section titled “Rolling out SSO to your users”](#rolling-out-sso-to-your-users) Once the configuration is saved and validated, two things determine whether your users can actually sign in. ### Domain configuration and new users [Section titled “Domain configuration and new users”](#domain-configuration-and-new-users) Your email domain must be associated with your Prevu3D organization. Domain configuration enables: * **Login page redirection** – users who click **Sign in with SSO** and enter an email on your domain are redirected to your IdP. * **Just-in-time account creation** – when a user on your domain who has never used Prevu3D authenticates successfully through your IdP, a Prevu3D account is created automatically, with names populated from your SAML attribute mappings and the Default Organization Role applied. No invitation or manual account creation is required. Note Domain configuration is completed by Prevu3D as part of your Enterprise SSO onboarding. Contact to claim your email domain(s). Until the domain is configured, users on your domain are not redirected to your IdP and may receive an `invalid_user_email_domain` error when authenticating. Caution Users created through SSO receive the Default Organization Role and **no project access** by default. Grant project access through [Groups](/en/realityplatform/user-management/groups/) (with Group Mapping) or by adding users to projects directly. Users on an SSO-configured domain should sign in with SSO rather than creating a password-based account from an email invitation link. ### Existing users and account linking [Section titled “Existing users and account linking”](#existing-users-and-account-linking) Accounts created before SSO was enabled must be linked to your identity provider once before they can be used with SSO. Users are guided through this the first time they sign in with SSO, and their projects and data are preserved. The steps they see are documented in [Sign up & Log In](/en/realityplatform/getting-started/sign-up-login/#linking-an-existing-account). Caution Linking requires each user’s existing Prevu3D password, so anyone who has forgotten theirs must reset it before they can link. To avoid this entirely, contact to link all accounts on your email domain in a single operation. Users then never see the linking flow. ## Validating your configuration [Section titled “Validating your configuration”](#validating-your-configuration) Before rolling SSO out broadly, test with a small group of users and confirm: * Sign-in succeeds from both the Prevu3D login page (**Sign in with SSO**) and your IdP dashboard. * First and last names are populated correctly on new accounts. * The expected organization role is assigned when the role attribute is present. * Users without a mapped role receive the intended default role. * No users receive broader permissions than expected. * Group memberships are applied as intended, if you are using Group Mapping. Note A SAML trace captured with a browser extension such as SAML-tracer is the fastest way to verify exactly which attributes and audience value your IdP is sending. ## Role Mapping (optional) [Section titled “Role Mapping (optional)”](#role-mapping-optional) You can assign Prevu3D organization-level roles via a custom SAML attribute (e.g., `Prevu3DRole`): * `Admin` – Full permissions across the company * `Guest` – No default access (must be granted at the project level) If no role attribute is provided, a **default role** is applied. For security reasons, we recommend setting this to `Guest`. Caution If SCIM is enabled, role assignment should instead be handled via SCIM. ## Group Mapping (optional) [Section titled “Group Mapping (optional)”](#group-mapping-optional) It is also possible to map groups from your IdP system to [Prevu3D groups](/en/realityplatform/user-management/groups/) to simplify access management for people in your organization. The following steps guide you through mapping your groups. * Configure your IdP to pass group memberships via a SAML attribute. * Enter this attribute on the **SSO tab**. ![RealityPlatform SAML group attribute setting](/_astro/realityplatform-group-mapping-optional.C9DRZfud_14wVcr.webp) * In the **“Groups”** section of Prevu3D, click **“Edit group”** and specify the SAML group value expected by your IdP. ![RealityPlatform group SAML value setting](/_astro/realityplatform-group-mapping-optional-1.DQxzrteu_ZBLQje.webp) * This mapping is applied to users when they sign in to Prevu3D Cloud. If the user is already signed in, they should sign out and sign back in for access changes to take effect. Note * Group mapping is applied at sign-in. Users must sign out and sign back in to apply the updated access. * Ensure that the group is granted some access; for more information, see the [groups](/en/realityplatform/user-management/groups/) section. Caution * If SCIM is enabled, group creation and membership assignment should instead be handled via SCIM. ## SCIM 2.0 – Provisioning Setup [Section titled “SCIM 2.0 – Provisioning Setup”](#scim-20--provisioning-setup) Prevu3D supports user and group provisioning via the **SCIM 2.0 protocol (System for Cross-Domain Identity Management).** ### Prerequisites [Section titled “Prerequisites”](#prerequisites-1) * Your organization must be on the **Enterprise plan**. * Your IdP must support SCIM (e.g., Azure AD/Entra, Okta, JumpCloud). ### What SCIM enables [Section titled “What SCIM enables”](#what-scim-enables) * **User provisioning** – New users are automatically created in Prevu3D * **User deprovisioning** – Users are disabled or removed when they are disabled in your IdP * **Group assignment** – Groups and roles can be centrally managed from your IdP ### Setup Guide [Section titled “Setup Guide”](#setup-guide) 1. **Sign in** to your Prevu3D account as an organization administrator. 2. Go to the **Settings tab** 3. Select the SSO tab from the menu on the left 4. Scroll to the **SCIM Provisioning** section and **enable** it. ![RealityPlatform SCIM provisioning toggle](/_astro/realityplatform-setup-guide.DNbXvmB4_Z1vQVsn.webp) 5. You will find: * **SCIM Base URL (Entra ID users, please see the warning below)** * **Bearer Token** ![RealityPlatform SCIM base URL and bearer token](/_astro/realityplatform-setup-guide-1.3QyAi9PJ_Z16btHF.webp) Note You can also rotate the bearer token when required for security or credential rotation. Caution When configuring SCIM with **Entra ID (Azure AD)**, you **must** append `?aadOptscim062020` to the end of the SCIM Base URL provided by Prevu3D. 6. In your identity provider (e.g., Microsoft Entra ID): * Open the Prevu3D enterprise application. * Enable **SCIM provisioning**. * Enter the **SCIM Base URL** and **Bearer Token** obtained from the SSO tab. 7. Configure attribute mappings for: * `userName`, `givenName`, `familyName`, `email` * Optional: `groups`, `roles`, `active` 8. Save your configuration Your IdP will now automatically sync users and groups with Prevu3D based on the provisioning schedule. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) | Symptom | Likely cause | What to do | | ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | Sign-in does not complete after the IdP redirects back to Prevu3D | The audience value in the SAML assertion does not exactly match the Service Provider Entity ID. Your IdP may be sending a shortened or friendly-name value. | In your IdP, set the Audience / Identifier / Entity ID field to the exact value shown on the SSO tab, including the full suffix. | | User enters their email and password on the login page and is never sent to the IdP | The main login form is for password-based accounts only. | Have the user click **Sign in with SSO** below the Login button, then enter their work email. | | No redirect after entering a work email on the **Sign in with SSO** screen | The email domain is not associated with your Prevu3D organization. | Contact to configure your email domain. | | `{"statusCode":401,"message":"invalid_user_email_domain"}` after authenticating at the IdP | Same cause: the user’s email domain is not associated with your organization. | Contact to configure your email domain. | | User sees “session timed out” and is asked to re-enter their email | Normal part of the one-time account linking flow for accounts created before SSO was enabled. | Have the user continue; this is not an error. See [Existing users and account linking](#existing-users-and-account-linking). | | An existing user cannot complete account linking | Linking requires the user’s existing Prevu3D password, which they may not remember. | Have them reset it with **Forgot password**, or request bulk linking for your domain from . | | Names are blank or wrong on new accounts | The SAML Attribute Keys entered on the SSO tab do not match the attribute names your IdP sends. These values are case-sensitive. | Capture a SAML trace, check the attribute names in the `AttributeStatement`, and update the mappings to match exactly. | | A user was assigned an unexpected role | No role attribute was sent, so the Default Organization Role was applied, or the role attribute value does not match a Prevu3D role. | Verify the Role SAML Attribute Key and the values your IdP sends, then review your Default Organization Role setting. | | Group access changes are not taking effect | Group mapping is applied at sign-in only. | Have the user sign out and sign back in. | | Opening the Service Provider Endpoint URL directly in a browser returns `{"statusCode":500,"message":"Internal server error"}` | Expected. This endpoint only accepts SAML POST requests and cannot be opened directly in a browser. | This does not indicate a configuration problem. Test by signing in from the login page or your IdP instead. | Note If you are still stuck, capture a SAML trace of an unsuccessful sign-in attempt, redact any sensitive values, and send it to . Include the audience value and the attribute names shown in the assertion — this lets our team diagnose most issues in a single pass. ## Definitions [Section titled “Definitions”](#definitions) * **IdP, Identity Provider**: refers to the system that registers all users and enables connection to various other services. This is your source of truth for your organization, users, and groups. E.g.: Azure AD, JumpCloud… * **SP, Service Provider**: refers to the service application that consumes SSO information, in this case Prevu3D Cloud. * **SSO, Single Sign-On**: refers to a mechanism that allows users to obtain their credentials from a single portal and distribute user management configuration across multiple applications. * **SAML, Security Assertion Markup Language**: an industry-wide protocol that enables the use of SSO across multiple cloud-based platforms. * **SCIM, System for Cross-Domain Identity Management**: protocol for provisioning users and groups. # Users > Learn how to access and manage users in Prevu3D. View account details, check roles, group memberships, and content access, plus edit or delete users with ease. The user management page allows you to view and manage users in the system, making it easy to find, review, and take action on individual user accounts. *** ## Accessing the User List [Section titled “Accessing the User List”](#accessing-the-user-list) To access the User List: 1. Click the **Settings** gear in the top-right corner of the header 2. Select **User Management** This opens the **User List**, where you can view and manage all users in your organization. ![RealityPlatform Accessing the user list](/_astro/realityplatform-accessing-the-user-list.KnYm1Lyj_M0dw0.webp) ## Understanding the User List [Section titled “Understanding the User List”](#understanding-the-user-list) When you open the User List, you’ll see a table displaying all users in your organization along with key information: * **Name** – The full name of each user. * **Email** – The email each user used to sign up for Prevu3D. * **Administrative role** (if applicable) Displays whether the user has an administrative role. Possible values: * Regular user (no administrative access) * Super Admin * A custom administrative role (Enterprise) Administrative roles control access to settings and governance areas (users, permissions, SSO, subscription, etc.). For a detailed explanation of administrative roles and how they differ from regular users, see [**Roles & Permissions**](/en/realityplatform/user-management/roles-permissions/). * **Group membership** – Shows which groups the user belongs to. Groups are used to assign access and roles at scale. If a user is part of multiple groups, their permissions may combine based on those assignments. * **Service user indicator** – Service accounts display a “service user” badge, making it easy to distinguish them from regular user accounts. * **Content access** – Displays the content the user has access to (for example divisions, sites, twins, plans, data, or the Asset Library). Content access determines: * Where the user can go * What role applies in each context If a user has multiple access points (for example via both direct assignment and groups), permissions are combined. Asset Library access The **Asset Library** is one of the content access types you can assign. You can grant a user a Library role (Library owner, editor, or viewer) directly when editing the user, or from the [share modal](/en/realityplatform/user-management/sharing/#how-to-use-the-share-modal) on the Asset Library. ## Regular user vs Administrative role [Section titled “Regular user vs Administrative role”](#regular-user-vs-administrative-role) When inviting a user, you must decide whether they need access to **settings and governance features**, or only to **content**. These are two separate concepts. ### Regular user (most common) [Section titled “Regular user (most common)”](#regular-user-most-common) A **Regular user**: * Does **not** have access to organization or division settings * Cannot manage users, roles, permissions, SSO, subscription, or billing Regular users are assigned: * Division access * Content access In most organizations, the majority of users should remain Regular users. ### Administrative roles [Section titled “Administrative roles”](#administrative-roles) An **Administrative role** grants access to platform settings and governance areas. Depending on the role, an administrative user may be able to: * Manage users and groups * Configure roles and permissions * Configure SSO and integrations * Manage subscription and invoices * Create or manage divisions Caution * A user can have **only one administrative role** * Administrative roles can be scoped to: * The entire organization (all divisions) * Specific divisions only Administrative roles primarily control **settings access**, not content permissions by themselves. However, there is one exception: * **Super Admin** has full access across the organization, including all divisions and all content. Super Admins automatically have full visibility and control over content. For all other administrative roles, content visibility depends on the **Nested Context configuration** defined in the permission matrix. An administrative role may: * Have a defined content role (for example Manager, Editor, Viewer) in the Nested Context\ → The user will see and interact with content accordingly. * Be set to **No Access** in the Nested Context\ → The user will not see any content, even if they can manage settings. This allows you to create roles such as: * **Billing Manager** → Can access subscription and invoices, but sees no content. * **Division Admin with Viewer content role** → Can manage users in a division but only view its content. * **Division Admin with Manager content role** → Can manage users and fully manage content within assigned divisions. ## Invite a User [Section titled “Invite a User”](#invite-a-user) 1. Go to **Settings → User Management** 2. Click **Invite user** 3. Enter the email address 4. Configure: * Administrative role (if needed) * Group membership * Content access and role 5. Send invite Most users should remain **Regular users** and receive access through groups. Note Users can also be invited with **organization-level read access only**, without granting access to any specific content. This is useful for giving someone visibility into the organization without access to projects or sites. ## Edit a User [Section titled “Edit a User”](#edit-a-user) 1. Open **Settings → User Management** 2. Select the user 3. Update: * Administrative role * Group membership * Content access 4. Save ## Remove a User [Section titled “Remove a User”](#remove-a-user) 1. Open **Settings → User Management** 2. Click **Remove user** The user immediately loses access to the organization and its content. If you remove a user from a group only, they may still retain access if they have other assignments. # Alignment > Maintain spatial consistency across scans and datasets with automatic and manual layer alignment in the Composer Workspace. In the Composer Workspace, layer alignment helps maintain spatial consistency across scans and datasets, whether handled automatically or adjusted manually. ## Default Behavior [Section titled “Default Behavior”](#default-behavior) By default, an imported layer retains its original **global coordinates**. * If the layer is positioned more than **300 meters** away from the existing layers, a warning will appear. * In this case, RealityTwin automatically repositions the new layer closer to the other layers for better context. We strongly recommend using **control points during the scanning process** to guarantee that your layers align correctly without further adjustment. ## Manual Alignment [Section titled “Manual Alignment”](#manual-alignment) If a layer is not properly aligned, you can adjust it manually: 1. **Select the Layer** you want to align. 2. From the **top-center toolbar**, open the **Alignment Tool**. 3. A **handle** will appear in the scene, allowing you to move the layer directly in 3D space. 4. Use the **right-side panel** to: * Enter precise numeric values. * Increment **position** with arrows. * Adjust **rotation**. ![RealityTwin Manual alignment controls](/_astro/realitytwin-manual-alignment.DhXTsTZa_ZtRuOK.webp) Note * By default, only the **Up-axis rotation** (Z-axis) is enabled, as this is typically the only correction required. * Select the **More** option to unlock full rotation control across all axes # Clean Layer Tool > Use the Clean Layer tool in RealityComposer to remove unwanted objects and noise from scans without affecting underlying layers. The **Clean Layer** tool lets you remove unwanted parts of a blending layer by defining exclusion volumes. Unlike the [Clip Layer](/en/realitytwin/composer-workspace/clip-layer-tool/) tool, which controls what to keep, the Clean Layer tool defines what to **hide** — without affecting underlying layers. Note The Clean Layer tool only applies to **blending layers**. Floating layers (such as CAD models) render independently and are not affected by clean volumes. See [Managing Layers](/en/realitytwin/composer-workspace/managing-layers-1/) for details on layer types. *** ## How It Works [Section titled “How It Works”](#how-it-works) * A clean volume removes any data inside the defined region. * The removed region will appear empty, rather than falling back to a lower layer. * The Clean Layer tool is best suited for removing noise and unwanted objects from scans rather than controlling visibility order between layers. ## Example Scenario [Section titled “Example Scenario”](#example-scenario) Here’s a visual walkthrough: **Initial state** We added a **layer** that captured not only the facility but also some parked cars in the scan. These cars appear inside the dataset even though they are not relevant to the Twin. ![RealityTwin layer before cleaning](/_astro/realitytwin-how-it-works.BEWuLUJ6_1kfj0s.webp) **Defining the clean volume** We select the **layer** and draw a clean volume around the cars. This tells the system: *“For this layer, remove everything inside this defined region.”* ![RealityTwin clean volume around unwanted cars](/_astro/realitytwin-how-it-works-1.vdSqf-Xr_ZVUlF3.webp) **Result after cleaning** The clean volume removes the cars from the SLAM dataset. Unlike a clip volume, the cleaned area does not reveal underlying layers — it simply clears out the unwanted objects, leaving an empty space. ![RealityTwin layer after removing unwanted cars](/_astro/realitytwin-how-it-works-2.DH2ipB9k_2juyDN.webp) ## Typical Use Cases [Section titled “Typical Use Cases”](#typical-use-cases) * **Cleaning noise**: Remove stray points or overscan areas that leak outside the intended capture zone. * **Removing undesired objects**: Exclude equipment, scaffolding, or temporary structures that were unintentionally captured. * **Improving clarity**: Hide cluttered or overlapping regions to keep the Twin focused on relevant data. ## Clip Layer vs. Clean Layer [Section titled “Clip Layer vs. Clean Layer”](#clip-layer-vs-clean-layer) * **Clip Layer** — Shows only what’s inside the defined region. Affects visibility across layers and prioritization. * **Clean Layer** — Hides only what’s inside the defined region. Does **not** impact underlying layers. ## How to Use the Clean Layer Tool [Section titled “How to Use the Clean Layer Tool”](#how-to-use-the-clean-layer-tool) ### Adding a Clean Volume [Section titled “Adding a Clean Volume”](#adding-a-clean-volume) 1. **Select the layer** where you want to add a clean volume. * This can be done either by selecting the layer directly in the 3D scene or from the **left-side panel**. 2. From the **top-center toolbar**, select the **Clean Layer** tool. ![RealityTwin RealityComposer toolbar](/_astro/realitycomposer-toolbar-simplified.DW54lhEq_Z2wBVPP.webp) 3. **Choose the volume type**: * **Box** — Create a rectangular volume. * **Polygon** — Define a custom shape for more precise control. 4. **Draw the volume** directly in your Twin environment. Note Multiple clean volumes can be added per layer, and their effects will combine. ### Editing Clean Volumes [Section titled “Editing Clean Volumes”](#editing-clean-volumes) 1. **Select the layer** that contains the clean volume you want to edit. 2. You can select an existing volume either directly in the **3D scene** or from the **right-side panel**. 3. From there, you can: * **Move** or **resize** the volume. * **Delete** a volume if it is no longer needed. # Clip Layer Tool > Use the Clip Layer tool in RealityComposer to restrict layer visibility to specific regions, controlling which data takes priority across overlapping layers. The **Clip Layer** tool lets you restrict a blending layer’s visibility to specific regions. By defining clip volumes, you control exactly which parts of a layer are shown, and how overlapping layers interact with each other. Note The Clip Layer tool only applies to **blending layers**. Floating layers (such as CAD models) render independently and are not affected by clip volumes. See [Managing Layers](/en/realitytwin/composer-workspace/managing-layers-1/) for details on layer types. *** ## How It Works [Section titled “How It Works”](#how-it-works) By default, an entire layer is visible when added to a Twin. The Clip Layer tool lets you restrict visibility to specific regions, defined by a **Box** or **Polygon** volume. You can add as many clip volumes as needed per layer. * A clip volume defines a region where the layer will remain visible. * Areas outside of the clip volume will not be displayed. * When multiple layers overlap, the clip volume of a higher layer will **take priority** over lower layers. This means that the **order of your blending layers matters**: * If *Layer A* is on top of *Layer B* and you create a clip volume on a small region of *Layer A*, only that region will be visible from Layer A, while all other areas fall back to showing *Layer B*. ## Example Scenario [Section titled “Example Scenario”](#example-scenario) Imagine you scanned an entire facility composed of 2 layers. Two months later, you rescan a single room due to renovations: 1. You add this new scan as a third layer, placed above the existing layers. 2. Using the **Clip Layer** tool, you draw a polygon around the room. 3. The Twin will now display the updated room from Layer 3, while the rest of the facility continues to show Layers 1—2. This allows you to seamlessly update specific areas without reprocessing the entire site. Here’s a visual walkthrough: **Initial state** We added a new **Terrestrial Laser Scan (TLS) layer** on top of the existing ones. As we can see, there’s significant overlap in the middle of the scan, and the new layer introduces a lot of unwanted noise around the edges and impact the visual quality of the **SLAM** and **Drone** layer. ![RealityTwin overlapping scan layers before clipping](/_astro/realitytwin-example-scenario.ClM_NIJr_21XrVt.webp) **Applying the clip volume** Next, we select the **TLS Dataset layer** and add a clip volume. This tells the system: *“For this layer, only keep the central part of the scan, which is the area of interest.”* ![RealityTwin clip volume around the target area](/_astro/realitytwin-example-scenario-1.C58zqVBc_2mxBTY.webp) **Result after clipping** The clip volume now **takes priority** over the other layers. Only the defined central area from the TLS dataset is displayed, while overlaps are resolved and the surrounding noise is cropped out. ![RealityTwin scan layers after clipping](/_astro/realitytwin-example-scenario-2.DuHzdrqP_Z1vkiGi.webp) ## Typical Use Cases [Section titled “Typical Use Cases”](#typical-use-cases) * **Isolating target areas**: Focus only on the target area when scans capture unnecessary surroundings. * **Updating localized changes**: Add a new scan of a modified section and clip it in, leaving the rest untouched. * **Layer prioritization**: Explicitly define where newer or higher-quality data should appear. ## How to Use the Clip Layer Tool [Section titled “How to Use the Clip Layer Tool”](#how-to-use-the-clip-layer-tool) ### Adding a Clip Volume [Section titled “Adding a Clip Volume”](#adding-a-clip-volume) 1. **Select the layer** where you want to add a clip volume. * This can be done either by selecting the layer directly in the 3D scene or from the **left-side panel**. 2. From the **top-center toolbar**, select the **Clip Layer** tool. ![RealityTwin RealityComposer toolbar](/_astro/realitycomposer-toolbar-simplified.DW54lhEq_Z2wBVPP.webp) 3. **Choose the volume type**: * **Box** — Create a rectangular volume. * **Polygon** — Define a custom shape for more precise control. 4. **Draw the volume** directly in your Twin environment. Note Multiple clip volumes can be added per layer, and their effects will combine. ### Editing Clip Volumes [Section titled “Editing Clip Volumes”](#editing-clip-volumes) 1. **Select the layer** that contains the clip volume you want to edit. 2. You can select an existing volume either directly in the **3D scene** or from the **right-side panel**. 3. From there, you can: * **Move** or **resize** the volume. * **Delete** a volume if it is no longer needed. # Managing Layers > Build and refine your Twin in Composer by stacking layers, adjusting visibility, and managing order for a seamless composition experience. Layers in the Composer workspace allow you to build and refine your Twin by stacking multiple data bundles together, much like a volumetric Photoshop. You can add new layers, reorder them, adjust their appearance, and control their visibility while composing your space. *** ## Layer Types [Section titled “Layer Types”](#layer-types) The Composer organizes layers into two categories, visible in the left-side panel: ![RealityTwin RealityComposer Layers panel](/_astro/realitycomposer-layers-panel-floating-blending.CVZlA-cC_RgMTH.webp) ### Blending Layers [Section titled “Blending Layers”](#blending-layers) Blending layers are the default type for reality capture data (e.g., TLS, SLAM, drone scans). They participate in the environment composition: * They follow **layer order priority** — upper layers can mask or override lower ones. * They support the [**Clip Layer**](/en/realitytwin/composer-workspace/clip-layer-tool/) and [**Clean Layer**](/en/realitytwin/composer-workspace/clean-layer-tool/) tools for fine-grained visibility control. * They can be **reordered** by dragging and dropping in the left-side panel. ### Floating Layers [Section titled “Floating Layers”](#floating-layers) Floating layers render independently from the environment and are not affected by other layers. They are designed for reference and contextual data: * They **do not participate in clipping or cleaning** — the Clip Layer and Clean Layer tools do not apply. * They **do not override underlying layers** and always render on top. * **CAD layers are automatically classified as Floating Layers** when added to the Composer. Floating layers appear in a dedicated **Floating Layers** section at the top of the left-side panel. Since they render independently, their order relative to blending layers does not matter. Tip Use the **(?)** button next to the **Layers** heading in the left panel to open an in-app guide explaining how layer types work. ## Adding a New Layer [Section titled “Adding a New Layer”](#adding-a-new-layer) * Use the **Add new layer** button in the top-left corner of the Composer workspace. * A new browser tab will open, allowing you to select a **data bundle** to add to your Twin. * The selected data bundle must belong to the **same Site** as your Twin. * If no data bundles are available, see the [Uploading](/en/realityplatform/dataset-preparation-and-upload/upload-scans/) section to get started. ![RealityTwin Adding a new layer](/_astro/realitytwin-adding-a-new-layer.CdafMBvG_12saNc.webp) When selecting datasets to compose, each one shows the **visual representations it contains**, so you can confirm what will be available before adding it. ![RealityTwin RealityComposer dataset selection](/_astro/realitycomposer-select-datasets-to-compose.CipWDfD2_Z1qDQYg.webp) By default, the new layer positions itself according to the **global coordinates** of the data.\ If the new layer is misaligned with existing layers, Composer will prompt you to **recenter the layer** based on the others. Note If a new layer is added more than **1000 m** from the existing layers, Composer considers it too far and automatically repositions it closer so it stays within view of your composition. Once imported, the available representations are also visible from the left-side panel. For details on how representation priority and automatic fallback work, see [Visual Representations](/en/realitytwin/twin-workspace/navigating-the-twin/#visual-representations) in the Twin workspace documentation. ## Ordering Layers [Section titled “Ordering Layers”](#ordering-layers) **Blending layers** can be reordered from the **left-side panel** by dragging and dropping them into position. The order of blending layers defines how they interact with each other. Think of it like Photoshop: upper layers can clip or take priority over lower ones. Floating layers are not affected by ordering and always render independently. See the [Clip Layer](/en/realitytwin/composer-workspace/clip-layer-tool/) and [Clean Layer](/en/realitytwin/composer-workspace/clean-layer-tool/) tools for detailed examples of how order impacts your composition. ## View menu [Section titled “View menu”](#view-menu) Open the **View** menu at the top right of the Composer workspace to show or hide the **Minimap** — the same control available in [RealityTwin](/en/realitytwin/twin-workspace/navigating-the-twin/#minimap). Hide the minimap when you want a cleaner workspace without the navigation overlay. ## Adjusting Layers [Section titled “Adjusting Layers”](#adjusting-layers) Each layer offers several management options in the left-side panel: * **Visibility toggle** — Show or hide a layer for your own view. The **eye** button appears when you hover a layer, keeping the list uncluttered; a hidden layer keeps its eye showing so you can always bring it back. * Hiding only affects your current session. If you publish your Twin, hidden layers will still appear in the published composition. * Hiding is a way to **peek behind** a layer, not a way to remove it. The layers around it stay clipped exactly as they were, so what you see can differ from the composed result. * To take a layer out for good, [delete it](#removing-layers) instead. * **Change color** — Assign a distinct color to a layer to make alignment and masking easier. * **3D overview (bottom-right corner)** — A miniature view of your Twin showing how all layers fit together. ## Removing Layers [Section titled “Removing Layers”](#removing-layers) To remove a layer, open its **overflow menu** in the left-side panel and select **Delete**. Note Removing a layer from the Twin does **not** delete its data bundle. The data bundle remains available in your Site and can be re-added at any time. ## Saving and Publishing [Section titled “Saving and Publishing”](#saving-and-publishing) All changes made in Composer are **temporary** until you explicitly publish them. * Use **Publish** when you are ready to save your composition. * Publishing makes your changes visible to **all Twin users**. * Be cautious: publishing overwrites the existing composition. Concurrency Warning If multiple users are editing the composition at the same time, **the last user to publish will overwrite everyone else’s changes**. To avoid conflicts, coordinate with your team before publishing. # Adding & Editing Metadata > Enhance your RealityTwin entities with the metadata panel, supporting structured data, collaborative editing, and integration-linked properties for seamless management. The metadata panel lets you enrich any entity in RealityTwin with structured information, attachments, and integration-linked data in a consistent and collaborative way. *** The **metadata panel** is a unified system available across all entities in RealityTwin, including **RealityAssets** and **Points of Interest (POIs)**. It provides a consistent way to enrich entities with structured data, ensuring that every element of your Twin is backed with contextual information. ![RealityTwin Metadata panel](/_astro/realitytwin-twin-workspace-adding-editing-metadata.3dGg2FiF_Z8SPvr.webp) ## Asset Types and Predefined Properties [Section titled “Asset Types and Predefined Properties”](#asset-types-and-predefined-properties) When creating a **RealityAsset**, you can assign an **Asset Type** (see [Configuring Asset Types](/en/realityplatform/metadata-settings/metadata-types/) for details). * Choosing an Asset Type automatically populates the entity with all predefined properties associated with that type. * These properties can then be filled with values by the user. * To modify the definition of an Asset Type (so the changes apply to **all assets** of that type), you must edit the Asset Type directly from the **Asset Settings** panel. ## Ad-hoc Properties [Section titled “Ad-hoc Properties”](#ad-hoc-properties) In addition to predefined properties, you can add **ad-hoc properties** to a specific instance of an entity. * Ad-hoc properties only affect the selected instance. * They do not propagate to other entities of the same type. You can add ad-hoc **sections** and **properties** directly from the metadata panel. Note If you want a property to be standard across all assets of a type, you must edit the Asset Type configuration instead. ## Supported Property Types [Section titled “Supported Property Types”](#supported-property-types) The metadata panel supports a variety of property formats: * **Number** — numerical input (with unit support if configured). * **Short text** — free-form text input. * **Long text** - free-form text input. * **Attachment** — upload files (images, videos, PDFs open in-Twin; others require download). * **External link** — clickable hyperlink. * **Toggle (boolean)** — true/false switch. * **Dropdown** — select from predefined choices. *(Available only through Asset Type configuration, not ad-hoc).* * **Integration field** — automatically populated from an external system. *(Configured via Integration Links, not available ad-hoc.)* ## Editing Metadata [Section titled “Editing Metadata”](#editing-metadata) To edit metadata: 1. Select an entity from the **3D scene** or from the **left panel**. 2. The metadata panel appears on the right. 3. Update property values, add sections, or remove ad-hoc properties. 4. Changes are applied immediately and visible to all users. Note Editing metadata requires the appropriate permission. Editors also consume a license from the **RealityTwin Data Manager license pool** while the Twin is open (see [License Management](/en/realityplatform/organization-management/realitytwin-license/)). You can also change the **Asset Type** of a RealityAsset by opening the **overflow menu** (top-right of the panel). ![RealityTwin Asset type menu](/_astro/realitytwin-editing-metadata.ZxW5z2Pf_axWRg.webp) ## Collaborative Editing [Section titled “Collaborative Editing”](#collaborative-editing) Metadata editing is **collaborative** and updates in real time. * All users instantly see updates. * If two users edit the same property simultaneously, the **last write wins**. ## Integration-Linked Properties [Section titled “Integration-Linked Properties”](#integration-linked-properties) Some properties are connected to external data sources through **Integration Links** (see [Integration Links](/en/realityplatform/metadata-settings/metadata-types/#configuration-integration-fields)). * These fields show a **link icon**. ![RealityTwin Integration-linked metadata property](/_astro/realitytwin-integration-linked-properties.BrTFmwG0_2epF94.webp) * Values are populated automatically and cannot be edited manually. * Data refreshes each time the metadata panel is opened or by pressing the refresh button. * If the integration server is unavailable, a small **exclamation mark** appears next to the property. ![RealityTwin Integration-linked metadata property](/_astro/realitytwin-integration-linked-properties-1.gQ-jnaXY_hUvl8.webp) ## Attachments [Section titled “Attachments”](#attachments) For properties of type **Attachment**: * Use the **Upload** button to select files. * A **progress bar** indicates upload status. * If the upload fails, the progress bar turns **red**. * Supported preview types (images, video, PDFs) open directly inside the Twin. Example with a video: ![RealityTwin Attachment preview](/_astro/realitytwin-attachments.Cg6Zj23i_16BI1h.webp) * Other file types must be downloaded to view. ![RealityTwin Attachment preview](/_astro/realitytwin-attachments-1.BQ0sJpRd_27CNYo.webp) # Comments > Use Comments in RealityTwin and RealityPlan Web to collaborate in context — pin spatial comments, comment on entities, reply in threads, and mention teammates. Comments let you collaborate directly inside a space, keeping the conversation where the data lives instead of scattered across emails and chats. Comments replace the previous memo feature with a richer experience. *** ## What are comments? [Section titled “What are comments?”](#what-are-comments) Comments are a lightweight communication tool for **RealityTwin** and **RealityPlan Web** spaces. Use them to ask a question, flag something, or leave a note for the people you collaborate with — right where it matters in the 3D environment. Think of comments as conversation, not documentation. When you need structured, documented information — with defined fields and metadata — use a [Point of Interest](/en/realitytwin/twin-workspace/point-of-interest-poi/) or a RealityAsset instead. Comments are for the back-and-forth around that content. There are two kinds of comments: * **Spatial comments** — pinned to a location in the 3D scene. * **Entity comments** — attached to an entity, such as a RealityAsset. ## The comments panel [Section titled “The comments panel”](#the-comments-panel) Open the comments panel from the **comment button in the toolbar**. This is the main entry point: it lists every comment in the space — both spatial and entity comments — with entity comments marked by a small indicator icon. ![Comments panel opened from the toolbar, listing spatial and entity comments](/_astro/realitytwin-comments-panel.DImKqaFY_ZOjxxO.webp) From the panel you can: * Add a spatial comment with **Add new comment to scene**. * **Teleport to** a comment’s location to see it in context. * Open a comment’s full thread with **See more**, where you can **reply**, **mark it as resolved**, or **delete** it. ## Adding a comment [Section titled “Adding a comment”](#adding-a-comment) ### Spatial comment [Section titled “Spatial comment”](#spatial-comment) 1. Open the comments panel from the toolbar. 2. Select **Add new comment to scene** and place it on the location you want to discuss. 3. Write your message and post it. A spatial comment appears as a square marker pinned in the scene, so collaborators see it in context. ![A spatial comment shown as a round marker in the scene](/_astro/realitytwin-spatial-comment.JAO8EG1N_Z25fYzu.webp) ### Entity comment [Section titled “Entity comment”](#entity-comment) 1. Select an entity, such as a RealityAsset. 2. In the **metadata panel** on the right, open the **Comments** tab (next to Metadata and Related). 3. Select **New comment**, write your message, and post it. Entity comments also appear in the main comments panel, marked with a small indicator. ![Entity comment in the Comments tab of the metadata panel](/_astro/realitytwin-entity-comment.CqNvovOa_2iAWws.webp) ## Writing, formatting, and mentions [Section titled “Writing, formatting, and mentions”](#writing-formatting-and-mentions) * **Format your text** with rich text — headings, **bold**, *italic*, strikethrough, and nested lists — and **add links**, so a comment can carry context, references, and next steps. * **Reply in a thread** to keep a discussion together instead of creating separate comments. * **Mention a teammate with `@`** — start typing a name and pick the person from the suggestions. You can only mention users you’re allowed to see, based on your permissions. ![Rich-text formatting in a comment: headings, bold, italic, strikethrough, lists, and links](/_astro/realitytwin-comment-formatting.8MS_05Gd_V9hkh.webp) ### Getting notified about mentions [Section titled “Getting notified about mentions”](#getting-notified-about-mentions) When you mention someone, they are notified in the RealityPlatform notification center, and by email if they have that turned on. Each person chooses what reaches them from the **Comments** section of their [notification settings](/en/realityplatform/getting-started/notifications/). ## Resolving comments [Section titled “Resolving comments”](#resolving-comments) Instead of deleting a comment, you can **mark it as resolved**. This keeps a record of the discussion while letting you filter resolved comments out of view, so the space stays uncluttered without losing the history. ## Permissions and collaboration [Section titled “Permissions and collaboration”](#permissions-and-collaboration) Comments follow the same [permissions](/en/realityplatform/user-management/roles-permissions/) model as the rest of your content — what a user can see and do depends on their role. Because comments live in the space and are shared with everyone who has access, they’re a natural way to coordinate inspections, flag issues, and hand off work without leaving the viewer. ## Live users [Section titled “Live users”](#live-users) When teammates are in the same space at the same time, their profile pictures appear in the top-right corner, so you can see who you’re collaborating with in real time. ![Live users shown by their profile pictures in the top-right corner](/_astro/realitytwin-live-users.Dg-uU7Ma_Z25O6vI.webp) # Creating RealityPlan Project from Twin > Create RealityPlan projects from your Twin effortlessly, capturing snapshots for design and planning. Start editing on desktop and preview online! RealityTwin now allows you to create **RealityPlan projects directly from your Twin**, making it easy to start new design or planning projects from the **current source of truth**. This workflow captures a snapshot of your Twin’s composition and turns it into a RealityPlan project. *** ## How to Create a RealityPlan Project [Section titled “How to Create a RealityPlan Project”](#how-to-create-a-realityplan-project) 1. Open your Twin. 2. Go to **File → Create RealityPlan Project**. 3. Enter a **name** for the new project. 4. Select the **Area** you want to use for the project. 1. The **Area** dropdown allows you to choose: 1. **Whole Twin** — includes the entire digital twin. 2. **A specific Zone** — includes only the content within the selected zone boundaries. 5. Select the **project type**. ![RealityTwin Create RealityPlan Project action](/_astro/realitytwin-how-to-create-a-realityplan-project.BgYBKqa8_ZWaDh2.webp) ## Creating a Project from a Zone [Section titled “Creating a Project from a Zone”](#creating-a-project-from-a-zone) You can also create a project directly from a Zone. 1. Select a **Zone** in your Twin. 2. Use the **Create RealityPlan Project** option. 3. The **New RealityPlan Project** modal will open. 4. The **Area field will automatically be set to the selected Zone**. This ensures the new project only contains the relevant context inside that Zone. ![RealityTwin Creating a project from a zone](/_astro/realitytwin-creating-a-project-from-a-zone.BZghZaNU_20dPPT.webp) ## Project Types [Section titled “Project Types”](#project-types) * **Full Web (coming soon)**\ *Grayed out for now, flagged as “Coming Soon”*. * Fully web-based editing. * Supports **real-time collaboration** with multiple users. * No desktop installation required. > **Important:** These projects will not be accessible from the desktop application. * **Edit on Desktop, Preview on Web** * Current workflow available today. * Use the **RealityPlan Desktop application** for editing and layout creation. * Use the **web version** in viewer mode for design reviews. > **Note:** This type of project will never support web editing (only view). ## Project Availability [Section titled “Project Availability”](#project-availability) * Once created, the new **Project Card** will appear on your site. * If “Edit on Desktop” was selected, you can **download or stream the data** from the **RealityPlan Hub**. * See [RealityPlan Hub documentation](/en/realityplan/getting-started/realityplan-hub-overview/) * A dedicated icon in the Hub helps you identify projects created from RealityComposer.![RealityTwin Project availability](/_astro/realitytwin-project-availability.g-y0y7Wv_Z1AbEFO.webp) # Draft Mode > Use Draft Mode in the Twin Workspace to batch-create, edit, and delete RealityAssets and metadata without impacting other users until you publish. Draft Mode lets you make changes to your Twin without affecting other users. You can create, edit, and delete RealityAssets and metadata in an isolated draft, then review and publish all changes at once when ready. *** ## Why Use Draft Mode [Section titled “Why Use Draft Mode”](#why-use-draft-mode) When multiple changes need to happen together, such as reorganizing assets, updating metadata across many items, or cleaning up outdated records, Draft Mode lets you work freely without disrupting the live Twin that others are viewing. Changes only become visible to other users after you explicitly publish them. ## Entering Draft Mode [Section titled “Entering Draft Mode”](#entering-draft-mode) To enter Draft Mode, click the **Edit** button in the top-right area of the Twin Workspace toolbar. ![RealityTwin Draft mode edit button](/_astro/realitytwin-draft-mode-edit-button.yGqdkUEQ_Z2rW38K.webp) Once activated, two visual indicators confirm you are in Draft Mode: * A purple **DRAFT MODE** badge appears in the header bar. ![RealityTwin Draft mode header badge](/_astro/realitytwin-draft-mode-header-badge.B-ux6ZRV_ZEbxiF.webp) * A purple banner reading **“You are currently in draft mode”** appears below the toolbar, along with **Review and publish** and **Exit draft** buttons. ![RealityTwin Draft mode banner](/_astro/realitytwin-draft-mode-banner.DZ45aq7b_1YITGq.webp) ## What You Can Do in a Draft [Section titled “What You Can Do in a Draft”](#what-you-can-do-in-a-draft) While in Draft Mode, you can: * **Create** new RealityAssets and Points of Interest * **Edit** existing RealityAssets (geometry, properties) * **Delete** RealityAssets and Points of Interest * **Modify metadata** on any entity All changes are tracked and isolated to your draft. Other users continue to see the live version of the Twin. ## Reviewing and Publishing [Section titled “Reviewing and Publishing”](#reviewing-and-publishing) When you are ready to apply your changes, click **Review and publish** in the toolbar. A dialog opens showing all pending changes: ![RealityTwin Draft mode publish review](/_astro/realitytwin-draft-mode-publish-review.pabHT38p_Z1FdQmH.webp) Each changed item is listed with a status badge: * **Added** (green) — newly created items * **Modified** (blue) — existing items that were edited * **Removed** (red) — items deleted in the draft You can select or deselect individual items using the checkboxes, and use the overflow menu on each item for additional options. The bottom of the dialog shows the count of unchanged items for reference. Once you confirm, selected changes are published to the live Twin and become visible to all users. ## Exiting Draft Mode [Section titled “Exiting Draft Mode”](#exiting-draft-mode) Click the **Exit draft** dropdown in the toolbar to see your options: ![RealityTwin Draft mode exit options](/_astro/realitytwin-draft-mode-exit-options.DpnZWMzN_22AdIi.webp) * **Exit draft** — Leave Draft Mode but keep your changes. You can return later to continue editing or publish. * **Discard draft** — Permanently delete all draft changes and return to the live Twin. ## Permissions [Section titled “Permissions”](#permissions) Draft Mode requires specific permissions within the RealityTwin context: * **Create / Edit / Clear / Delete a Draft** — Allows the user to enter Draft Mode and make changes. * **Publish a Draft** — Allows the user to publish draft changes to the live Twin. Contact your organization administrator to ensure the appropriate roles are assigned. Note Each Twin supports **one active draft at a time**. Multiple users can work within the same draft concurrently. # Measuring Tools > Accurately measure distances, areas, diameters, and coordinates in your 3D environment with RealityTwin's powerful measurement tools. RealityTwin provides a set of measurement tools to help you extract accurate information directly from your 3D environment. You can take distance, area, diameter and coordinates measurements. *** ## Temporary vs. Persisted Measurements [Section titled “Temporary vs. Persisted Measurements”](#temporary-vs-persisted-measurements) By default, all measurements are created as **temporary entities**. This means: * They are only visible to you. * They are not saved in the Twin. * They will disappear if you refresh the page. This prevents creating unnecessary noise when multiple users are working in the same environment.\ If you want to make a measurement available to others, you can **persist** it using the left-side panel. Persisted measurements are stored in the Twin and visible to all users. ![RealityTwin Temporary vs persisted measurements](/_astro/realitytwin-temporary-vs-persisted-measurements.t3YG0JWG_dsfKu.webp) ## Simple measure [Section titled “Simple measure”](#simple-measure) To **measure a distance:** 1. Select the simple measure tool in the toolbar, 2. Place the two points of the measure on your environment ![RealityTwin Simple measure](/_astro/realitytwin-simple-measure.BTpodliO_Z1mRSMU.webp) Note * Like any tool, you can move while placing the measure tool by pressing `mouse right-click` & `mouse middle-click` . See navigation controls. * You can **delete** a measure by selecting it and pressing `Delete` key ## **Find Coordinates** [Section titled “Find Coordinates”](#find-coordinates) The **Find coordinates** tool lets you inspect the **XYZ coordinates** of any point in the environment. * Its main purpose is to **validate that the environment reflects the correct global coordinate system** (e.g., verifying that imported scans align to georeferenced coordinates). * It can also be used when positioning objects or referencing external plans that rely on coordinate data. ![RealityTwin Find coordinates](/_astro/realitytwin-find-coordinates.m6Up5p6q_Z1gz0Rs.webp) ## Area measurement [Section titled “Area measurement”](#area-measurement) The area measure tool allows you to accurately **measure** the **surface** of a closed area, the **angles** between the sides of the area and the **sides length**. ![RealityTwin Area measurement](/_astro/realitytwin-area-measurement.CYCbiKvX_ZNMaMA.webp) * You must **close the measure loop** for the area surface to show. * Area measures are not editable and therefore need to be deleted if you wish to change them. ## **Diameter measurement (pipe measurement)** [Section titled “Diameter measurement (pipe measurement)”](#diameter-measurement-pipe-measurement) The diameter measure tool allows you to accurately **measure** the **diameter** of cylindrical objects such as **pipes**. ![RealityTwin Diameter measurement pipe measurement](/_astro/realitytwin-diameter-measurement-pipe-measurement.Cobnz7A7_Z17Gj6u.webp) To measure a diameter, place your mouse cursor over the object you wish to measure, wait a few seconds for the measure to appear and simply `mouse left-click` to confirm the measure. * The accuracy of the diameter measure **depends on the quality of the mesh** being measured. Having higher quality may yield better results. * For accurate measures we recommend placing the cursor over a **clean surface**. * If a measure fails, a red dot will appear. Try placing your cursor on a different location. * Diameter measures are not editable and therefore need to be deleted if you wish to change them. ## Orthogonal measurement [Section titled “Orthogonal measurement”](#orthogonal-measurement) The orthogonal measure tool allows you to measure the shortest distance between a point and a surface or between a point and an edge. This is useful when evaluating clearances, validating alignments, or checking perpendicular The orthogonal measure tool allows you to measure structured offsets on two axes: * **Vertical offset** (up or down), * **Horizontal offset** along the **floor plane (X/Z plane)**. Instead of measuring a free point-to-point distance, this tool snaps the measurement to an orthogonal direction based on the reference point’s plane. This is useful for checking level differences, heights, horizontal clearances, and distances projected onto the floor. To take an orthogonal measurement: * Select the orthogonal measure tool in the toolbar * Define the reference plane * Click to place a **first** point of your reference plane * Click to place a **second** point of your reference plane * Hover over the target point click again to confirm the perpendicular measurement. ![RealityTwin Orthogonal measurement](/_astro/realitytwin-orthogonal-measurement.CC23lg2F_ZVI0yV.webp) # Merge Layout from RealityPlan > Bring RealityPlan layouts into a RealityTwin draft, review added, modified, and removed objects, then publish them to keep your Twin as the single source of truth. Merge Layout closes the loop between RealityPlan and RealityTwin. After designing a layout in RealityPlan, including imported 3D models, primitives, and environment cuts, you can pull those changes into a [Draft](/en/realitytwin/twin-workspace/draft-mode/), review what was added, modified, or removed, and publish them so your Twin stays the single source of truth. *** ## When to Use Merge Layout [Section titled “When to Use Merge Layout”](#when-to-use-merge-layout) Teams often plan and design across multiple RealityPlan projects. Merge Layout lets you consolidate that design intent back into the Twin, so the live model reflects the latest real-world or planned state. The end-to-end workflow is: **RealityTwin → RealityPlan → Layout → Twin Draft → Merge Layout → Publish Twin** You can bring changes from a single layout, or combine changes from multiple layouts into the same draft before publishing. Note Merge Layout works on layouts that originate from RealityPlan projects created from your Twin. See [Creating a RealityPlan Project from Twin](/en/realitytwin/twin-workspace/creating-realityplan-project-from-twin/). ## 1. Author the Layout in RealityPlan [Section titled “1. Author the Layout in RealityPlan”](#1-author-the-layout-in-realityplan) In the RealityPlan desktop application, build your layout as usual. This can include importing 3D models from the Asset Library, adding primitives, and performing environment cuts. ![A layout authored in RealityPlan, including imported tank models and environment cuts](/_astro/realitytwin-merge-layout-realityplan-authoring.CE71HLC6_Trh9U.webp) ## 2. Publish the Layout to the Web [Section titled “2. Publish the Layout to the Web”](#2-publish-the-layout-to-the-web) Publish the layout so it becomes available online. During this step, you may see a **Layout publication summary** with a **Processing** status while 3D models are optimized to run smoothly in the web viewer. You can close the window and continue, models will appear once processing is complete. ![Layout publication summary showing per-object processing status and an upload-succeeded confirmation](/_astro/realitytwin-merge-layout-publication-summary.CUnM1vUe_ZAaDTx.webp) ## 3. Open a Draft and Find the RealityPlan Tool [Section titled “3. Open a Draft and Find the RealityPlan Tool”](#3-open-a-draft-and-find-the-realityplan-tool) Open your Twin and enter [Draft Mode](/en/realitytwin/twin-workspace/draft-mode/). Two tools become available in the left side panel that are only visible while in a draft: * **RealityPlan updates** — browse and merge changes from RealityPlan layouts. * **Publish Review** — review and publish the draft to the live Twin. ![Left side panel in Draft Mode highlighting the RealityPlan updates and Publish Review tools](/_astro/realitytwin-merge-layout-side-panel-icon.Bx48-HQB_Z1VyFTu.webp) Note The RealityPlan updates tool only appears in Draft Mode. It is not shown in the published, live view of the Twin. ## 4. Browse to the Project and Layout [Section titled “4. Browse to the Project and Layout”](#4-browse-to-the-project-and-layout) Open the **RealityPlan updates** tool to see a searchable list of RealityPlan projects, each showing its name, creation date, and last-edited date. Select a project to see its layouts, then select the layout you want to merge. ![Layout list panel showing the layouts available within the selected RealityPlan project](/_astro/realitytwin-merge-layout-select-layout.B6mlzLKR_ZpljqG.webp) ## 5. Review and Select the Changes [Section titled “5. Review and Select the Changes”](#5-review-and-select-the-changes) Once a layout is selected, every object that differs from the current published Twin is listed with a change-status badge: * **Added** — objects created in the layout that do not yet exist in the Twin. * **Modified** — objects that already exist in the Twin and were edited. * **Removed** — objects deleted in the layout. All items are selected by default. You can bulk-import every change, or use the checkboxes to select only the ones you want. You can also repeat this process for additional layouts to combine changes from several layouts into the same draft. ![Asset review panel listing nine added objects from the layout, all selected for merge](/_astro/realitytwin-merge-layout-asset-review.CsJic6gw_Z2bDma3.webp) Supported objects include RealityAssets, Points of Interest, primitives and their materials, and 3D models from the Asset Library. Note Objects that originate from RealityPlan Web display a small tag in the hierarchy. These entities can only be edited in RealityPlan Web, but they can be deleted from the Twin once merged. ## 6. Preview the Changes in the Viewer [Section titled “6. Preview the Changes in the Viewer”](#6-preview-the-changes-in-the-viewer) Merged objects appear directly in the Twin viewer while you remain in Draft Mode, so you can verify placement and appearance before publishing. Other users continue to see the live Twin until you publish. ![Twin viewer in Draft Mode previewing the merged tank objects](/_astro/realitytwin-merge-layout-viewer-preview.WUEalg5s_GUmrx.webp) ## 7. Review and Publish [Section titled “7. Review and Publish”](#7-review-and-publish) When you are ready, select **Review and publish** in the draft toolbar. ![Review and publish and Exit draft buttons in the draft toolbar](/_astro/realitytwin-merge-layout-review-publish-button.B-trcdhb_2qCQ5k.webp) The **Publish changes to RealityTwin** window opens, listing every change you are about to publish with its status badge. This is your final revision step, confirm or deselect items, then publish. ![Publish changes to RealityTwin window listing the selected changes and unchanged item count](/_astro/realitytwin-merge-layout-publish-changes.9uiDXBkH_2cb7eJ.webp) Once published, your changes go live for everyone, keeping your Twin up to date. ## Alternative: Rescan and RealityComposer [Section titled “Alternative: Rescan and RealityComposer”](#alternative-rescan-and-realitycomposer) Merging a layout is one way to keep your Twin current. Alternatively, you can partially rescan an area that changed and bring the new data into your Twin using the [RealityComposer](/en/realitytwin/composer-workspace/managing-layers-1/) tools. # Navigating the Twin > Explore RealityTwin's immersive navigation modes, including Fly and Photosphere, for a rich, interactive experience in your environment. The RealityTwin allows you to explore your space with multiple navigation modes. *** ## Navigation Menu [Section titled “Navigation Menu”](#navigation-menu) Located in the top-left corner of the screen, the **Navigation Menu** gives you access to various navigation modes: * **Fly** * **Third person** * **Photosphere** * **Home** ![RealityTwin Navigation menu](/_astro/realitytwin-navigation-menu.CG4A8Zx__kIVxK.webp) ## Fly Mode (default) [Section titled “Fly Mode (default)”](#fly-mode-default) This is the default state that allows you to use the tools and all the features of the application. You may navigate in the environment using the **navigation circle** that appears under your mouse. To **teleport** somewhere, simply `mouse click` on the spot of the environment you want to teleport to. You may also **rotate the view** by `holding and dragging the mouse cursor`. ![RealityTwin navigation circle in Fly mode](/_astro/realityplan-editor-mode-default.DE4HqpCC_Z22Rqon.webp) ### Controls [Section titled “Controls”](#controls) | Action | Input | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | Teleport | ![Left mouse button](/_astro/realityplan-editor-mode-default-2.Tms1rus2_ZTlmOc.webp) (mouse left double-click) | | Rotate the view | ![Left mouse button](/_astro/realityplan-editor-mode-default-2.Tms1rus2_ZTlmOc.webp) Hold and move mouse (mouse left-click) | | Rotate around pivot | ![Right mouse button](/_astro/realityplan-editor-mode-default-3.ClUUK1rL_Z27mHN.webp) Hold and move mouse (mouse right-click) | | Move/panning | ![Scroll wheel](/_astro/realityplan-editor-mode-default-4.DGLZ8EPG_10Xj1u.webp) Hold and move mouse (mouse middle click) | | Zoom in/out | ![Scroll wheel](/_astro/realityplan-editor-mode-default-4.DGLZ8EPG_10Xj1u.webp) (mouse scroll) | | Move | ![Arrow keys](/_astro/realityplan-explore-mode-2.CHV4wZyW_Z49aeW.webp) or ![WASD keys](/_astro/realityplan-explore-mode-3.D0KJq0Mj_1kEw7f.webp) | | Move faster | ![Shift key](/_astro/realityplan-explore-mode-4.twPkn3Uu_1qMYc7.webp) | | Move up | ![E key](/_astro/realityplan-explore-mode-7.470-slL7_10dHR6.webp) | | Move down | ![Q key](/_astro/realityplan-explore-mode-8.KnzFyi_6_Z1sba0v.webp) | ## Third Person Mode [Section titled “Third Person Mode”](#third-person-mode) Third Person Navigation allows you to explore the environment using your avatar as a visual reference within the 3D space. Instead of navigating from a first-person perspective, the camera follows your avatar from behind. You can activate Third Person mode from the **Navigation Menu** located in the top-left corner of the screen. | Action | Input | | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | Walk towards | ![Left mouse button](/_astro/realityplan-editor-mode-default-2.Tms1rus2_ZTlmOc.webp) (mouse left double-click) | | Rotate the view | ![Left mouse button](/_astro/realityplan-editor-mode-default-2.Tms1rus2_ZTlmOc.webp) Hold and move mouse (mouse left-click) | | Zoom in/out | ![Scroll wheel](/_astro/realityplan-editor-mode-default-4.DGLZ8EPG_10Xj1u.webp) (mouse scroll) | | Move | ![Arrow keys](/_astro/realityplan-explore-mode-2.CHV4wZyW_Z49aeW.webp) or ![WASD keys](/_astro/realityplan-explore-mode-3.D0KJq0Mj_1kEw7f.webp) | | Move faster | ![Shift key](/_astro/realityplan-explore-mode-4.twPkn3Uu_1qMYc7.webp) | | Jump | ![Spacebar](/_astro/realitytwin-third-person-mode.BFxxPZgO_5d1mI.webp) | | Crouch | ![Control key](/_astro/realitytwin-third-person-mode-1.B3snPXV9_Z1q6NS6.webp) | ## Photospheres Mode [Section titled “Photospheres Mode”](#photospheres-mode) **Photosphere Navigation** allows you to explore the site through high-resolution 360° imagery captured by scanners. It’s ideal for inspection, review, and providing realistic visual context tied to specific capture stations. Photospheres are not just static images, they fully support: * **RealityAsset & 3D objects** overlays * **Measurements** for quick verification * **Annotations** to document and share insights These elements blend directly into the imagery, creating a **rich and realistic environment** that feels immersive and interactive. ![RealityTwin Photospheres mode](/_astro/realitytwin-photospheres-mode.WtK95wHH_j6MwW.webp) Movement in Photosphere mode is **limited to scanner station positions**. You can jump between them by selecting visible hotspots or station markers. ### Controls [Section titled “Controls”](#controls-1) | Action | Input | | ----------------------- | --------------------------------------------------------------------------------------------------------------------------- | | Jump to another station | ![Left mouse button](/_astro/realityplan-editor-mode-default-2.Tms1rus2_ZTlmOc.webp) (mouse left-click) | | Rotate view | ![Left mouse button](/_astro/realityplan-editor-mode-default-2.Tms1rus2_ZTlmOc.webp) Hold and move mouse (mouse left-click) | ## Minimap [Section titled “Minimap”](#minimap) The **Minimap** in RealityTwin is a spatial awareness tool located in the **lower-left corner** of the interface. It provides a real-time top-down view of your Twin, helping you maintain orientation and better understand your position within the larger environment. ![RealityTwin Minimap](/_astro/realitytwin-minimap.BQq2itnm_1W9GJW.webp) You can toggle the minimap’s visibility from the **View Menu**: 1. Open the **View Menu** (located at the top right of the interface). 2. Enable or disable the **Minimap** based on your preference. ## Visual Representations [Section titled “Visual Representations”](#visual-representations) A Twin or Plan often combines several datasets, and each dataset can include more than one visual representation of the same data — for example a Mesh, a Point Cloud, or a Gaussian splat. Rather than displaying every representation at once, a **priority order** decides which one to show for each dataset. ### How priority works [Section titled “How priority works”](#how-priority-works) * Representations follow a ranked priority order. The default is **Mesh > Point Cloud > Gaussian splat**. * Every dataset in the scene is displayed at the same time, each using the **highest-priority representation it actually has**. * If a dataset does not have the top-priority representation, it automatically falls back to the next available one in the order — for that dataset only. **Example:** with a priority of Mesh > Point Cloud, you load two datasets together. Dataset A has both a mesh and a point cloud; Dataset B has only a point cloud. The viewer shows Dataset A as a **mesh** (its highest available representation) and Dataset B as a **point cloud** (it has no mesh, so it falls back) — and both render together in the same scene. Note Fallback is automatic, so every dataset always shows its best available representation. There is nothing to turn on or off. ### Reordering representation priority [Section titled “Reordering representation priority”](#reordering-representation-priority) You can change the priority order from the **Views** panel: * **Drag and drop** a representation up or down to raise or lower its rank, or * Open the **overflow menu** (⋮) on a representation and select **Move up** or **Move down**. ![RealityTwin Views reorder representations](/_astro/realitytwin-views-reorder-representations.E9oKFbuS_ZSbglT.webp) The order applies to all datasets in the current Twin or Plan — each one updates to display the highest-priority representation it has available. ### Hiding a representation [Section titled “Hiding a representation”](#hiding-a-representation) A representation can also be hidden on its own, which is useful for comparison — hide the mesh to inspect the CAD underneath, or hide everything but the point cloud to judge capture quality. * Hover a representation and click the **eye** button on its row. * A hidden representation keeps a barred eye on its row, so you can tell at a glance what is hidden. Click it to bring the representation back, or use the **reset** button next to the **Views** title to restore every representation at once. Note Hiding lasts only while the space stays open. Reopening it brings every representation back — this is a viewing aid, not a way to change what a project contains. ### CAD and Photosphere Overlays [Section titled “CAD and Photosphere Overlays”](#cad-and-photosphere-overlays) CAD and Photosphere layers operate as binary overlays that can be toggled On or Off independently. They are **not** part of the representation priority system and are not affected by the priority order. ## Performance and Fidelity Mode [Section titled “Performance and Fidelity Mode”](#performance-and-fidelity-mode) RealityTwin adjusts how the scene is rendered based on your hardware so navigation stays smooth while preserving visual quality where your machine allows. ### Automatic detection [Section titled “Automatic detection”](#automatic-detection) When you open a Twin, RealityTwin automatically detects your hardware and selects the quality mode that best balances responsiveness and visual quality. You can override this choice at any time — see [Manual modes](#manual-modes) below. ### Manual modes [Section titled “Manual modes”](#manual-modes) You can also set the rendering quality yourself from the **View → Quality** menu: * **Performance** — lightweight rendering that favors responsiveness. A **Recommended** chip marks the mode that best fits your current hardware. * **High fidelity** — higher visual quality for more capable hardware. * **Ultra high fidelity** — maximum visual quality for high-end, GPU-accelerated machines. * **Reset to recommended** — return to the mode RealityTwin suggests for your setup. ![RealityTwin Performance and fidelity quality menu](/_astro/realitytwin-performance-fidelity-quality-menu.DWs0LYd7_Zw8ijC.webp) Note These quality modes apply within RealityTwin. If your machine has a capable GPU but it is not being used (for example, you see a **No-GPU** indicator), see [Performance Tips](/en/realityplatform/getting-started/performance-tips/) for how to enable GPU acceleration in your browser. ## View settings [Section titled “View settings”](#view-settings) The **View** menu at the top of the workspace gathers the settings that change how a space is displayed, without altering the space itself or what other users see. | Setting | What it does | | -------------------- | ------------------------------------------------------------------------------------------ | | **Minimap** | Shows or hides the top-down orientation map — see [Minimap](#minimap). | | **Copy view link** | Copies a link that reopens the space from your current viewpoint. | | **Quality** | Sets the rendering quality — see [Manual modes](#manual-modes). | | **Skybox** | Changes the environment background — see below. | | **Clip environment** | Hides everything outside a box you place in the scene — see [Clipping box](#clipping-box). | ### Skybox [Section titled “Skybox”](#skybox) The **skybox** is the environment background drawn behind a space. Pick one from **View → Skybox**: **Default**, **Pure**, **Warm**, **Cool**, **Blue**, or **Dark blue**. A lighter skybox helps when a dark background hides a pale model, or when you want a neutral backdrop for a screenshot going into a report. ![The Skybox submenu open under the View menu, with Default selected](/_astro/realitytwin-skybox-default.BQfAtTgv_2aY7vV.webp) ![The same space with the Cool skybox applied, giving a lighter, neutral backdrop](/_astro/realitytwin-skybox-cool.dmO98-OO_bm4F4.webp) Note The skybox is a viewing preference, not project data. Your choice is saved in the browser you are using, so it applies to every space you open there but does not follow you to another computer or browser — and teammates opening the same space keep their own setting. ### Clipping box [Section titled “Clipping box”](#clipping-box) A **clipping box** hides everything outside a box you place in the 3D scene, so you can see inside a structure without hiding layers or entities one by one. Open the **View** menu and select **Clip environment**. The entry carries its current state under the label — **Disabled** until a cut is in place — so you can tell at a glance whether the space is clipped. ![The View menu open, with Clip environment at the bottom showing Disabled under its label](/_astro/realitytwin-clipping-box-view-menu.BtGk6RiP_1JWHxh.webp) The box appears around the space with a move and rotate handle at its centre, and the **Edit clipping box** panel opens on the right. Shape it either way: * Drag the handles in the viewport to move and rotate the box. * Use the panel: **Width**, **Height**, and **Depth** under **Size**, and **X**, **Y**, and **Z** under **Position**. Type a value, drag a slider, or step a position with the arrow buttons on either side of it. **Reset** puts the box back to how it started and is greyed out while the box still spans the whole space, **Remove** deletes the box, and **Confirm** applies the cut. ![The Edit clipping box panel, with Width, Height and Depth sliders under Size, X, Y and Z fields under Position, and Reset, Remove and Confirm at the bottom](/_astro/realitytwin-clipping-box-edit-panel.Cv_Q45vO_Z2dm1S1.webp) Once a clip is active, a **Clipping active** badge appears next to the navigation modes. Click the badge to reopen the box for editing, where it reads **Editing clipping box** instead. ![The Clipping active badge next to the Perspective, Photo view, and Isometric navigation modes](/_astro/realitytwin-clipping-box-badge-active.DdVi50c__ZoDGcW.webp) ![The same badge reading Editing clipping box while the box is open for editing](/_astro/realitytwin-clipping-box-badge-editing.CpLB4Nb9_Z1dkEbc.webp) Once a box exists, selecting **Clip environment** again switches the cut off. The whole space comes back and the box is kept, so selecting it once more restores the same cut. Caution A clipping box is temporary and cannot be saved. It is discarded every time you leave the space, so a space always opens unclipped and you will need to place the box again. Within a session, switch **Clip environment** off instead of using **Remove** if you want to come back to the same cut. Note Like the other view settings, a clipping box only changes what you see. It does not alter the space or affect what teammates see, and it is not included when you copy a view link. ## Tool settings [Section titled “Tool settings”](#tool-settings) The **Tool** menu sits next to **View** and gathers the settings that constrain how you manipulate what a space contains. | Setting | What it does | | ------------------------------- | ----------------------------------------------------------------------------------------------------------------- | | **Vertical axis rotation only** | Restricts rotation handles to the vertical axis (Alt+R). Greyed out while the scene shows no handle to constrain. | # Organizing Entities > Browse and organize everything in a RealityTwin or RealityPlan Web space from the Hierarchy panel — group by type, sort, build folders, work by zone, and toggle visibility. The Hierarchy panel is where you browse, structure, and find everything in a space. It offers several ways to look at your entities, and the modes work together — so you can use whichever fits the task at hand. *** ## The Hierarchy panel [Section titled “The Hierarchy panel”](#the-hierarchy-panel) Open the panel from the left of the workspace. It has two tabs: * **Hierarchy** — every entity in the space (3D models, measures, Points of Interest, RealityAssets, and more). * **Zones** — the same entities organized by the [zones](/en/realitytwin/twin-workspace/zones/) they physically fall within. Saved and unsaved entities appear together in one list, with unsaved (local) entities marked by a chip. Selecting an entity in the scene scrolls the list to it. Every saved entity also carries an ID. Hovering an entity’s icon shows that ID along with its kind and timestamps, and the entity’s contextual menu offers **Copy entity ID** — handy for pointing at one specific object in a support ticket or an API call. An unsaved entity has no ID to copy yet. ![Hovering an entity shows its kind, ID and timestamps, and its contextual menu offers Copy entity ID](/_astro/realitytwin-copy-entity-id.C_uVUxf3_2ifdaA.webp) ## Group by type and sort [Section titled “Group by type and sort”](#group-by-type-and-sort) In the **Hierarchy** tab you can change how the list is organized: * **Group by type** — the **Type** option groups entities by their kind (3D model, Length measure, Point of Interest, RealityAsset, …), with a count per group. * **Sort** — order entities by **Name** or by **Last updated**. ![Hierarchy grouped by entity type, with a count per group](/_astro/realitytwin-hierarchy-group-by-type.ze3PCJfP_QNAFX.webp) ## Folders [Section titled “Folders”](#folders) Switch between a **flat list** and a **folder structure** using the toggle at the top right of the panel. In folder view, select **+ New folder** and organize entities into a nestable folder hierarchy — group related items however makes sense for your workflow. ![Hierarchy in folder view with nested folders and entities](/_astro/realitytwin-hierarchy-folders.DdzrbYvM_1a5wEf.webp) ## Zones [Section titled “Zones”](#zones) On the **Zones** tab, zones can be **nested** inside one another, and every entity that physically falls within a zone’s boundaries is grouped under it automatically — computed from its location, with no manual assignment. See [Zones](/en/realitytwin/twin-workspace/zones/) to create and edit them. ![Zones tab showing nested zones with the entities inside each zone](/_astro/realitytwin-hierarchy-zones-nested.DGA4BjV2_Z9MBov.webp) ## Showing and hiding entities [Section titled “Showing and hiding entities”](#showing-and-hiding-entities) Use the **eye** button on a row to toggle whether an entity is shown in the scene. This is available on all major entities. ![Eye button on an entity row to toggle its visibility](/_astro/realitytwin-hierarchy-visibility-toggle.ChyD9NY4_Z1pzY6M.webp) Note RealityAssets show a visibility toggle, but hiding them isn’t supported yet — for now, the toggle has no effect on RealityAssets. ## Use the mode that fits [Section titled “Use the mode that fits”](#use-the-mode-that-fits) These views work together: group by type to audit what’s in a space, build folders for a curated structure, or switch to zones to work by physical area. Combine whichever modes suit the task at hand. # Point of Interest (POI) > Tag key locations in your 3D environment with customizable Points of Interest (POIs) for safety, navigation, and collaboration. Enhance your RealityTwin experience! Easily tag important spots in your 3D environment with POIs for quick reference, safety, and collaboration *** # What are Points of Interest (POIs)? [Section titled “What are Points of Interest (POIs)?”](#what-are-points-of-interest-pois) Points of Interest (POIs) are lightweight spatial tags that can be placed anywhere within the 3D environment. Unlike RealityAssets, which are defined by volumes or geometry, a POI is a simple pin in space. Each POI can be customized with: * **Color** and **icon**, to visually differentiate categories or types. * **Metadata**, allowing you to attach the same information you would with other entities (e.g., notes, documents, specifications, inspection records). This makes POIs ideal for marking key locations, annotating equipment, or creating navigational cues within your RealityTwin environment. # Creating a POI [Section titled “Creating a POI”](#creating-a-poi) You can define a Point of Interest directly from the toolbar. 1. **From the Tool** * Select **New Point of interest**. ![RealityTwin Creating a POI](/_astro/realitytwin-creating-a-poi.GoD0KzIp_2vLMq6.webp) 2. **Place the POI** * Click in the 3D environment to drop the POI at the desired location. * The pin will remain fixed in 3D space and can be repositioned as needed by clicking again. 3. **Customize Appearance** * Assign a **color** to help distinguish categories of POIs. * Choose an **icon** from the available library to represent the type of point (e.g., hazard, inspection, information). ![RealityTwin Creating a POI](/_astro/realitytwin-creating-a-poi-1.CO-TJYIr_1oUUv1.webp) 4. **Assign Metadata** * Just like RealityAssets, POIs can hold metadata. * Metadata allows you to enrich the POI with additional context such as technical notes, inspection results, or links to external systems. (See Configuring Metadata for details.) Quick Tips * Use **consistent colors and icons** across your organization to standardize POI usage. * Combine POIs with RealityAssets for a richer experience (e.g., attach a POI to indicate inspection priority on an asset). * Keep metadata concise but meaningful to maximize usability. # Managing POIs [Section titled “Managing POIs”](#managing-pois) * **Moving a POI**: Right-click the POI and select **Edit**. Click to a new position and press **Confirm**. * **Editing a POI**: Right-click the POI and select **Edit**. Change the icon or color and press **Confirm**. * **Deleting a POI**: Right-click the POI and select **Delete**. # Use Cases [Section titled “Use Cases”](#use-cases) * **Annotations**: Add notes or explanations directly in the 3D space. * **Safety Markers**: Highlight hazardous areas or restricted zones with warning icons. * **Navigation Aids**: Create waypoints to guide operators or visitors through a facility. * **Task Management**: Link inspection or maintenance records to precise locations. # Working with RealityAssets > Connect visual elements with data using RealityAssets, enhancing assets with custom properties and tools like multi-boxes and the Magic Wand for precise definition. RealityAssets connect visual elements with data, allowing users to define and refine assets using tools like multi-boxes and the Magic Wand. Users can enhance assets with custom properties, technical details. *** ## What are RealityAssets? [Section titled “What are RealityAssets?”](#what-are-realityassets) RealityAssets are the building blocks within our solution that holds the intelligence between the visual layer (ie. the mesh) and the underlying parameterization of the assets. On the visual front, users can spatially define assets of various shapes and sizes within the 3d environment using our toolbox ([Multi-boxes](/en/realityplan/tools/realityassets/#multi-boxes-creation) with turntable, [Pipes](/en/realityplan/tools/realityassets/#manual-pipe-creation) and [Magic Wand](/en/realityplan/tools/realityassets/#asset-magic-wand)). With user-defined [Asset Settings](/en/realityplatform/metadata-settings/metadata-types/), users can add any information needed to enrich the RealityAssets - from technical specifications, inspection information, user manuals, or links to other systems. ![RealityTwin RealityAsset overview](/_astro/realitytwin-what-are-realityassets.MIuE_dyq_wWqXJ.webp) ## Multi-boxes creation [Section titled “Multi-boxes creation”](#multi-boxes-creation) You can define an asset using the multi-boxes tool. From the toolbar, use the **Create RealityAsset**. You can add multiple boxes to define your asset. This allows for the selection of objects of any shape without limitation. The boxes can be moved and resized using handles. [](/videos/multibox.mp4 "Defining a RealityAsset with multiple boxes") The preview window allows you to see the content of your box from multiple points of view. Various points of view are supported, including Top, Front, Right, Isometric, and Orbit, providing comprehensive visualization options. Quick Tip Use the turntable to rotate around your asset by `left-clicking`, this will greatly improve the definition process. ## Manual Pipe creation [Section titled “Manual Pipe creation”](#manual-pipe-creation) You can define an asset using the manual pipe creation tool. From the toolbar, use the **Define Pipe RealityAsset**. How does it work? 1. Open the Tool, Navigate to the **Toolbar** and select **Define Pipe RealityAsset** to activate the manual pipe creation mode. 2. Click to place the starting point of your pipe. 3. Continue clicking to add subsequent points, creating the desired path of the pipe. 4. Once you’ve defined the path, adjust the pipe’s diameter. * Use the **Diameter Input Field** or the slider to set the pipe size. * Ensure the diameter fits your specific pipe. 5. Review the pipe’s path and diameter. 6. Click **Confirm** to finalize the pipe’s creation. [](/videos/pipe.mp4 "Defining a pipe RealityAsset") Quick Tips * If adjustments are needed **before** confirming * Select the pipe segment to modify. * Adjust points, angles, or the diameter as needed for precise alignment or sizing. * If adjustments are needed **after** confirming, use the Multi-Box Tool ### Creating Branches [Section titled “Creating Branches”](#creating-branches) The manual pipe creation tool also allows you to easily create branches, an essential feature for complex networks with multiple offshoots. To create a branch: 1. **Select a Handle**: Choose the desired handle on an existing pipe where you want to start the branch. Handles are visual cues that indicate points where extensions can be added. 2. **Extend a New Segment**: Define the new pipe segment from the selected handle to form a branch by clicking alongside the pipe. ![RealityTwin Creating branches](/_astro/realitytwin-creating-branches.Cy9rjR45_80foH.webp) ## Asset magic wand [Section titled “Asset magic wand”](#asset-magic-wand) You can define an asset using the Magic wand tool. From the toolbar, use the **Asset Magic Wand**. Hardware requirements The magic wand tool runs an AI segmentation model directly in your browser, which requires a high-end discrete GPU. The toolbar button is automatically disabled (with an explanatory tooltip) on unsupported hardware. **Supported GPUs:** NVIDIA RTX (all series), NVIDIA GeForce GTX 10-series, AMD Radeon RX 6000/7000/9000, AMD Radeon Pro W6/W7/Vega, and Apple Silicon (M1 and newer). **Not supported:** integrated graphics (Intel Iris Xe/UHD/Arc), older or entry-level GPUs, and mobile devices. How does it work? 1. Position yourself to face the object you want to select 2. Stand-still until the selection status turn green 3. A blue mask will appear under your mouse to see what can be selected 4. Press on the desired mask 5. Repeat until you have selected all the desired parts of your asset 6. Press *Next Step* Following your selection, multiple boxes will be created automatically to encompass the selected area. The next step will bring you back to the [multi-boxes](/en/realityplan/tools/realityassets/#multi-boxes-creation) workflow to fine-tune the boxes if needed. Quick Tip For better results, change point of view after each mask selection # Zones > Organize your Twin with Zones--user-defined 3D areas that enhance navigation, asset grouping, and data structure for improved workflow efficiency. Zones provide a powerful way to organize, structure, and navigate large Twins. They allow users to define spatial areas inside a Twin and automatically group assets based on their location. This improves data organization, searchability, and overall Twin navigation. *** ## What Are Zones [Section titled “What Are Zones”](#what-are-zones) Zones are user-defined 3D areas that segment a Twin into meaningful regions. They can represent rooms, departments, operational areas, production lines, or any spatial grouping that matters to your workflow. A Zone can include: * A custom geometry (box or polygon) * A name * Optional metadata * Automatically assigned assets based on the Zone’s boundaries Zones appear in a dedicated view and can be managed from a dedicated panel. ## Creating Zones [Section titled “Creating Zones”](#creating-zones) You can create and manage Zones from the **Zones** tab of the [Hierarchy panel](/en/realitytwin/twin-workspace/organizing-entities/). From here, press **+ New zone** to create a new Zone. Zones can also be **nested** inside one another to mirror how your space is structured. ![RealityTwin Zones hierarchy](/_astro/realitytwin-zones-hierarchy.DqJgiAUx_221tY2.webp) During creation, shape your Zone with one or more: * **Boxes** — add a rectangular 3D box to enclose your area (**Add box**). * **Shapes** — draw a custom polygon footprint for irregular or non-rectangular spaces (**Add shape**). You can combine several boxes and shapes to refine a single Zone. Give the Zone a name and, optionally, assign a [metadata type](/en/realitytwin/twin-workspace/adding-editing-metadata/). Once you are satisfied, press **Confirm** to finalize your Zone. ![RealityTwin New zone panel](/_astro/realitytwin-new-zone-panel.B0Mlol72_U67kS.webp) ## Editing Zones [Section titled “Editing Zones”](#editing-zones) Zones remain fully editable after creation. Users can modify the shape, boundaries, or [metadata](/en/realitytwin/twin-workspace/adding-editing-metadata/) at any time to keep the Twin organized as the environment evolves. ## Automatic Asset Grouping [Section titled “Automatic Asset Grouping”](#automatic-asset-grouping) All assets located within a Zone’s defined boundaries are automatically listed under that Zone in the left-side panel. There is no manual assignment required. Nesting is computed the same way: a Zone that falls within another Zone’s boundaries is automatically nested under it, so the Zone hierarchy mirrors your space without any manual arrangement. This allows users to: * Quickly identify what assets belong to each spatial area * Maintain a clean Twin hierarchy * Structure assets in a way that matches real-world layout and operations ![RealityTwin Automatic asset grouping](/_astro/realitytwin-automatic-asset-grouping.C5POYdfV_Ea3le.webp) # 2024 - Monthly Release Notes > Browse Prevu3D's 2024 monthly release notes. See new features, improvements, and fixes delivered each month for our platform and tools. ### **Version 24.12** [Section titled “Version 24.12”](#version-2412) **Release date:** 15 December 2024 **What’s New** * **Manual Pipe Creation Tool** * Easily define RealityAssets from pipes with precision and flexibility. Map pipe paths, adjust diameters, and streamline your workflows. * **Clearance Collision Detection** * Identify clashes beyond object boundaries and resolve design conflicts early. Tailor evaluations with adjustable clearance distances. * **Manual Offset Window** * Take precise control of object placement and rotation for seamless adjustments in complex environments. * **Asian Language Support** * Now supporting Chinese, Japanese, and Korean, along with improved Latin translations, to enhance accessibility for global users. * **Custom Avatar Creation** * Personalize your Prevu3D experience with custom avatars for desktop and web applications. * **Device-Based Workflows** * Optimize your reality capture process by tailoring uploads to your specific scanning devices, ensuring better compatibility and quality. **Improvements** * User Management * The User Management panel has been enhanced to allow importing and inviting normal users, in addition to admins and division admins. This improvement streamlines the user invitation process and provides more flexible access management options. * Upload process * Several improvements and fixes have been made to the RealityPlatform upload process. These updates address issues related to disconnections during uploads, improve behavior with multiple open tabs, and enhance the overall upload experience. * Hub Download * The Download Hub page has been revamped with the RealityPlatform UI. This update includes the integration of the top bar and footer from RealityPlatform, improving consistency and user experience across the platform. * Processings * Improvements have been made to reduce pipeline launch time. This optimization aims to enhance overall system performance and user experience by decreasing the time required to initiate pipeline processes. * Catpcha * New captcha solution implemented to allow access from every countries **Bug Fixes** * 10 January 2025 * Improved session refresh behavior to avoid unwanted session termination during uploads * Fixed Open in App popup styles * Fixed an issue that prevented to resume user session after an expired sso login * Fixed an issue preventing user to open contextual menu while inside the upload workflow * Fixed role access attribution when a user create a derivative file (creating design projects and mesh from pointcloud for example) * Fixed validation files count and translation messages * Fixed upload management when computer goes into sleep mode * *19 December 2024* * Fixed site address update by moving the pin on the map * Fixed missing translations on permissions page *** ### **Version 24.11** [Section titled “Version 24.11”](#version-2411) **Release Date:** 15 November 2024 **What’s New** * **RealityPlan Hub Parameters** * A new option has been added in user preferences to manage updates for RealityPlan. * The hub now supports custom installation paths for RealityPlan. * A new restricted user profile has been introduced, disabling the update features to prevent involuntary update attempts in secured work environments. **Improvements** * User management * Added ability to invite external users to groups * User pending invite are now displayed in the user list of the User Management page * We can now see the the groups and content access of users pending invite in user management * Sites * We can now update a site address/location after creation * Uploads * Improved user experience for the Create a project from a pointcloud workflow * Navigation breadcrumb has now a dropdown menu to access truncated navigation elements * Help button from top right menu now redirects to support page with prefilled user informations **Bug Fixes** * *12 December 2024* * Fixed an issue where moving elements (Design Projects, Folders, etc.) in the browser did not display them in the new location without a page refresh. * *5 December 2024* * Floating license are now taking the user role into account * Fixed projects thumbnails missing in the hub * *3 December 2024* * Fixed a mouse scroll wheel sensitivity causing excessive movements in the UI during scrolling * Fixed some missing translation on RealityPlan (orbit rosace, cutting tool window, visual compare unit dropdown) * *28 November 2024* * Fixed an issue with the data note filtering * Fixed data tables going oversize and overflowing the screen in some cases (user management) * Fixed organization name update does not reflect in emails * Fixed groups display in user management page *** ### **Version 24.10** [Section titled “Version 24.10”](#version-2410) **Release Date:** 15 October 2024 **What’s New** * **Latin Language Support** * Now supporting English, French, Spanish, German, Portuguese and Italian, to enhance accessibility for global users. * **Volume Measurement Tool on Web** * Enabled the placement of volume measurements on RealityPlan Web version **Improvements** * User invitation autocomplete improvements * Improved the appearance of the volume measurement when not selected within the scene. * Exports in RealityPlan * Added information about exports being performed in meter units, even when the user defaults to the imperial unit system. * Updated Prevu3D logos on default third-person avatars * Video Recordin tool * Added an option (disabled by default) to prevent potential infinite stalling during path video recording. Note: Enabling this option may reduce video rendering quality. **Bug Fixes** * *14 November 2024* * Fixed site creation confirm button not enabled when using gps coordinates * Fixed unwanted scroll behavior when leaving the project viewer * Fixed “Open layout online” feature not redirecting correctly when session is expired * *7 November 2024* * Fixed Editor can’t share layouts public links * Fixed settings page menus not translated * Fixed the fact Editors have access to the create project feature that is not allowed * *1 November 2024* * Fixed empty trash not working in some cases * Fixed typo in invitation email * *28 October 2024* * Resolved an overflow issue in the asset definition tool window on low-resolution displays * Corrected an issue with incorrect normals in OBJ-exported files * Fixed an error occurring when selecting hole fillings on the web version of RealityPlan * Resolved z-sorting issues with very large primitive planes that caused objects to blink within the scene * *24 October 2024* * Prevent double clicking when submitting non optimal meshing for processing * Fixed incorrect size displayed for downloads on RealityPlan Hub * *17 October 2024* * Fixed Usage Summary menus displayed to wrong user roles *** ### **Version 24.9** [Section titled “Version 24.9”](#version-249) **Release Date:** 3 October 2024 **What’s New** * **Advanced Object Clash Detection** * Accurate [collision detection](/en/realityplan/tools/clash-detection/) now allows for the early identification and resolution of design conflicts. * **Visual Compare:** * CAD to Mesh Deviation and CAD to [Mesh Compare tools](/en/realityplan/tools/visual-compare/) facilitate quickly identifying variances between as-built models and actual environments. * **Volume Measurement Tool:** * RealityPlatform now supports drone capture datasets for [volume](/en/realityplan/tools/measure/) calculation in landfills and stockpile assessments for various projects. **Improvements** * Photosphere Navigation and RealtyAsset features * Have been improved for usability. New RealityAssets for categorization and management use pre-defined templates for streamlined documentation and customization. * Magic Wand Asset Definition * Upgraded Segmentation & Mask generation * Segmentation selection (blue highlight on hover) now remains visible even after the first click. **Bug Fixes** * *11 October 2024* * Fixed sharing email title * Fixed SSO login not working at first try * Fixed ‘Not optimal’ status displayed on SLAM upload * Fixed users without direct roles on Organization/Division can’t list projects on the RealityPlan Hub * *3 October 2024* * Fixed matcap mode not working correctly with clipping boxes. * The cut tool now retains the name of the asset it cuts. * Resolved an issue preventing object animation settings (numeric fields) from being edited. * Fixed a bug causing measures not to show proper values in language other than English * Fixed a bug setting the wrong language when selecting a language in the settings * Fixed a bug preventing to open some STEP/IGES files when a special character would be in the name of the file * Fixed missing translation for STEP/IGES conversion * Fixed a bug causing imported 3D models to be invisible when switching layouts * Photosphere navigation mode no longer takes minutes to load in the case there’s thousands of photospheres. # 2025 - Monthly Release Notes > Browse Prevu3D's 2025 monthly release notes. See new features, improvements, and fixes delivered each month for our platform and tools. ## **Version 25.12** [Section titled “Version 25.12”](#version-2512) **Release date:** 12 December 2025 **What’s New** * **RealityPlatform** * **Updated RealityPlatform unit value and storage allocation** * RealityPlatform units now include **200 GB of hosting and streaming**, significantly increasing the amount of data that can be hosted and shared per unit. This update provides more flexibility and scalability for projects of all sizes. * **New Surveyor Program available** * We have introduced a new **Surveyor Program** designed specifically for reality capture professionals and surveyors. This program includes tailored unit bundles and benefits aligned with high-volume capture and delivery workflows. To learn more about the Surveyor Program and available options, please [**contact us**](https://www.prevu3d.com/contact-us/). * **New device support: Flyability Elios 3** * RealityPlatform now supports processing data from the Flyability Elios 3 drone through the device-based upload workflow. *** * **RealityTwin & RealityComposer** * **Support for nested properties in the property panel** * The property panel now supports nested and hierarchical data, enabling clearer visualization of complex objects from [integrations](/en/realityplatform/metadata-settings/integrations/manage-data-sources-on-an-integration-server/). **Improvements** * RealityTwin * Improved long text display in the metadata panel * Long text values are now fully readable in the metadata panel, eliminating truncation. * The previously called “short text” field type in asset types is now called just “text” * Improved point picking with magnifying glass tool * A new magnifying glass improves accuracy when selecting a specific point by providing a zoomed cursor view and a surface-aligned 3D cursor. * Search and filter improvements * The search and filter panel has been improved with better facet result ordering, clearer loading behavior, and general visual refinements. * Search results now display total result counts, support a contextual menu, and stay in sync with the scene, with hovered entities highlighting their corresponding results. * Facet results are only refreshed when the panel is closed, improving performance and usability during filtering. **Bug Fixes** * *20 January 2026* * RealityPlatform * Fixed a bug with the RealityConnect floating license pool that prevented creating multiple user sessions from the same device using the same plugin * Fixed an issue that allowed empty data bundles to be processed * Fixed an issue where map pins did not replicate correctly when scrolling horizontally and returning * *12 January 2026* * RealityPlatform * Fixed an issue that allowed nodes used in a twin to be moved outside of a site * Fixed an issue where group chips did not update when granting or removing access from the Users page * Fixed a missing data bundle icon in the node details modal * Fixed an issue where files could appear in the wrong order when uploading data bundles * *7 January 2026* * RealityPlatform * Fixed an issue with downloading input files for data bundles located in regions other than UE1 * *6 January 2026* * RealityPlatform * Added missing translations in upload workflow * Restored the missing View all page on the site Home Page * Fixed redirections for the Create data buttons * Updated the UI to prevent project creation when it is not allowed * Fixed an error that occurred when creating a project if the data bundle was missing the legacy app format component * Fixed an issue where super admins appeared in the autocomplete suggestions when inviting users to groups * *17 December 2025* * RealityPlatform * Fixed an issue where hidden nodes could appear in Homepage v2 * Fixed an issue where embedded iframes were no longer working * Fixed an issue where the contextual menu could sometimes fail to work for site files * *16 December 2025* * RealityPlatform * Fixed an issue where the loading status did not appear while loading a twin * Disabled processing options when available processing capacity is too low * *15 December 2025* * RealityPlatform * Fixed an issue where the site name could appear duplicated in the breadcrumb in some cases * Fixed an issue where projects created from a data bundle could not upload layouts * Fixed various UI issues related to the upload workflow * *12 December 2025* * RealityPlatform * Updated some logos in the upload workflow * RealityTwin & RealityComposer * Fixed an issue where some elements (such as the navigation wheel, sidebar, and minimap) could be hidden by the right sidebar * Fixed a UI issue that caused an unnecessary scrollbar to appear in several views * Fixed a bug that could trigger an error popup when quickly switching between navigation modes * Fixed a missing tooltip on the Photosphere navigation mode button * Fixed an issue that caused console errors and, in some cases, duplicated entities * Fixed a bug where Points of Interest icons did not appear immediately * Fixed a bug where pressing Backspace in a text field could delete the selected object * Fixed an issue that prevented viewer-only users from removing local entities using the Delete key ## **Version 25.11** [Section titled “Version 25.11”](#version-2511) **Release date:** 18 November 2025 **What’s New** * **RealityPlatform** * **Drone Photogrammetry Pipeline** * Upload nadir or oblique drone images to automatically generate **meshes and orthophotos**. A new “Photogrammetry” upload option is now available. *Refer to documentation for image formats, overlap, and capture guidelines.* * **Data Bundle Architecture + 3D Viewer** * Pointclouds, meshes, and photospheres are now grouped into a single **Data Bundle**. This new format unlocks a **3D Viewer** that lets users visualize multiple data types together in one place—pointcloud + mesh + photosphere—with support for future formats. * **Unified Upload Workflow** * All data types (pointcloud, mesh, photogrammetry) now follow a **single upload wizard**, guiding users through a consistent process and improving internal visibility of processing status. *** * **RealityTwin & RealityComposer** * **Zones** * Introducing Zones, a new way to organize and navigate large Twins. Users can create 3D zones (box or polygon), group assets automatically based on geometry, and manage them from a dedicated panel. Zones can include metadata. * **Share Link** * Easily share a static link to any asset within the twin. Opening the link takes users directly to the asset’s 3D location and metadata panel, simplifying collaboration and reviews. * **Orthogonal Measurement Tool** * The new **Orthogonal Measurement** tool enables precise perpendicular distance measurements, improving accuracy for engineering and construction workflows. **Improvements** * RealityTwin * Photosphere Ground Circles & Navigation Default * Photospheres now display **Ground Circles** instead of floating bubbles for clearer visualization. Users can switch between Ground Circles and Bubble Pins via the View menu. * A feature flag allows **photosphere navigation mode** to be the default from Home/Top view, streamlining scene exploration. * Search * Improved overall search quality, UI/UX, and indexing * CTRL + F (CMD + F on mac) will now focus the search bar * Point alignment tool * Clearer instructions for placing point pairs, ability to delete points, display of point pair names, improved UI, and visualization of incomplete point pairs while placing * Entity Panel * Performance improvements for hierarchy loading (+10,000 RealityAssets for example) * RealityPlan * Enhanced Collision Detection * Collision detection can now runs against **all scene entities simultaneously**, eliminating the need to choose between the environment or individual models. This provides faster, more comprehensive clash analysis. **Bug Fixes** * 10 December 2025 * RealityPlatform * Fixed a missing processing capacity check for data bundle processing * Fixed an issue where editing a node name was not reflected on the Home Page * Fixed an issue where the Map View button was no longer displayed * 4 December 2025 * RealityPlatform * Fixed an issue where mesh and file preview modals would not open when clicking the three-dot menu on browser cards * 27 November 2025 * RealityPlatform * Fixed URL for the “Get more” button on the usage summary page * *24 November 2025* * RealityTwin & Composer * Zones can now be defined from multiple boxes or polygon (not only one) * Fixed a bug causing new or modified objects not to be properly indexed in search * Fixed a bug in the zone tool that raised an alert when toggled on or off multiple times in a row * Enforced more reasonable minimum sidebar widths to maintain a consistent layout (180px for default, 280px for large sidebars) * Search no longer shows empty or non text property value suggestions for filters * Search no longer sends an empty query on every keystroke of the top search bar (advanced search was working but simple search was not) * Fixed an issue causing the loading bar to remain indefinitely in the object hierarchy * Fixed untranslated text under filters * *20 November 2025* * RealityTwin & RealityComposer: * Fixed a problem where saving compositions could fail in certain cases. * 19 Novembre 2025 * RealityPlan: * Fixed an issue that prevented some layouts containing a DXF floor plan from loading properly. * *18 November 2025* * RealityPlatform: * Fixed an issue that prevented SSO provisioned users from accepting invitations. * RealityPlan: * Fixed the CAD models and 2D plans in photosphere view. * RealityTwin: * Fixed search results highlights that were not transparent * Fixed asset type UI bug not shown under asset name * Fixed console warning when opening asset types * Fixed minimap teleportation height issue ## **Version 25.10** [Section titled “Version 25.10”](#version-2510) **Release date:** 21 October 2025 **What’s New** * **RealityTwin & RealityComposer** * **X-Ray (Edge Highlight)** * Introducing X-Ray Mode: In RealityComposer, the alignment tool now auto-switches to x-ray + orthographic + top view mode, and follows the handle pivot for smoother alignment between layers. * **Point Matching for Layer Alignment** * Align datasets using point matching **2D mode** & **3D mode**. Makes alignment faster, more accurate, and easier to trust. * **Asset Filtering & Search** * Search for specific assets or filter by **type and properties**. *** * **RealityPlan** * **Create Design Project from RealityTwin** * Engineers can now create **design snapshots** from the Twin, making it easy to start new projects from the most up-to-date conditions. * See more details [here](/en/realitytwin/twin-workspace/creating-realityplan-project-from-twin/) **Improvements** * RealityTwin & RealityComposer * Navigation improvements: Better sensitivity, zoom, and speed, especially when using keyboard input. * Added animation transition between perspective and orthographic views * Keyboard shortcuts: Added shortcuts across the app so power users can access nearly every feature quickly. Shortcut hints are displayed next to actions in the UI and menus. * RealityComposer has also expanded support for undo/redo: * **Undo:** Ctrl + Z (Cmd + Z on macOS) * **Redo:** Ctrl + Y or Ctrl + Shift + Z (Cmd + Y / Cmd + Shift + Z on macOS) * Shape visibility: Boxes and shapes (e.g., for RealityComposer layers and RealityAssets) now display their edges, making selection and editing easier. * Navigation menu: Updated styling for better readability. The navigation wheel is now positioned on the right, aligning with common standards. * RealityAssets/Poi metadata now automatically refreshes every 15 seconds * RealityPlatform * Allowed email re-sending on pending invitations **Bug Fixes** * 13 November 2025 * RealityPlatform: * Improved storage usage calculation to address cases where results were inaccurate after uploading a site file. * Resolved an issue that occasionally prevented the site edit form from being populated correctly. * Fixed an OAuth login grant regression introduced in latest release. * RealityPlan: * Addressed an issue that could prevent certain layouts from being downloaded depending on their file names. * *05 November 2025* * RealityPlatform: * Fixed disappearing options in the asset type editing page. * RealityTwin & RealityComposer * Fixed an issue in the point match alignment tool that could corrupt layer heights. * Fixed a bug causing photospheres to load partially, where the mesh and point cloud were visible through the photosphere. * Fixed a bug causing long transition times when entering photospheres. * Fixed a bug causing users to exit photospheres when teleporting to objects. * Fixed a bug where a deletion prompt appeared even without the required permissions. * Fixed an issue where search queries could trigger save state changes in the hierarchy bar. * Fixed a UI issue in the hierarchy causing entity titles to have incorrect offsets. * Fixed a sizing issue in the navigation toggle switch buttons when changing language. * Fixed an issue causing shortcuts to launch tools to throw errors. * Shortcuts to launch tools now also toggle them off. * *30 October 2025* * RealityPlan: * Fixed a path-related issue that prevented environments from opening when datasets were saved in directories containing unsupported characters. * *23 October 2025* * RealityPlan: * Fixed an issue with photosphere alignment in newly processed datasets in RealityPlan v25.10.1 * RealityPlatform: * Fixed issues on composed project creation that prevented projects from being pulled on RealityPlan Hub. * *22 October 2025* * RealityPlatform: * Fixed an issue where navigating via the breadcrumb sometimes redirected to the home page instead of the target folder. * Fixed an issue where the ellipsis contextual menu remained open when navigating into inner folders. * Fixed issues where integration link creation, integration sections, and integration fields did not work as expected. * *21 October 2025* * RealityTwin & RealityComposer: * Fixed a bug preventing smooth camera rotation when the view was directly on top at 90° (hiccup issue) * Fixed camera glitch when clicking for the first time from the home position * Fixed an issue where pressing F5 could cause the RealityTwin page to remain stuck on the loading screen * Fixed an issue causing tool launch shortcuts to throw random errors or show missing data * Fixed text overflow issue in the navigation selection toggle switch * Fixed search bug where multiple selected filters used AND logic instead of OR ## **Version 25.9** [Section titled “Version 25.9”](#version-259) **Release date:** 10 September 2025 **What’s New** * **RealityTwin Official Launch** RealityTwin is now available. Designed to be the single source of truth for your spatial data, RealityTwin brings together scans, assets, and metadata in an interactive 3D environment. It is 100% collaborative, enabling teams to work seamlessly in the same Twin with shared tools, context, and data. You will find the **Core functionality** below: * **RealityAsset Definition** — Create, rename, and edit assets in 3D. * **Composer Workspace** — Combine multiple scans into a single composition and clean datasets with masking tools (box or polygon). * **Measurement Tools** — Perform distance, surface and diameter measurements. Optionally, measurements can be persisted. * **Search** — Locate RealityAssets & other entities by name. * **RealityTwin Data Manager License** — New floating license system with access control and subscription tracking. * **Point of Interest (POI) Tool** — Place interactive markers with names, icons, and metadata * **File Attachments in Metadata** — Attach and preview files directly in RealityAsset/POI metadata. * **Minimap** — Minimap with zoom, teleport, pan, recenter, and live user position tracking. * See more details [here](/en/realitytwin/getting-started/what-is-realitytwin/) * **RealityPlatform Asset Settings** * **Asset Types & Categories** — Define structured types for consistent metadata, search, and reporting across assets. * **Integration Service** — Connect RealityTwin data with external systems. * See more details [here](/en/realityplatform/metadata-settings/metadata-types/) * **RealityConnect API (Beta)** * We are introducing the RealityConnect API (Beta), giving developers early access to programmatic interactions with RealityTwin and RealityPlatform. * See more details [here](https://doc.prevu3d.com/apidocs) **Improvements** * Restored the manual action button when logging in with the Hub (redirection option if the automatic process fails due to browser policy). * Added the ability to copy a node’s ID from the **Get Info** menu. * Users now receive email notifications when a node is shared inside a division where they already have access to another node. * When accepting a sharing invitation via email, users are linked directly to the shared node. If the node is not browsable, they are redirected to the parent node. * Added a warning message when attempting to move a source or derivative. * Prevented deletion of data bundles that are currently used in a design project. * Photosphere initialization now runs in the background, speeding up environment setup on datasets with many photospheres. **Bug Fixes** * *16 October 2025* * RealityPlatform * Fixed some Japanese translations. * Fixed an issue where editing Asset Type and Property names sometimes prevented users from confirming the new name. * RealityPlan * Fixed an issue preventing the third-person avatar from initializing. * *06 October 2025* * RealityPlan * Updated Unity engine to address vulnerability CVE-2025-59489; no impact reported. Administrators have received an email with update instructions. * RealityTwin & RealityComposer * Fixed a bug where the space around boxes and shapes was not darkened (affecting both RealityComposer and RealityTwin). * Fixed a bug where tooltips were slow to appear above buttons. * Fixed an issue where the Home view did not match the Orthographic Top view. * Fixed a bug causing handles and box faces to randomly detach from the mouse. * Fixed the recurring “AudioSource” bug that resurfaced after the last release. * Fixed a slight 5° offset in the top view that caused visual distortion. * Fixed Home view orientation to correctly match the orthographic orientation. * Adjusted the camera far clip plane to match the environment, preventing floating-point approximation issues. * Orthographic wheel preset positions are now consistent and intuitive (no longer teleporting below the environment). * Fixed a bug where pressing Ctrl + Z caused layer colors to reset to white. * Fixed a bug where Ctrl + Z / Ctrl + Y caused layer names to be lost. * Fixed a bug where small rotation increments were applied only half of the time. * Fixed a bug where pressing Ctrl + Z made boxes uneditable and their handles invisible. * Fixed a bug where teleporting to a RealityAsset resulted in a different position each time. * *24 September 2025* * Fixed infinite loading state in the Division panel when moving sites. * Deleting one of multiple point cloud files no longer resets the size to 0 bytes. * Resolved floating-point precision issues in design projects based on RealityComposer * Streaming system stabilization from RealityPlan Desktop * *18 September 2025* * Fixed clipping box not affecting 3D models in RGB mode * Fixed simplify tool leaving behind undeletable temporary objects * Fixed 2D plan export failing when 3D models are included * Fixed 3D models not displaying properly in photosphere mode * Introduced a new routing system: refreshing the page now keeps you in the same context * Fixed invalid documentation links in RealityTwin and RealityComposer help menus. * Fixed a bug causing the “Back to Platform” feature to be unresponsive. * Fixed a bug where units (metric/imperial) were not properly applied on RealityTwin startup. * Fixed a bug where layer color changes in RealityComposer were not persisted. * Added missing Japanese translations for the Help menu. * *17 September 2025* * Fixed an issue where twin sessions expired after one hour despite token refresh. * *10 September 2025* * Fixed an issue where selecting certain reality assets caused the entire RealityPlan web viewer container to shift upward. * Fixed incorrect redirection after following an invitation link. * Fixed new organizations/divisions not being properly loaded after invitation acceptance. ## **Version 25.8** [Section titled “Version 25.8”](#version-258) **Release date:** 20 August 2025 **What’s New** * **Localized Email Notifications** * The email system now uses the **organization’s default language** for pre-invite messages, and each **user’s preferred language** for post-invite communications, improving clarity across global teams. **Improvements** * Upload Improvements * Improved Error/Warning Messages * Added help text to clarify issues for each file based on its status, including duplicates. * Resume Point cloud Uploads * You can now resume point cloud uploads if at least one valid or warning-status file is selected. * Emails * User invitations are now auto-accepted via email tokens for a smoother onboarding experience. * Updated email designs for user registration, password reset, and new device login. * Notification * Added shadow styling to the notifications menu **Bug Fixes** * *28 August 2025* * Fixed issues with SCIM provisioning: * Users are now properly reactivated via the PUT endpoint. * Adding/removing users from groups no longer causes repeated removal/re-addition cycles. * Bulk add/remove operations for users in groups are now more efficient, preventing delays and errors. * Optimized organization-level operations: * Authorization checks for large organizations are now faster. * Organization summaries load more efficiently, even with a large number of users. * *20 August 2025* * Regular users without access can no longer see the division list on the node browser sidebar. * The nodes browser sidebar no longer lists all divisions when inviting regular users with roles assigned directly to a single division. * Special characters in some languages (e.g., German) are now searchable regardless of the user’s keyboard input method. ## **Version 25.7** [Section titled “Version 25.7”](#version-257) **Release date:** 17 July 2025 **What’s New** * **SCIM Integration for User Provisioning** * Adds full support for SCIM, enabling automated user creation, update, and deletion via connected IdPs, along with a dedicated UI for managing tokens and endpoints. **Improvements** * Expanded Email & In-App Notifications * Introduces in-app notifications and **a redesigned email notification UI**, with support for file processing events, meshing/OGC/RCP completion, capacity warnings, and organization invitations. Emails are now cleaner, branded, and easier to navigate. * Security * Introduced a feature flag to enable/disable public link sharing upon request. **Bug Fixes** * *13 August 2025* * Fixed redirect URL after login not saving query params in some cases * Fixed infinite loading when accepting an invitation * Fixed usage summary mismatch with historical consumption per site * Fixed issue blocking derivatives, invitations, and node removal * Fixed network error when requesting password reset with a non-existent account * Fixed processed files not being highlighted when clicked in notifications * Fixed OAuth compliance issues * Fixed security issue with a library used for SAML * Fixed SCIM users not removable from organizations other than where provisioned * *29 July 2025* * Fixed issue where subscription renewal emails were sent even when the renewal date hadn’t changed. * Fixed project list not displaying when access was granted via groups. * Fixed missing thumbnails in “Shared with me” content on RealityPlatform. * Fixed navigation issues in shared project hierarchies with mixed group and direct sharing. * Fixed invitation emails incorrectly sent during user provisioning. * Fixed ability to add/remove users to SCIM groups from the Users Management page. * Fixed issue where uploads stuck at 100% required a session refresh to complete. * Fixed missing page for organizations restricted to SSO login. * *22 July 2025* * Fixed issue where point cloud files weren’t sorted correctly during active uploads. * Fixed spacing between icons and text in contextual menus. * *17 July 2025* * Fixed captcha issues when resending the subscribe request ## **Version 25.6** [Section titled “Version 25.6”](#version-256) **Release date:** 12 June 2025 **Bug Fixes** * *10 July 2025* * Fixed RealityPlan Hub authentication duration when user is already logged in to the platform * Fixed breadcrumbs disappearing in some cases * Fixed thumbnails disappearing after manual updates by users * *08 July 2025* * Fixed issues related to primitive texture data inconsistencies * Resolved inconsistent texture mapping on plan primitives when reloading a layout or accessing via web * Fixed memory leak by properly disposing of resources after deleting face textures * Restored size preview in the Asset Library edit window * *30 June 2025* * Fixed divisions that weren’t properly alphabetically ordered in some cases * Fixed a bug where data bundles were broken when original point cloud was removed * *19 June 2025* * Fixed an issue preventing some specific users to login on RealityPlan Hub * Fixed an issue that was closing the popup windows when selecting certain characters in an input field * *17 June 2025* * Fixed navigation bug when clicking on sites in the map view * *13 June 2025* * Fixed an issue where consumption and streaming values were reset when updating a subscription. These now correctly reflect the sliding 1-year usage * Fixed a gap rendering issue on empty sites with the homepage. * Fixed a bug that caused users to be stuck in the settings panel after login. * *12 June 2025* * Fixed some input fields issues with Japanese characters on RealityPlan Desktop * Fixed issue with transparent object that gave a dithering effect ## **Version 25.5** [Section titled “Version 25.5”](#version-255) **Release date:** 15 May 2025 **What’s New** * **Revamped Sign Up / Login Page** * The **login and sign-up interface** has been **redesigned** to match the RealityPlatform UI style, offering a more **modern and cohesive visual experience**. The update retains all existing features while resolving prior **white-labeling inconsistencies**, reinforcing brand presence and improving user onboarding. * **Japanese Language Support for RealityPlan Hub** * RealityPlan Hub now includes **Japanese translation**, expanding its multilingual capabilities. This follows the successful addition of French, making the platform more accessible and user-friendly for **Japanese-speaking users**. **Improvements** * Improved Image Handling with Exif Orientation Support * Primitive Materials now support Exif orientation for imported images. This ensures photos taken with mobile devices—especially in portrait mode—are automatically displayed in the correct orientation. The update enhances compatibility with common formats like JPG and PNG. * RealityPlan Performance Boost * Frame rate performance in RealityPlan has been improved by up to 200% in some scenarios, particularly on lower-end machines. This results in smoother navigation and a more responsive user experience when interacting with large environments. * Plant3D Plugin Enhancements * Following its initial release in March, the Plant3D Plugin has been updated with improvements based on early feedback. Details of the changes are available in a dedicated [changelog](/en/realityconnect/realityconnect-for-plant3d/realityconnect-for-plant3d-release-notes/). **Bug Fixes** * 04 June 2025 * Fixed avatar falling though ground in web * Fixed initial 3d environment loading issue with the big core count CPUs * Fixed issue that caused the assets to move erratically after duplication * Fixed color override not being set when loading a layout * Fixed non-Latin characters not showing in web build * 03 June 2025 * Fixed captcha issue (unable to register/login) for some users * Fixed missing translations during the upload process * Fixed double scans created when creating point clouds * Fixed need for refresh after accepting the first invitation * *21 May 2025* * Fix issue when default layout contains cuts * Properly display failure status for artifacts (RCS/OGC) * Fixed SSO linking issues on white-labeled domains * Resolved broken profile link in the hub that led to a “Not Found” page * *15 May 2025* * Fixed some cursor lag on the Web version * Fixed some crashing issues when opening a project the first time using an Intel Iris Xe GPU ## **Version 25.4** [Section titled “Version 25.4”](#version-254) **Release date:** 22 April 2025 **What’s New** * **New Plugins for Enhanced Interoperability** * **Microstation Plugin v1**: Enables direct integration with Bentley Microstation, improving data exchange and collaboration. * **Viametris Device Support** * Official support for Viametris scanning devices improves hardware compatibility. * **Extra Hosting & Extra Streaming Add-ons** * Customers can now purchase additional hosting and streaming capacity, expanding options beyond Extra Processing Units. * **New Asset & Primitive features** * **Base Point Definition for Primitives**: Users can choose between **‘Base’ or ‘Center’** as the reference point for cube and cylinder primitives, improving placement control. * **Clipping Manager Exclusions**: A new option allows users to **exclude primitives and assets** from the clipping box cropping, improving visualization flexibility. * **One-Face Texture Display for Primitives**: Textures can now be applied **only on one face** of cube primitives. * **German Documentation** * Added German translation to the documentation. **Improvements** * Security & Access Control * Organizations with SSO-enabled accounts can disable external invitations, enforcing stricter access policies. * Performance & User Experience Enhancements * Memory management improvements result in better overall performance on RealityPlan. * Improved performance when defining assets. Most notably big asset. * Improvements to subscription pages, file explorer, and trash management enhance usability. * [RealityConnect for Revit](/en/realityconnect/realityconnect-for-revit-realityplan/realityconnect-for-revit-release-notes/) * Fixes RealityAsset positioning issues and error messages for better plugin reliability. * Upload Improvements * A new notification system alerts users when the data doesn’t contains 360-degree images, ensuring more complete data collection. The pictures remain optional. **Bug Fixes** * *14 May 2025* * Fixed partial content display after resetting the node-browser page * Fixed intermittent behavior when switching organizations * Prevented duplication and stacking of Captcha errors in the UI * Fixed an issue with the “Move Node” modal not closing automatically after confirming * *06 May 2025* * Added pending invites in content access modal from user list * Improved groups page loading time * Fix some issue with the data validation process when uploading XGrids data * Fixed node duplication in share with me * Prevent moving nodes with derivatives out of the site * Fixed search behavior on users and groups page * Fixed division admin can’t load user list * Fixed group invites display in invitation modal to improve invited user experience * *05 May 2025* * Fix issue preventing users to validate their license when their computer name contained 2byte characters * Remove handles from objects when exporting from a clipping box and plugins * Fix import of 3d models with Japanese characters in name * *25 April 2025* * Changed page title & favicon to RealityPlatform * Made that web product (RealityPlan / RealityTwin) have their own page title & favicon * Made pending group membership display in another color in the UI * Fixed group memberships that weren’t displayed in some cases in the UI * Fixed missing redirections for old routes from RealityPlan Hub * *22 April 2025* * Fixed the dithering in the mesh inspection shader * Fix issue with dxf optimisation * New warning for dxf plan import, notify the user to explode their text components in order to import them in RealityPlan * Fixed issue with global coordinate import of LOD4CAD assets * Fixed issue with cuts on legacy environments * Reanabled the Ctrl-s shortcut to save the scene * Third person/first person character contoller now toggle crouch instead of hold * Remove handles when asset is locked * Fix screen recording when the screen resolution is different from 1920x1080 * Fixed visual issue with RealityAsset when the box was very large * RealityAssets clipping is now reflected in all visualization modes ## **Version 25.3** [Section titled “Version 25.3”](#version-253) **Release date:** 17 March 2025 **What’s New** * **New Plugin Download Page** * A centralized Plugin Download Page has been added, allowing users to easily access and download the latest versions of RealityPlan Hub and various plugins, improving distribution and accessibility. * **New Plugins for Enhanced Interoperability** * **Plant3D Plugin v1**: Adds support for Clip Scan browsing, Load Assets, and quality level selection. * **Omniverse Plugin v1**: Seamlessly integrates with Omniverse environments to import your RealityAssets & Clipping boxes. * **Inventor Plugin v1**: Adds Autodesk Inventor support, allowing for improved collaboration and data sharing between the two systems. * **Major Performance Improvements for CAD & 2D Floor Plans** * A new rendering technology has been implemented to significantly improve performance when working with large **CAD files (NWD, IFC, RVT, RVM)** and **2D floor plans (DXF)**. These optimizations drastically **reduce load times**, improve **navigation speed**, and make RealityPlan Web **more stable**, ensuring a smoother experience for users working with complex design files. * **Data Residency Expansion - Japan** * Organizations can now store data in **Japan**, ensuring compliance with regional data regulations and expanding the platform’s global reach. **Improvements** * NavVis Texture Projection Fixes * Enhancements have been made to NavVis texture projection during the mesh creation process, improving the visual quality of datasets and ensuring more accurate texture alignment. * Orthophoto Export Improvements * Users can now export PNG + PGW files for direct use in GIS applications like QGIS, improving interoperability for geospatial workflows. * Dataset Sorting Capabilities * The Dataset view now includes sorting options for file name, size, upload date, and status, with clear indicators showing active sorting preferences. * Hierarchy View Enhancements * The blue division icon is now displayed when no thumbnail is set, and folder displays have been removed from below sites for better visual clarity. Accordion arrows are also removed from sites for a cleaner hierarchy view. * User Panel Interface Updates * The User Panel Interface now features language selection, logout options, and an organization dropdown, creating a more streamlined and visually appealing experience. * Move items on RealityPlatform * Improved the move logic when selecting a destination. **Bug Fixes** * *17 April 2025* * Fixed styling issue when exiting the RealityPlan Viewer * Prevent file upload validation from showing internal-only information * Added scroll bar for Org selection in profile menu * *10 April 2025* * Fixed some issues with SSO - Group mapping * Fixed a visual issue under the group management panel displaying duplicated group * Fixed some UI styling on Share modals * *27 March 2025* * Fixed an issue where users removed and re-added to a SAML group were not handled correctly * Fixed project card state not restoring properly when returning from the project viewer * Fixed automatic cleanup of the Trash page after 30 days * The “Back” button in Settings now correctly returns to the previously visited node * *20 March 2025* * Fixed some issue with the screen recording tool resulting in a black screen * Fixed issue with some layouts not able to open on desktop after the 25.3 release * Removed SSO link when user is removed from an organization * Fixed location/coords UI/UX bugs in the Site edit menu * Fixed ability to remove user from group when division is missing * Fixed wrong text color in the viewer * Fixed missing time formats for NL, JA, KO, KO & ZHHANS * Updated Japanese translations * *18 March 2025* * Minor fix to address DXF import workflow. * Fix some offset issue with DXF import, when changing the units & scale. * *17 March 2025* * Added a validation check to ensure a site always contains a location * Fix a bug related to the import of 3d models with japanese characters in their path * Fixed the video animation window overflow issue * Fixed the screenshot feature * On RealityPlan Web, fixed hierarchy for assets containing ”/” in their names * Fixed bug that applied transforms in the wrong coordinate system to USDz exports ## **Version 25.2** [Section titled “Version 25.2”](#version-252) **Release date:** 17 February 2025 **What’s New** * **Notification Center** * A new Notification Center enhances user engagement with a panel accessible from the top-right of the screen and configurable notification settings. Initial triggers include processing events. * **Pointcloud Viewer Measurements** * Users can now measure distances between points and view global coordinates of individual point inside the Pointcloud Viewer. * **White-Labeling Support** * Customize the platform with your own branding, including logos on the login page, UI, and emails, with configuration options available in Organization settings. This option is part of our Enterprise subscription. * **Search Result Page** * A new Search Result Page introduces a ‘File’ filter and an option to ‘See all results’ within the search bar, improving the platform’s search functionality. * **Subscription Page in Organization Settings** * A new Subscription page provides a clear overview of current subscriptions, with visual indicators for expiration dates helping users stay on top of renewals. **Improvements** * RealityConnect for Revit\ The Revit plugin has been updated to support Revit 2025, ensuring full compatibility with the latest version while maintaining existing functionality. * RealityPlan Performance Boost * The RealityPlan application has been migrated to a new system allowing better performances and laying the foundation for further improvements. * Enhanced User Management\ The User Management interface now includes a search filter, making it easier to monitor and manage user activity. * RealityAsset Piping tool * Improvements to the box generation algorithm. **Bug Fixes** * *13 March 2025* * Fixed an issue with the “Forgot password” redirection * *10 March 2025* * Addressed an issue with the SSO login when whitelabel is enabled * *6 March 2025* * Fixed a permission issue when removing group from share modal * *20 February 2025* * Fixed keyboard and mouse navigation help in the Pointcloud Viewer * Fixed some issue with the initial navigation mode inside the Pointcloud Viewer * Added an “Under Investigation” status to the different processing, if they are under investigation by Prevu3D team. * *17 February 2025* * Fixed a bug preventing the use of the local references for constraints * Fixed a bug that would revert to RGB visualization mode after creating a RealityAsset * The minimum export setting will now export the first level of quality instead of the second one * Fixed a bug with the undo/redo on constrained object ## **Version 25.1** [Section titled “Version 25.1”](#version-251) **Release date:** 15 January 2025 **What’s New** * **Site Home Page** * Added a new Home Page to RealityPlatform with separate sections for Design Projects and Datasets, making it easier to access recent activity and navigate the platform. * **RealityPlan license monitoring** * \[Administration] Added a tab to monitor active RealityPlan license usage, showing current users and their last activity. * **RealityPlatform Search bar** * Introduced a basic search bar in RealityPlatform, allowing users to quickly find Divisions, Sites, Pointclouds, Design Projects, and RealityMeshes, with an option to view all results on a dedicated page. * **Device Support** * Support for Exyn and FJDynamics devices has been added **Improvements** * 2D Floor plan * Being able to change the pivot point of the 2D floor plan like we do for 3D assets * Primitives * Enabling the use of metadata on primitives **Bug Fixes** * *13 February 2025* * Web design projects were not accessible without an active RealityPlan license. This dependency has been removed. * Shared with me redirection from viewer correction * Fixed map view issues * *6 February 2025* * Fixed user list not loading when a user had a pending invite on a deleted node * Prevent the deletion of a pointcloud or a mesh while it’s under processing * Added a warning if a user try to delete an item with a fail status * Fixed a minor issue with the processing cost calculation * Fixed an issue when deleting a pointcloud file * *30 January 2025* * Fixed some minor issues with the pointcloud processing (Europe server) * Fixed some minor issues with the new device based processing pipeline * Fixed project thumbnail disappear after displaying map view * Fixed some home page discrepancies (pointcloud statuses, permissions) * Fixed deleted users are still displayed in the usage history * *23 January 2025* * Added confirmation dialog when trying to reprocess an already processed pointcloud (creating a second design project from the same pointcloud for example) * The deletion of “in processing” or “failed” entities (pointclouds, mesh) is now disabled and display a message to the user * Fixed confusing informations on usage summary about renewal dates * *16 January 2025* * Fixed invitation input autocomplete not displaying all users in organization * Fixed project editor freeze on large Pix4D datasets * Fixed site creation map fullscreen mode * Fixed processing data usage reset on renewal for divisions * Fixed user list not refreshed when switching divisions * *15 January 2025* * Fixed the URL to documentation in the help menu to the new documentation URL * Fixed environments containing lines failing to export as RCP * Fixed an issue with cut tool extracted objects naming not supporting Umlaut characters * Added a warning when exporting an empty clipping box * Fixed a bug sometimes causing crashes when doing “undo” on the creation of a 3D model or primitive * Fixed a bug causing temporary pivot tool stalling when removing the object while using the tool * Fixed a bug causing primitives not to be clipped by clipping boxes * Renamed default RealityAssets folder to “RealityAssets” # 2026 - Release Notes > Browse Prevu3D's 2025 monthly release notes. See new features, improvements, and fixes delivered each month for our platform and tools. ## **10 September 2026** [Section titled “10 September 2026”](#10-september-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer) #### Improvements [Section titled “Improvements”](#improvements) * **Navigation** * Pressing F flies the camera to the selected object, like “Go to” in its contextual menu * An entity’s contextual menu now shows the keyboard shortcut of its “Go to” and “Delete” actions * The navigation wheel has a refreshed look, is now available in perspective mode, not only orthographic, and stays transparent until you hover it * **Menus and toolbar** * “Vertical axis rotation only” has moved from the View menu to a new Tool menu, and is greyed out when the scene has no handle to constrain * “Clip environment” is now a single on and off entry instead of a submenu, with “Remove” moved to the clipping box sidebar * The Minimap, “Clip environment” and “Vertical axis rotation only” entries now show a fixed icon with their current state under the label * **RealityComposer** * An empty space now explains why a Twin needs a layer before it can be viewed, and that publishing comes next * Data bundles now show their thumbnail in “Select datasets to compose” * The eye that shows or hides a representation now appears on hover on every row of the Views panel, instead of only in the row’s menu * Merge review from a RealityPlan Project now offers “Go to” in each row’s menu, to fly to the entity in the space #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes) * Fixed blank icons on tab scroll arrows, dropdown carets, checkbox marks, pagination and sort arrows * Fixed a narrow sidebar’s tabs being squeezed by room reserved for empty scroll arrows * Fixed an error message appearing when switching workspace * Fixed the viewer staying on its loading screen when leaving a workspace with unsaved changes for an empty Twin * Fixed a hidden entity showing no barred eye to users who cannot change visibility *** ### RealityPlan Desktop (26.9.0) [Section titled “RealityPlan Desktop (26.9.0)”](#realityplan-desktop-2690) #### New Features [Section titled “New Features”](#new-features) * **2D plan export** * The floor plan section height, the multiple layer floor and ceiling, and the density can now be typed into an input field next to their slider, so the same slice can be reproduced from one export to the next * The multiple layer floor and ceiling can now be set as close as a fraction of a percent apart, instead of the previous 5% minimum #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-1) * Fixed the multiple layer plan export slicing past the handle when a floor or ceiling was dragged over the other one * Fixed the show and hide state of 3D assets being lost when downloading a layout from the RealityPlan Web workspace: primitives, points of interest, cuts and measures now come back with the visibility they were published with * Fixed the layout publish summary reporting uploaded primitives as errors when the layout’s owner had changed since it was first published *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform) #### New Features [Section titled “New Features”](#new-features-1) * **Reset twin** * A site now offers a “Reset twin” action, which permanently clears the site’s RealityTwin, its content and its drafts, while keeping the site and its RealityPlan Projects. The site name must be retyped to confirm #### Improvements [Section titled “Improvements”](#improvements-1) * **Data processing** * Point cloud meshing now completes faster * Deleting an OAuth application now confirms the deletion with a feedback message #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-2) * **Files and search** * Fixed opening and downloading a file returning a “not found” error once the file had been moved into a folder inside a site * Fixed opening a file or folder from search results landing on an error instead of the file explorer * Fixed the Open action on a data bundle in a site’s File explorer tab, which did nothing; it now opens the bundle viewer * Fixed sorting in ascending and descending order on a site’s home page, in both the Projects and 3D data sections * **Permissions and roles** * Fixed the wording of the asset settings permission, now “Metadata settings” in every locale, matching the settings menu * Fixed the “Write Reality Twin” app access permission showing its internal code instead of a readable name * Fixed the “Upload / Edit assets” Asset Library permission description not listing tags among the fields it lets you edit * Fixed the reassignment popup shown when deleting an assigned role suggesting Content roles instead of roles matching the permission area (RealityTwin, RealityPlan, 3D Data Viewer, Asset Library) * Fixed deleting a role that had not been customized yet affecting other organizations’ role assignments * Fixed a role assigned only through a group being deleted without offering a replacement * **Deactivated users and trashed items** * Fixed an error when listing a group’s members if one of them had been deactivated * Fixed an error listing a build’s public web viewer links when the creator of a link had been deactivated * Fixed an error in organization node search when a node had been moved to the trash * Fixed the Organization page showing stale billing details, such as the Country, until the page was refreshed after saving * Fixed the Apps & Plugins settings description, which implied the Hub and plugins were for RealityPlan only; it now mentions both RealityPlan and RealityTwin *** ## **3 September 2026** [Section titled “3 September 2026”](#3-september-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-1) #### New Features [Section titled “New Features”](#new-features-2) * **Improved point cloud rendering** * The visual rendering of point clouds has been substantially improved: the result is noticeably cleaner and more even, especially up close. The exact result varies with the View profile in use #### Improvements [Section titled “Improvements”](#improvements-2) * **Asset Library** * An asset’s ID is now reachable from the Asset Library: the edit modal shows it with a copy button, and an asset’s contextual menu has a new “Copy asset ID” action * The creator column now shows the time next to the creation date * **RealityComposer** * “Align layer using point match” is now disabled when the composition holds a single layer, with a tooltip explaining that point matching needs at least two #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-3) * **Comments** * Fixed the comments of a deleted entity staying in the comments list, with a broken preview icon * Fixed “Teleport to comment” doing nothing on a resolved comment: resolving removes the comment’s pin from the space, so teleport is offered again only once the comment is reopened * **Asset Library** * Fixed an asset upload failing silently — when a file cannot be uploaded, an error message now names it instead of the upload simply disappearing * Fixed the front view used when inspecting a model, so it now matches the Asset Library * Fixed the turntable flickering when selecting an asset far from the camera * Fixed CAD models displaying only partially, with some parts appearing invisible * Fixed the clipping box tool showing incorrect bounds after the clipping box was disabled * Fixed the unit-of-measure editor not reopening when a metadata field’s type was set back to Numeric Value * Fixed the minimap flickering *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-1) #### Improvements [Section titled “Improvements”](#improvements-3) * **RealityPlan Projects** * Deleting a RealityPlan Project now lists the layouts that will go with it, and is refused while another project still uses a model it owns. Its RealityTwin content is kept until the trash is emptied, so restoring the project brings it back in working order * **Permissions** * Measure is no longer part of the role customization matrix: it is now always granted and can no longer be revoked * **Data processing** * A processing job that stops making progress is now reported as failed, instead of appearing to still be running * Converted CAD models keep more of their detail, and preserve the colors carried by the model’s geometry * General stability improvements to photogrammetry and point cloud processing #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-4) * **Data processing** * Fixed 360 video processing failing while it waited for processing capacity to become available * Fixed XGRIDS SLAM datasets failing to process when some of their points carry no GPS position — those points are now skipped * Fixed point cloud meshing failing on large datasets * Fixed parts of a converted CAD model taking another part’s color when their own material was missing or invalid * **Sign-in and licenses** * Fixed the sign-in page reporting a generic network error when a corporate proxy blocks the security check — it now names the service it could not reach * Fixed SSO sign-in not completing in desktop applications for organizations that redirect SSO to their own domain * **Permissions and roles** * Fixed viewers and read-only users being unable to place local measurements, or to see existing ones, in the RealityPlan Web viewer * Fixed the content access editor removing the wrong access when the Asset Library access role is active * Fixed an error when an administrative role limited to reading the usage summary opened RealityTwin usage * **Uploads and files** * Fixed clicking a file (image, PDF) in an upload window leading to the wrong place — it now opens the file explorer with that file highlighted * Fixed the Process Files menu taking about a second to appear; it now opens immediately and shows a loading indicator while the options load * Fixed the Asset Library user count in the usage summary, which counted deleted users * Fixed site address suggestions always appearing in English; they now follow the language you selected * Fixed the missing “Copied to clipboard” confirmation when copying an OAuth application secret *** ### RealityConnect API [Section titled “RealityConnect API”](#realityconnect-api) #### New Features [Section titled “New Features”](#new-features-3) * Added endpoints to create and update Asset Library models, to work with the model assets placed in a space, and to read RealityPlan Project layouts #### Improvements [Section titled “Improvements”](#improvements-4) * Business object search can now be sorted and filtered by creator, by creation and update date, and by how closely the name matches * The `download:assetlibrary` scope is now required only when an Asset Library read actually asks for signed download links #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-5) * Fixed business object search omitting the objects from its results *** ## **26 August 2026** [Section titled “26 August 2026”](#26-august-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-2) #### New Features [Section titled “New Features”](#new-features-4) * **Clipping box** * Look inside your 3D space in RealityTwin and RealityPlan Web: “Clip environment” in the View menu hides everything outside a box you place and resize #### Improvements [Section titled “Improvements”](#improvements-5) * **Top bar menus** * Labels now line up whether or not an item carries an icon * An item that opens a submenu can now show its current state under its label #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-6) * **Metadata settings** * Fixed deleting a metadata settings section that had been renamed * Fixed renaming a metadata type so it stays in its category * **Entity contextual menus** * Fixed the separators between menu groups so they stay consistent * Fixed the order of actions, so read-only actions now come before edit and delete *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-2) #### New Features [Section titled “New Features”](#new-features-5) * Data Bundles can now be shared through a public link to the bundle viewer, under a new permission #### Improvements [Section titled “Improvements”](#improvements-6) * CAD conversion now explains why a file could not be read, naming the format it actually received #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-7) * Fixed visible density stripes in processed point cloud tiles * Fixed Data Bundle processing for bundles that hold a large number of files, or whose file names contain apostrophes or accented characters * **RealityPlan Web share panel** * Fixed reaching public link management from the share panel, for users who have sharing permissions * Fixed the disabled link controls so they now explain why they are unavailable * **CAD conversion** * Fixed IFC conversion for files whose exporting application wrote unusual line endings * Fixed IFC conversion to accept valid but less common syntax that some CAD exporters produce * Fixed geometry attached to spaces and sites being duplicated in the converted model * Fixed conversion to preserve geometry, scale, and rotation in the rare cases that previously altered them *** ### RealityConnect API [Section titled “RealityConnect API”](#realityconnect-api-1) #### Improvements [Section titled “Improvements”](#improvements-7) * Business object search results are now paginated with `page` and `limit`, in place of the previous 50-result limit * **Twin drafts and layouts** * Twin routes now accept a twin draft ID wherever a site ID was accepted, and RealityPlan routes accept a layout ID wherever a RealityPlan Project ID was accepted — the path parameter is now named `contextId` to say so * Object and asset metadata, attachments, and embed sessions now work for a twin draft, and Data Bundles for a layout: they follow the node the platform resolved instead of requiring the site or project ID * An embed session can now be created from a single twin, twin draft, RealityPlan Project, or layout ID *** ## **20 August 2026** [Section titled “20 August 2026”](#20-august-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-3) #### New Features [Section titled “New Features”](#new-features-6) * **Skyboxes** * Change the environment background from the View menu by picking a different skybox, with your choice saved locally in your browser * **Hide a single representation** * Each representation in the Views sidebar (mesh, CAD, point cloud, Gaussian splat) can now be hidden on its own from its dropdown menu, for as long as the space stays open — bring one back with its eye button, or restore them all with the reset button next to the Views title * **Visual effects (Experimental — available on demand)** * Temporarily re-shade a space by luminance, elevation, slope, or curvature from the View menu, with a choice of color ramp #### Improvements [Section titled “Improvements”](#improvements-8) * **Points of Interest** * Points of Interest now appear, highlighted, in search results * A selected Point of Interest can now be seen through walls * **Layers sidebar (RealityComposer)** * The eye icon now appears only when you hover a layer, keeping the list tidy — a hidden layer keeps its eye showing so you can always bring it back * Hiding is a way to peek behind a layer, not a way to remove it: the layers around it stay clipped as they were, so the view may differ from the composed result, and the layer comes back next time. Delete it to remove it for good * An entity’s ID can now be read from the hierarchy panel — hover the entity, or use its contextual menu and press “Copy entity ID” (saved entities only) * In RealityPlan Web, the “Open in desktop app” button is now enabled only when every layer has a mesh or a CAD, with a tooltip explaining why — so the Hub always receives a project it can render in full *** ### RealityPlan Desktop (26.8.0) [Section titled “RealityPlan Desktop (26.8.0)”](#realityplan-desktop-2680) #### Improvements [Section titled “Improvements”](#improvements-9) * Updated Japanese translations #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-8) * Fixed fetching a layout from the RealityPlan web workspace: Asset Library models from outside your own library now load, and cuts made from boxes now come back ready to use * Fixed the home position in projects that use zones — project bounds now stop at the project zone *** ### RealityPlan Hub (26.8.2) [Section titled “RealityPlan Hub (26.8.2)”](#realityplan-hub-2682) #### Improvements [Section titled “Improvements”](#improvements-10) * The Hub is now offered in the same languages as RealityPlatform * Project cards now carry a RealityTwin badge in place of the RealityComposer logo, with a tooltip reading “This project uses the next generation web viewer” * Projects that RealityPlan Desktop cannot open are now marked “Web only”, or “Not viewable” when a layer has no mesh representation, so the Hub offers download and open only where they will work #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-9) * Fixed the project card outline so its rounded corners stay visible in front of the thumbnail *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-3) #### New Features [Section titled “New Features”](#new-features-7) * **Notifications for comment mentions** * Mentioning someone in a RealityTwin comment now notifies them in the notification center, with an email option and a new “Comments” section in notification settings — completing the Comments beta, which could not notify mentions yet #### Improvements [Section titled “Improvements”](#improvements-11) * The Emesent device is now named “Emesent Hovermap / GX1” in the device-based upload picker #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-10) * Fixed editing a custom role so it returns the right ID after an invitation is updated * Fixed the notification center so opening your own leaves other people’s notifications in your organization unread *** ## **12 August 2026** [Section titled “12 August 2026”](#12-august-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-4) #### New Features [Section titled “New Features”](#new-features-8) * **Asset Library** * Asset Library elements can now be tagged * Added a faceted search that filters by asset type and by tag * Tags can now be assigned while uploading a file to the organization-wide Asset Library * **Points of Interest** * Points of Interest are now placed in world space, so they keep a consistent size and stay legible in spaces that hold a large number of them #### Improvements [Section titled “Improvements”](#improvements-12) * **Performance** * Substantially higher framerate — expect roughly 1.5 to 2 times the previous framerate * Spaces holding a large number of Points of Interest now render with no framerate cost * Rotation handles now rotate around the vertical axis only by default. The other axes can be enabled from the View menu in the RealityTwin, RealityPlan Web, and RealityComposer workspaces, or with Alt+R / F8 #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-11) * Fixed Point of Interest metadata properties missing from the search filters — an entity with no metadata type could drop its metadata from the search index whenever the index was rebuilt * Fixed a layer color change overriding the X-ray effect in RealityComposer * Fixed 3D models not appearing in the photosphere * Fixed the button loader staying still when creating a RealityPlan Project * Fixed a flickering tooltip * Fixed the asset type not updating on screen when an Asset Library element is edited *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-4) #### Improvements [Section titled “Improvements”](#improvements-13) * **Photogrammetry video uploads** * Videos can now be up to 30 minutes long, double the previous 15-minute limit * Videos must now be at least 15 seconds long and hold at least 30 frames, up from 1 second and 10 frames #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-12) * Fixed the point cloud upload dialog warning that the session would expire before the upload finished, on sessions with hours remaining and uploads of about a minute *** ### RealityConnect API [Section titled “RealityConnect API”](#realityconnect-api-2) #### New Features [Section titled “New Features”](#new-features-9) * Added endpoints to upload and download attachments on object metadata * **Asset Library model tags** * Added CRUD endpoints for Asset Library model tags * Added a parameter on the get Asset Library model endpoint to include tags * Point of Interest and zone list, get, create, and update endpoints now accept an optional metadata type ID * Added list and create endpoints for twin drafts * Added a search endpoint for business objects * Added an OAuth 2.0 Authorization Server Metadata discovery endpoint * The Embed SDK can now refresh the access token without reloading the whole iframe #### Improvements [Section titled “Improvements”](#improvements-14) * Deprecated the update asset metadata endpoint in favor of Update object metadata #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-13) * Fixed the create division user endpoint creating a division instead of a user *** ## **6 August 2026** [Section titled “6 August 2026”](#6-august-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-5) #### New Features [Section titled “New Features”](#new-features-10) * Added support for uploading datasets captured with the Omnislam R8+ device #### Improvements [Section titled “Improvements”](#improvements-15) * More reliable recovery for long-running uploads, with a warning and one-click refresh when an upload will outlast the current session, and a delete button to cancel uploading or failed files * Improved stability when processing large datasets #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-14) * Fixed large uploads stalling or failing to resume — files no longer get stuck in the “Uploading” state after a session expires or after the final step fails, and the estimated time remaining is accurate from the start * Fixed CAD uploads wrongly allowing more than one context * **Data processing** * Fixed STEP files exported from Revit 2027 failing to process * Fixed some RVM files failing to process * Fixed large IFC models failing to process * Fixed downloading site files from the search results page * Fixed the Sites home briefly flashing the explorer before the onboarding landing on first load * Fixed sites remaining visible on the map after their division was moved to the trash * Fixed being able to invite a user who is already a Super Admin of the organization * Fixed newly created shared links expiring at the start of the chosen day instead of the end of it * Fixed Create Project being unavailable for Gaussian data bundles * Fixed an issue with metadata attachment deletion * Fixed the RealityPlan public link returning an error when using the embeddable iframe code *** ## **3 August 2026** [Section titled “3 August 2026”](#3-august-2026) ### RealityPlan Desktop (26.7.0) [Section titled “RealityPlan Desktop (26.7.0)”](#realityplan-desktop-2670) #### New Features [Section titled “New Features”](#new-features-11) * Publishing a Design project now recreates its folder organization in the RealityPlan web workspace, and each entity keeps its visibility setting #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-15) * Fixed orthophoto exports not always matching the selected quality * Fixed inconsistent selection behavior in dropdown menus * Fixed a color override not carrying over to the asset’s animation copy *** ## **27 July 2026** [Section titled “27 July 2026”](#27-july-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-asset-library) #### New Features [Section titled “New Features”](#new-features-12) * **Comments (beta)** * Replace the previous memo feature with a richer way to discuss and collaborate in a space — pin spatial comments or attach them to entities, reply in threads, and mention teammates with `@` * Available as a beta. Known limitation: mentions in comments do not send notifications yet — notification support is coming soon * **Live users** * See which other users are currently in the same space, shown by their profile pictures in the top-right corner * **Zone hierarchies** * Zones are no longer shown as a flat list and can now be nested inside one another * **Category view for entities** * Group entities by their entity type — such as measures, Points of Interest, and RealityAssets — for easier exploration * **Folders** * Organize entities into a nestable folder hierarchy * **Entity visibility toggling** * Now available on all major entities * **Metadata** * Zones can carry optional metadata types and metadata, and now display a sidebar when selected showing their name, metadata type, and metadata * Points of Interest can now carry an optional metadata type * CAD entities can now be inspected for metadata, in addition to the previously supported layer inspection * **Asset Library** * 3D model dimensions are now shown in the Asset Library window * Edit the scale of objects in the global Asset Library * Parasolid is now among the supported extensions in the Asset Library #### Improvements [Section titled “Improvements”](#improvements-16) * **Photogrammetry pipeline** * Improved photosphere quality for Insta360 datasets. * **Entity hierarchy** * Saved and unsaved entities now appear together in a single hierarchy, with unsaved (local) entities marked by a chip * Scroll-on-selection: the hierarchy now scrolls to an entity when it is selected in the scene * Added “group by kind” and “order by last updated” controls to the flat hierarchy * Added an information tooltip on the hierarchy element icon showing its kind and its creation and last-updated dates * **Zones** * Zones are now more accessible and visible via a dedicated button * The zone “add” control is now a plain button, making it more accessible * **Gaussian splats** * Place objects such as POIs with normals on a Gaussian splat — for example, a POI can point toward a wall * Improved overall loading performance * The mouse cursor now responds when hovering over Gaussian splats * **CAD models** * CAD models are now shaded properly across all workspaces, including the Asset Library (they were previously displayed unlit) * CAD inspection mode now shows line contours on each individual object * **Metadata settings** * Nicer table layout for integrations, avoiding awkward column headers * The selected language now carries over to the Metadata settings page * Improved detection of whether a field is being renamed or having its type changed * Nicer metadata type confirmation modal * Validation messages are now shown for unconfigured fields * Renamed “Asset types” to “Metadata types” across all languages * Cleaner display of the Metadata types dropdown when no types are available * Consistent translation of “asset” across languages (for example, “actif” in French), with “RealityAsset” kept as-is * **Asset Library** * Added tooltips to the edit, download, and close buttons in the canvas preview header * Nicer “no asset type selected” state when selecting asset types * **General** * Adjusted the settings for handles, making objects easier to manipulate and reducing selection conflicts between the handle axes * Added a warning in the Magic Wand and Piping tool sidebars when the space contains representations these tools don’t support (point clouds or Gaussian splats for the Magic Wand; Gaussian splats for the Piping tool) * Cuts now display the “RP” chip when merged into a twin * The reorder (move up / move down) menu is now hidden on representations in the Views sidebar when there is only a single blending representation, since reordering would have no effect * Added support for the latest GPUs, including the RTX 50 series * Updated the Twin edit button style * Updated the cursor style when orbiting #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-16) * **General** * Fixed polygonal shapes (zones and RealityComposer shapes) self-intersecting in specific situations, which could previously prevent RealityTwin from opening * The right-click context menu now closes when you click elsewhere or navigate away * Fixed the three-dots button in the context menu remaining visible after the menu closed * Gaussian splats now display correctly on Mac * Fixed teleportation toward CAD elements (older models may need to be regenerated) * Fixed photosphere mode remaining visible after a layer with photospheres was removed from RealityComposer * Fixed Gaussian splats remaining visible after a layer with splats was deleted from RealityComposer * Fixed the ellipsis menu on integration metadata fields wrapping to the next line * Fixed long property names flowing into the action buttons area when the value is displayed as long text * Fixed the momentary “Saving” / “All changes saved” status indicators pushing the top-bar buttons to the right * Fixed incorrect colors in the metadata toggle switch * Fixed the reset button in the Magic Wand tool * Fixed corner overflow on metadata sections * Fixed an unauthorized error for users who only have the Edit space composition (RealityComposer) permission when accessing the Twin workspace * Fixed the tooltip arrow not connecting to the tooltip content * **Points of Interest permissions** * Fixed Points of Interest being visible when the View Point of Interest permission was disabled * Fixed POIs being creatable when the Create / Edit Point of Interest permission was disabled * Fixed POIs being deletable when the Delete Point of Interest permission was disabled * **Asset Library** * Fixed the Asset Library remaining available to users without permission to access it * Fixed the Asset Library button remaining visible for users in read-only mode in RealityPlan Web * Fixed the Asset Library element setup in RealityPlan Web being hidden by the 3D model placement tool * Fixed Asset Library models appearing rotated 180 degrees when viewed from the global Asset Library * Fixed a missing outline on the Asset Library upload button * Fixed the Asset Library processing list opening automatically when arriving on the page * Fixed the forward navigation entry being removed after leaving the model preview window * Fixed the horizontal alignment of the upload modal content * Fixed “no type” appearing as the default selection when using the magic wand icon to apply a type to all uploaded assets * **Metadata settings** * Fixed interaction issues when editing metadata type, section, and property names * Fixed the display of long metadata type names * Fixed changes to metadata types not appearing while a search term was active * Fixed long tooltip content displaying with a scrollbar * Fixed dropdown and integration rows being removed when not filled in immediately * Fixed the property configuration highlight persisting after the field lost focus *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-6) #### New Features [Section titled “New Features”](#new-features-13) * **Public Link Sharing** * Create public links for RealityTwin and RealityPlan projects * Manage collaborator invites and public links from a single, reworked Share modal, and copy a direct link to a resource when signed in * Added organization-level public sharing settings, with “Allow public links” enabled by default for new organizations * **New device support: Riegl Kinematic SLAM** * RealityPlatform now supports processing data from the Riegl Kinematic SLAM device through the device-based upload workflow #### Improvements [Section titled “Improvements”](#improvements-17) * Renamed the RealityPlan “Create layout public link” permission to “Create RealityPlan public link” in the customizable permission matrix #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-17) * Added the missing translation for the “Failed only” notification setting * Fixed the legacy layouts “Share” menu not respecting the RealityPlan share permission * Fixed the Copy link button in the Asset Library share modal, which produced an incorrect URL * Fixed the home page showing scan, mesh, photogrammetry, and Gaussian splat upload buttons to users without data bundle upload permission * Fixed the Manage Access permission not granting all permissions on nested contexts in some situations *** ### RealityConnect API [Section titled “RealityConnect API”](#realityconnect-api-3) #### New Features [Section titled “New Features”](#new-features-14) * Added endpoints to support RealityConnect Embed * Added an endpoint to update the metadata of an object * Exposed the performance profile through the RealityConnect Embed SDK, letting host pages switch the renderer between Ultra, Fidelity, and Performance *** ## **16 July 2026** [Section titled “16 July 2026”](#16-july-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-7) #### Improvements [Section titled “Improvements”](#improvements-18) * Subscription expiry, expired, and renewal email notifications now include the organization name * Restoring a Division now requires the Delete Division administrative action, and hard-deleting a Division or Site can no longer be granted by a generic Content Delete permission * Revamped the organization settings page * Renamed “Asset settings” to “Metadata settings” in the admin settings menu #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-18) * **Trash** * Fixed clicking a row in the list view, which no longer opens the “Can’t open trashed file” dialog * Fixed the Owner column being empty in the list view * Fixed the Restore and Delete buttons remaining disabled for division admins who do not hold Content permissions * **Super Admin** * Fixed group memberships being retained when a user is promoted to Super Admin * Fixed pending invitations retaining group memberships when their target role is switched to Super Admin * **Permissions** * Fixed the Manage Tags permission appearing in the Asset Library permissions matrix even though the feature does not exist * Fixed the View collaborators permission appearing in the RealityTwin permissions matrix before the feature is available * Fixed the back button in the platform asset settings when arriving from a link in the twin * Fixed the misleading unauthorized message and blank page shown to SCIM-provisioned users with no workspace access * Fixed the groups column shifting other elements in the users list table when group names are long * Fixed plugin card visual inconsistencies when the description text is shorter than the others in the list * Fixed an incorrect description on the RealityConnect users info button in the usage summary * Fixed the Twin data card still appearing in the File Explorer for users without RealityTwin access, and added an unauthorized screen when the URL is reached directly * Fixed inconsistent percentage rounding in the expanded processing progress monitor * Fixed the New + button showing a single-item dropdown instead of opening the new site window directly * Fixed composed RealityPlan projects opening the legacy viewer for users without RealityPlan read access; they now land on a dedicated unauthorized page * Fixed missing file size on Gaussian 3D data nodes *** ### RealityConnect API [Section titled “RealityConnect API”](#realityconnect-api-4) #### New Features [Section titled “New Features”](#new-features-15) * Added an endpoint to create a project from a Data Bundle * Added an endpoint to retrieve the metadata of an asset or a point of interest (POI) * Added an endpoint to fetch a Data Bundle by id, returning base fields (id, name, state, createdAt, updatedAt, dbuPath) with optional expansions for processings, components, and thumbnail * Added an endpoint to search nodes with filters #### Improvements [Section titled “Improvements”](#improvements-19) * The site-files upload initiate endpoint no longer returns the `uploadId` field *** ## **10 July 2026** [Section titled “10 July 2026”](#10-july-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-8) #### Improvements [Section titled “Improvements”](#improvements-20) * Group names must now be unique within an organization when creating or renaming a group * Unified navigation so the contextual menu’s Open action and double-clicking a node card behave the same way * SCIM-provisioned users are now identified with a chip in the organization users list #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-19) * Fixed the error shown to users without twin access, which now returns a proper Forbidden response instead of a confusing message * Fixed composed projects created from a Data Bundle not inheriting the bundle’s thumbnail * Fixed an issue that prevented deleting a SCIM-managed group containing deactivated members, which left orphaned groups on the platform * Fixed a user with permission to update only a site’s content still being able to delete or update the site itself * Fixed deleting a division from the Share with me page keeping it visible until the page was refreshed * Fixed an issue preventing sites with a Twin from being moved between divisions in the same organization * Fixed double-clicking a RealityPlan Project with composition so it opens the RealityPlan Web viewer instead of showing a warning * Fixed a privilege-escalation issue on organizations with role customization where a user holding a custom org-level ManageUser role could invite or promote another user to SuperAdmin *** ### RealityConnect API [Section titled “RealityConnect API”](#realityconnect-api-5) #### New Features [Section titled “New Features”](#new-features-16) * Added the ability for OAuth apps to register custom HTTPS redirect URIs #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-20) * Fixed an issue preventing OAuth apps from saving when deprecated scopes are present *** ## **6 July 2026** [Section titled “6 July 2026”](#6-july-2026) ### RealityPlan Desktop (26.6.2) [Section titled “RealityPlan Desktop (26.6.2)”](#realityplan-desktop-2662) #### New Features [Section titled “New Features”](#new-features-17) * Added realistic lighting and shading to CAD environments and assets for improved visual quality #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-21) * Fixed hidden objects appearing as a black silhouette in the Photosphere * Fixed 3D model import/export and point cloud RCP/RCS export when the folder or file name contains Japanese (or other non-ASCII) characters * Fixed the Hole Filling tool so it once again closes openings in a mesh ## **2 July 2026** [Section titled “2 July 2026”](#2-july-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-9) #### Improvements [Section titled “Improvements”](#improvements-21) * Clearer and more informative pipeline progress reporting * Added Plant3D and Process Simulate plugin icons to the RealityConnect usage breakdown view #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-22) * **User provisioning (SCIM)** * Fixed an issue when a provider removes a user from a group by sending the same user ID multiple times in a single PATCH request * Fixed an issue when EntraID deactivates a user via a PATCH replace operation that includes the userName attribute alongside active and displayName * **Uploads** * Minor upload wizard polish — the browser tab title is now restored once an upload completes, and upload type titles use correct casing (e.g. “Point Cloud Upload”, “Mesh Upload”) * Fixed capture data upload and download permissions not being computed correctly, which prevented some users with the right role from uploading capture data * Fixed alphabetical sorting not applying in the Trash browser * Fixed the measurement system dialog not keeping the saved unit system after a change is selected and then cancelled — it now reopens with the saved system * Fixed the “Create new Division” button alignment in the sidebar * Fixed an issue when searching users with short terms (e.g. “ma”) * Fixed file size inconsistency between the data card and the “Get info” modal — both now use the same binary-based format * Fixed switching to another organization, which could keep the user on the current organization and sometimes cause a redirect loop * Fixed the display of the node details modal when the location text is too long to fit *** ### RealityConnect API [Section titled “RealityConnect API”](#realityconnect-api-6) #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-23) * Fixed authorization enforcement on the endpoint that returns a site’s data bundles ## **25 June 2026** [Section titled “25 June 2026”](#25-june-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-10) #### New Features [Section titled “New Features”](#new-features-18) * The Asset Library now supports OBJ files * Added the ability to create a RealityPlan Project directly from a single Data Bundle, which now opens in the new RealityPlan Web viewer — the same viewer used for projects created from a RealityTwin #### Improvements [Section titled “Improvements”](#improvements-22) * Improved notification wording for file processing * Relaxed validation for 360° video captures from Insta360 and Ricoh devices, so more uploads are accepted * **Asset Library** * Simplified content role definitions by removing redundant nested-context permissions #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-24) * **Asset Library** * Fixed organization and project libraries not appearing correctly for non-admins and licensed RealityPlan users, including empty libraries in RealityPlan Desktop * Fixed Asset Library permissions being displayed or inherited incorrectly across roles * **Search** * Fixed search suggestion dropdowns not appearing when already on the search results page * Fixed Data Bundles in search results that could not be opened * **Localization** * Fixed role names appearing in English when another language was selected * Fixed the division creation window showing “Site Name” instead of “Division Name” * Fixed an error message shown when changing the role of a SCIM-provisioned user * Fixed roles in settings sometimes being retrieved for the wrong organization * Fixed items in the trash not being automatically or manually deleted after 30 days when they contained nodes derived from files outside the folder * Fixed an issue where moving a folder to another site could break a Data Bundle still in use by a twin or project * Fixed organization deletion occasionally timing out when several deletions ran at the same time * Fixed RealityPlan Web not loading for non-admin users, including the 3D mesh not appearing for Project Managers and users without a RealityTwin role in nested contexts * Fixed an error when loading invitations to deleted nodes (these invitations are now ignored) * Fixed the inability to move nodes to sites in the move window * Fixed plugin licensing sessions that could not start after an OAuth token had been rotated * Fixed the platform logo being hidden behind a gray square when resizing the left sidebar *** ### RealityConnect API [Section titled “RealityConnect API”](#realityconnect-api-7) #### New Features [Section titled “New Features”](#new-features-19) * Added an endpoint to list available plugins * Added endpoints to read, create, and manage groups #### Improvements [Section titled “Improvements”](#improvements-23) * Normalized OAuth scopes — endpoints that required `manage:user` now use `write:user`, and endpoints that required `manage:hierarchy` now use `write:hierarchy` ## **18 June 2026** [Section titled “18 June 2026”](#18-june-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-5) #### New Features [Section titled “New Features”](#new-features-20) * **Auto-georeferencing** is now applied to: * CAD models placed in RealityComposer * 3D CAD models imported via the Asset Library #### Improvements [Section titled “Improvements”](#improvements-24) * The default avatar now falls back to the construction worker avatar when a user has not set one * A warning is now shown when merging a layout into a draft whose compositions differ * **Magic wand** * The tool is now available only on high-end GPUs (RTX-class and equivalent), as it can be very resource-intensive; on other hardware the toolbar button is disabled with an explanatory tooltip * Improved performance #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-25) * Fixed creating a RealityPlan Project from a zone including objects located outside the zone; only objects within the zone are now included * Fixed the Magic wand mask appearing in the scene with an offset instead of at its actual 3D position * Fixed composition layers being displayed in the wrong order in specific edge cases. Some users may notice a change in their RealityComposer hierarchy order; we recommend reviewing and re-ordering as needed * Fixed right-side panels leaving the viewport padding stuck or cleared when one panel was closed while another stayed open * Fixed an error popup and console errors that appeared when using browser autofill suggestions in input fields (for example, the primitive name field) * Fixed polygon self-intersection after alignment rotation * Fixed a typo in the French “refresh page” label * Fixed the sidebar scrollbar overlapping the resize handle * Fixed the Perspective navigation button being unclickable when no navigation mode toggle option was active (for example, while in Third Person view) * Fixed the asset processing cancel button appearing for users without permission * Fixed visible artifacts in very large coordinate spaces (beyond 5 km) *** ### RealityPlan Desktop (26.6.1) [Section titled “RealityPlan Desktop (26.6.1)”](#realityplan-desktop-2661) #### New Features [Section titled “New Features”](#new-features-21) * **Fetch layouts from the RealityPlan Web workspace** * Load a layout directly from an online RealityTwin, including RealityAssets, 3D models, cuts, primitives, points of interest, and measures #### Improvements [Section titled “Improvements”](#improvements-25) * Improved export quality across the Low-to-Maximum range, so even the Low setting now produces higher-quality results #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-26) * Fixed scale and coordinate issues when exporting to JT *** ### RealityPlan Hub (26.6.2) [Section titled “RealityPlan Hub (26.6.2)”](#realityplan-hub-2662) #### Improvements [Section titled “Improvements”](#improvements-26) * Downloads that were paused when opening a project now resume automatically when the Hub is reopened, if the project is no longer running *** ## **12 June 2026** [Section titled “12 June 2026”](#12-june-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-6) #### Improvements [Section titled “Improvements”](#improvements-27) * **Asset Library** * Original files larger than 200 MB can no longer be previewed; a tooltip explains the file is too large to open in the browser * **CAD metadata** * You can now copy CAD metadata values * Links in CAD metadata are now clickable * **Search** * You can now find primitives such as cubes and planes in search results * Significantly improved performance in scenes that contain Points of Interest * Improved point selection when placing points with tools such as zone creation * When adding a layer to a composition, increased the distance from the existing layers at which the new layer is considered too far and automatically repositioned closer, from 300 m to 1000 m #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-27) * Fixed an issue that prevented creating zones * Overlapping clicks are now rejected when adding a prism or polygon point * Fixed an object deleted in a twin and then re-merged from a layout not showing as restored when publishing the draft * Fixed Gaussian splat orientation so splats now display with the correct rotation * Fixed dragging to look around becoming sluggish when looking straight down *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-11) #### Improvements [Section titled “Improvements”](#improvements-28) * Added a context menu to the organization Asset Library button, letting users view collaborators or share the Asset Library where permissions allow * Updated the labels on the Gaussian splat upload option to better reflect the supported file formats #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-28) * Fixed users with direct membership on a Data Bundle being unable to open the bundle viewer when the bundle was associated with a twin or project they did not have access to *** ## **10 June 2026** [Section titled “10 June 2026”](#10-june-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-7) #### New Features [Section titled “New Features”](#new-features-22) * **Merge layouts into drafts — now with primitives and 3D models (Beta — available on demand)** * The merge-to-draft workflow now brings primitives and their materials, along with 3D models from the Asset Library, from a RealityPlan layout into your twin draft * **Track and manage RealityPlan Web items in RealityTwin** * Items merged from RealityPlan Web now show a tag in the hierarchy, making it clear they can only be edited in RealityPlan Web * Delete RealityPlan Web items that were merged into a twin, directly from RealityTwin #### Improvements [Section titled “Improvements”](#improvements-29) * **Layouts** * Duplicating entities from a twin to a RealityPlan Web project now copies them only into the project’s first layout * Creating a new layout now prompts you to duplicate the current layout’s entities *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-12) #### Improvements [Section titled “Improvements”](#improvements-30) * Improved rendering times for large TIFF images * Edit and rotate secrets for existing OAuth applications directly in the platform UI #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-29) * **Uploads and Data Bundles** * Fixed an issue that prevented uploading Gaussian Splat data after selecting the upload type * Fixed processing that appeared stuck at 100% while files were still being processed * Fixed broken zoom on small JPG and PNG uploads * Fixed a missing label on the Gaussian Splat upload option * **Search** * PDF files now show the PDF icon in search results * The organization name no longer appears in search results * **Shared with me** * Fixed the **Files** column not showing any data *** ## **8 June 2026** [Section titled “8 June 2026”](#8-june-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-8) #### New Features [Section titled “New Features”](#new-features-23) * **RealityTwin — Merge layouts into drafts (Beta — available on demand)** * Unify design work from multiple RealityPlan projects inside a twin draft — browse projects, pick a layout, and review assets before bringing them in * Supports most entity types today; primitives and 3D models are coming soon * **Introducing Gaussian splats (Beta — available on demand)** * A new way to visualize captured environments — richer detail with fewer meshing artifacts, as a standalone visual layer alongside mesh and point cloud * **RealityTwin** — open twins that use Gaussian splats as the environment, navigate the scene, and create RealityAssets, zones, and points of interest * **RealityComposer** — align layers, manage layer order, and use inclusion/exclusion boxes on splat environments; splats default to blending layers so they combine naturally with other scene content * **3D Data Viewer** — navigate Gaussian splat captures in the bundle viewer #### Improvements [Section titled “Improvements”](#improvements-31) * **Performance and fidelity** * **Ultra** mode for high-resolution viewing **(Beta)** * A **Recommended** mode chip surfaces which performance mode fits your setup * Fidelity settings now recognize all RTX-class GPUs, not only desktop RTX cards * **RealityComposer** * Show or hide the minimap from the **View** menu — keep your workspace focused when you do not need navigation context #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-30) * **Sharing and navigation** * Fixed shared links so teleporting to a point of interest and opening a focused business-object view no longer conflict in the same URL * **3D Data Viewer** * Fixed the photosphere staying hidden on load when a bundle contains mesh but no point cloud * Fixed photosphere station tags not appearing when no point cloud component is present * **General** * Fixed an error during layer alignment and view operations in scenes with many layers * Fixed a crash when switching from Twin to Composer with the minimap disabled *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-13) #### New Features [Section titled “New Features”](#new-features-24) * **Introducing Gaussian splats (Beta — available on demand)** * Upload Gaussian splat captures (`.ply` and more) as a new visual representation in Prevu3D * **Asset Library — Roles and permissions** * Control who can access the Asset Library — assign Library roles (owner, editor, viewer) to users directly or from the share modal on the Asset Library * Assign Library roles to groups — grant library access at the team level without editing each user individually #### Improvements [Section titled “Improvements”](#improvements-32) * **Uploads** * Track large uploads with confidence — see per-file progress, more accurate speed and time remaining, and live status updates * Smarter Faro Scene validation: mismatched device scans show a warning instead of failing the upload * **Permissions** * Removed duplicate upload/download permissions inherited from the 3D Data Viewer * **Asset Library** * Deleting an asset type now always asks for confirmation, with clearer buttons and spacing in the used asset types panel #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-31) * Fixed an incorrect Twin item appearing when granting content access to a user * Fixed **Delete forever** and **Restore** failing with a network error for divisions in the Trash view * Fixed email notifications not being sent when file processing completes or fails * Fixed certain upload types (such as Ricoh360) allowing sequential multi-file uploads when bulk upload was disabled * Fixed a tooltip overlapping the Process Files menu when triggered too early *** ### RealityConnect API [Section titled “RealityConnect API”](#realityconnect-api-8) #### New Features [Section titled “New Features”](#new-features-25) * Added endpoints to list organization roles * Added endpoints to read and manage invitations * Added endpoints to read and manage users * Added endpoint to download site files * Added endpoints to manage data nodes — create division, site, and folder nodes; update names and thumbnails; move nodes; and soft delete nodes * Added endpoint to retrieve twin iframe URLs *** ## **4 June 2026** [Section titled “4 June 2026”](#4-june-2026) ### RealityPlan Desktop (26.6.0) [Section titled “RealityPlan Desktop (26.6.0)”](#realityplan-desktop-2660) #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-32) * Fixed canceling an asset duplication still leaving a duplicate copy behind (affecting cuts, Asset Library assets, and clipping boxes) * Fixed export quality issue failing on large datasets *** ## **29 May 2026** [Section titled “29 May 2026”](#29-may-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-asset-library-1) #### New Features [Section titled “New Features”](#new-features-26) * Asset Library * Bring in entire folders at once — bulk folder upload adds large sets of assets in a single step * Upload more files in a single batch with a higher upload limit (Beta — available on demand) * Classify your library faster by assigning an asset type to multiple assets at once #### Improvements [Section titled “Improvements”](#improvements-33) * Added NVidia GTX 10xx GPUs to the list of high-end supported GPUs for GPU detection #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-33) * Fixed misalignment between the mesh, point cloud, and photosphere stations in the bundle viewer (including with large coordinates) that could cause image distortion * Fixed CAD shading in RealityComposer differing between RealityComposer and RealityTwin * Fixed an issue causing both the point cloud and mesh to be shown on startup in the bundle viewer when they shouldn’t be * Fixed a teleportation issue causing the wrong station to be selected when clicking on a station outside photosphere mode * Fixed a performance degradation of RealityTwin compared to RealityComposer * Fixed vertical page expansion when scrolling long lists in RealityComposer * Fixed an out-of-range error when starting the alignment tool with a large number of layers (more than 32) * Fixed an alert raised right after adding layers in RealityComposer and switching to the Twin workspace *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-14) #### New Features [Section titled “New Features”](#new-features-27) * Preview files without leaving Prevu3D — videos, images, and PDFs now open directly in the platform, with new file-type icons to identify each node at a glance #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-34) * Fixed an input size recompute bug for videosphere * Fixed an incorrect file name displayed in the data-bundle file browser for videosphere * Fixed site search always redirecting to File Explorer instead of the Home tab * Fixed trashed nodes and their children appearing in search results * Fixed the search dropdown not reopening after clicking a result * Fixed all right-click actions being disabled on the search results page * Fixed incorrect translations for the file filter label (French, Italian, German) * Fixed an issue on the users page that duplicated pending invite users in some edge cases *** ## **28 May 2026** [Section titled “28 May 2026”](#28-may-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-15) #### Improvements [Section titled “Improvements”](#improvements-34) * Increased tolerance before flagging a warning on a terrestrial scan as suspicious based on the point cloud * Replaced generic “Network error” messages with more meaningful ones #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-35) * Fixed infinite error toasters when trying to upload to a data-bundle while having no storage left * Fixed network error when adding divisions to group from the group edit modal * Fixed a bug not redirecting after a site on which a user stayed was removed * Fixed Emesent processing pipeline producing undesired results *** ## **21 May 2026** [Section titled “21 May 2026”](#21-may-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-asset-library-2) #### New Features [Section titled “New Features”](#new-features-28) * Asset Library * Added STEP/STP file format support * Added FBX file format support * Added ability to view the original file with animations (when available), including a UI to select which animation to play * Added a home button to recenter the view in the 3D preview * Added panning support in the 3D preview * Added a menu option to copy metadata values to the clipboard * Visual Representations * Multiple visual representation layers are now visible in a sidebar subcontext when clicking on a representation * RealityPlan Web * Added the ability to delete layouts * Added the ability to encode the current point of view in the URL for sharing #### Improvements [Section titled “Improvements”](#improvements-35) * URLs in integration fields and sections are now parsed and displayed as clickable links * Edited asset types are now highlighted and scrolled into view for better visibility * Improved layout of the asset type list and detail pages * Adjusted the GPU performance threshold so that some low-end GPUs no longer end up in fidelity mode #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-36) * Fixed a resize observer alert triggered when clicking quickly in the asset library * Fixed a bug causing the page to scroll endlessly when opening the asset library in RealityPlan Web * Fixed a bug causing an alert when saving a composition and then navigating to the twin * Fixed POI hover animations not triggering depending on the user’s number locale format * Fixed sidebar width being inconsistent across subcontexts *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-16) #### Improvements [Section titled “Improvements”](#improvements-36) * Added projection type validation for Ricoh video photogrammetry devices #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-37) * Fixed an issue preventing users from selecting a file for review in the step uploader when there are warnings * Fixed a bugged layout caused by an incorrect translation * Fixed OAuth grant when a user is only an organization member and has no access to content ## **19 May 2026** [Section titled “19 May 2026”](#19-may-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-17) #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-38) * Fixed an authorization issue preventing layout uploads from RealityPlan Desktop ## **14 May 2026** [Section titled “14 May 2026”](#14-may-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-18) #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-39) * Fixed an issue where subproduct session rotation wasn’t properly validating claims ## **12 May 2026** [Section titled “12 May 2026”](#12-may-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-19) #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-40) * Fixed an authorization issue preventing access to data bundles via the RealityConnect API * Fixed an issue with node browsing in the RealityConnect API * Fixed white-labeled domains incorrectly redirecting to the main domain *** ### RealityTwin [Section titled “RealityTwin”](#realitytwin) #### Improvements [Section titled “Improvements”](#improvements-37) * Added a preference setting allowing users to balance between rendering quality and loading speed for hierarchical LOD in compositions with many layers * Added automatic GPU performance tier selection based on detected hardware #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-41) * Fixed performance issues causing slow initial loading in compositions with many layers * Fixed box handle interactions when facing directly in isometric navigation ## **11 May 2026** [Section titled “11 May 2026”](#11-may-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-asset-library-3) #### New Features [Section titled “New Features”](#new-features-29) * Multiple Visual Representations * Twins and Plans now support multiple visual representations per layer, with the ability to reorder and inspect available representations * RealityComposer can list all available representations * Asset Library * Library assets can now be promoted to the organization-level library #### Improvements [Section titled “Improvements”](#improvements-38) * Restored the ungroup functionality for asset types * Improved hierarchy UI with better drag-and-drop, dropdown menus, and alignment * Improved photosphere click-to-teleport behavior on multi-floor environments * Improved point cloud performance settings * Removed ID from the asset library display for a cleaner interface #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-42) * Fixed a warning appearing when loading the data bundle modal * Fixed incorrect icon size in modals * Fixed random quotation marks appearing in some language translations * Fixed incorrect non-English translations * Fixed an issue preventing multiple point clouds from being loaded simultaneously * Fixed failing requests to integration servers *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-20) #### New Features [Section titled “New Features”](#new-features-30) * 360 Video Input Support * Added full support for 360° video workflows, including file validation, device-specific handling for Insta360 and Ricoh Theta cameras, and integration into the data upload pipeline #### Improvements [Section titled “Improvements”](#improvements-39) * Users can now be invited with organization-level read access only, without access to any specific content * Added “service user” indicator for service accounts * Renamed the “Security (OAuth)” section to “Third party access” #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-43) * Fixed performance issues when uploading thousands of files in photogrammetry workflows * Fixed the “Open” action in the contextual menu incorrectly redirecting to the root site instead of opening the preview modal * Fixed sticky “Nothing to see here” banner persisting when switching sites * Fixed the download action remaining enabled when the user does not have download permission * Fixed users with folder edition capabilities being unable to edit a folder * Fixed missing “Edit space composition” permission causing composition persistence to fail for non-admin users * Fixed users without access management capabilities being able to change existing group roles, resulting in a backend error * Fixed group grants not being taken into account when listing items in the trash * Fixed incorrect Japanese translations * Fixed language not updating in asset settings to reflect the user’s preference * Fixed move permissions not being enforced on both source and destination * Fixed 360 video inputs not being included in data bundle size calculations * Fixed an issue allowing two input components to coexist in the same bundle * Fixed legacy meshes not being usable in Twin * Fixed a network error when trying to edit an OAuth application user * Fixed infinite loading loop in the users list when filtered by division *** ### RealityPlan [Section titled “RealityPlan”](#realityplan) #### New Features [Section titled “New Features”](#new-features-31) * JT File Export * Users can now export clipping boxes, RealityAssets, and 3D models to the JT format, compatible with Siemens JT2Go * CAD as Environment (Beta) * Users can now create RealityPlan projects directly from a CAD model, without requiring point cloud or mesh data #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-44) * Fixed clash detection not working for assets imported from the Asset Library * Fixed 3D export from clipping boxes incorrectly including cut 3D models * Fixed USDz export failing when overwriting an existing file *** ### RealityConnect [Section titled “RealityConnect”](#realityconnect) #### New Features [Section titled “New Features”](#new-features-32) * Added ability to subscribe to data state values in the Embed SDK * Added CRUD endpoints for zones * Improved online API documentation #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-45) * Fixed rate limit not working ## **1 May 2026** [Section titled “1 May 2026”](#1-may-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-21) #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-46) * Fixed an issue affecting updates to customizable roles ## **28 April 2026** [Section titled “28 April 2026”](#28-april-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-22) #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-47) * Fixed an issue causing inconsistent data when a user had no roles assigned * Fixed a potential composition corruption issue when multiple CAD layers were present in a scene ## **27 April 2026** [Section titled “27 April 2026”](#27-april-2026) ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-23) #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-48) * Fixed group and child role membership handling when retrieving projects for the Hub * Fixed an issue where the Edit User modal failed when content access was linked to a deleted node ## **23 April 2026** [Section titled “23 April 2026”](#23-april-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer, Asset Library”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-asset-library-4) #### New Features [Section titled “New Features”](#new-features-33) * RealityTwin * Introducing Draft Mode * Single draft per Twin * Includes merge, compare, add, remove, and discard capabilities * RealityComposer / General * Introducing Floating Layers (CAD layers rendered above all other layers) * CAD layers now take visual precedence * Added documentation modal (info button) explaining layer behavior #### Improvements [Section titled “Improvements”](#improvements-40) * General * Drastically improved performance, including better framerate and memory usage * Asset Library * Added zoom functionality to the 3D viewer * RealityComposer * Improved responsiveness when dragging layers * UI improvements with simplified tool access * Positive volume → renamed to **Bound Volume** * Negative volume → renamed to **Cleaning Tool** * Reduced default mesh color opacity #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-49) * General * Fixed Intel Iris GPU issue causing white screens * Fixed selection issues with measures on top of CAD * Fixed mesh LOD flickering (smart mip system) * Fixed toolbar overflow on small screens * Fixed incorrect loading of integration link relations * Fixed instabilities in third-person navigation (jittering and speed issues) * Fixed incorrect teleportation position when using “Copy link to entity” * Fixed missing HLOD dithering * RealityTwin / RealityPlan * Fixed 404 error when removing a RealityAsset or POI after selection * RealityComposer * Fixed issue where shapes were not deleted without prior selection * Fixed orthographic mode remaining active after exiting alignment mode * 3D Data Viewer * Fixed CAD model not opening properly in bundle viewer * Asset Library * Fixed missing creator information for asset elements * Asset Settings * Removed remaining modal overlays *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-24) #### Improvements [Section titled “Improvements”](#improvements-41) * Standardized the order of nested content permissions for consistency with the main content permissions page * Removed unnecessary file filters when browsing sites * Prevented uploading of invalid files * Added creation and last update dates in node list view * Corrected first column title in node list view * Updated file filters, removed legacy types and added Data Bundles * Updated division creation modal icon * Asset Library * Added organization-level details to streaming usage and summary pages * Added organization-level details to processing usage and summary pages * Enforced storage limits #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-50) * Fixed missing scope in OAuth app creation modal * Fixed missing translations in OAuth applications page * Fixed profile menu not closing in various sections (asset settings, library, Twin, Plan) * Fixed intermittent hCaptcha verification failures * Fixed issue where disabling download permission affected all permissions * Fixed user list not fully loading when filtered by division * Fixed support role not reflected in home page contextual menu * Fixed OAuth secrets modal reopening after closing * Fixed deletion of the only division in an organization * Fixed map pin not updating in maximized map view * Fixed dropdown styling and icon sizing issues * Fixed misaligned text in search bar * Fixed DBU validation incorrectly flagging all files as errors * Fixed Emesent validation issue * Fixed errors on RealityPlan consumption page ## **16 April 2026** [Section titled “16 April 2026”](#16-april-2026) ### RealityPlan Desktop (26.4.0) [Section titled “RealityPlan Desktop (26.4.0)”](#realityplan-desktop-2640) #### Improvements [Section titled “Improvements”](#improvements-42) * Improved mipmap logic for smoother visual quality #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-51) * Fixed an issue where primitives were misaligned when uploading layouts in the RealityPlan web workspace * Fixed a shader issue that could cause graphics driver crashes on Intel Iris Xe GPUs ## **31 March 2026** [Section titled “31 March 2026”](#31-march-2026) ### RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer [Section titled “RealityTwin, RealityPlan Web, RealityComposer, 3D Data Viewer”](#realitytwin-realityplan-web-realitycomposer-3d-data-viewer-9) #### Improvements [Section titled “Improvements”](#improvements-43) * Improved loading experience with more responsive and granular feedback * Clearer error messages during application initialization #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-52) * Fixed tools not closing properly and triggering alerts * Fixed toolbar visibility in read-only mode (now hidden instead of disabled) * Fixed permission issue causing session creation failures (403 errors) * Fixed inconsistent alert behavior across asset types * Fixed dismissed alerts reappearing after navigation * Fixed unnecessary error when duplicating empty asset types * Fixed issue preventing creation of new Attachment properties *** ### RealityPlan Desktop (26.3.1) [Section titled “RealityPlan Desktop (26.3.1)”](#realityplan-desktop-2631) #### New Features [Section titled “New Features”](#new-features-34) * [**Global Asset Library**](/en/realityplatform/asset-library/overview/) * Import assets directly from the [Prevu3D Asset Library into layouts](/en/realityplan/tools/use-the-asset-library-from-realityplan/) #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-53) * Fixed clipping box export issues (composition and mesh corruption) * Fixed pivot point positioning on export * Fixed streaming popup persisting during connection loss * Fixed clipping box duplication issue *** ### RealityPlatform [Section titled “RealityPlatform”](#realityplatform-25) #### New Features [Section titled “New Features”](#new-features-35) * [**Global Asset Library**](/en/realityplatform/asset-library/overview/) * A centralized Asset Library is now available across RealityPlatform and RealityPlan. * Teams can upload, manage, and reuse 3D models across projects, ensuring consistency and reducing duplicated work. * Supports common 3D and CAD formats, including GLB, RVT, IFC, NWD, RVM, STEP, JT files, making it easier to bring engineering models into your workflow. * Assets can be searched, sorted, previewed in a built-in 3D viewer, and adjusted after upload to ensure correct scale, orientation, and alignment. * Authorized users can also download original files when needed. #### Improvements [Section titled “Improvements”](#improvements-44) * Standardized NavVis device naming * Added validation for zipped mesh uploads #### Bug Fixes [Section titled “Bug Fixes”](#bug-fixes-54) * Fixed data bundle opening incorrectly for organization admins * Fixed issues with pending invitations causing inconsistencies * Fixed errors when updating access rights with pending invitations * Fixed permission issues for users with child node memberships * Fixed incorrect or missing role labels * Fixed user deletion inconsistencies * Fixed project creation and layout upload issues for ContentManager role * Fixed UI inconsistencies in usage pages * Fixed SCIM provisioning issues with missing attributes ## **Version 26.3** [Section titled “Version 26.3”](#version-263) **Release date:** 17 March 2026 **What’s New** - **RealityTwin** * **Create RealityPlan Project from Zone** * Users can now create a RealityPlan project directly from a defined Zone. *** - **RealityPlan** * **New Workspace** * New RealityPlan Web workspace with layout visualization and measurement tools. * Aligns layout data structure with RealityTwin and is available for projects created from RealityTwin, establishing a shared foundation for future capabilities such as versioning and collaborative editing. This is a major architectural step toward a unified workflow between planning and twin environments. - *** **RealityConnect** * **Siemens NX Plugin (Beta)** * Beta release of the Siemens NX plugin, expanding interoperability with enterprise engineering ecosystems. **Improvements** * RealityTwin * Box, Pipe, and Magic Wand tools now offer an option to create another asset immediately after placement. * Several UI improvements and fixes to better align components with our design system, including checkboxes and modal dialogs. * File sizes are now displayed using Windows-style formatting across the platform, including in the Asset Library. * Unified the interface for manually creating RealityAssets. Geometry and naming are now handled in a single workflow instead of separate steps. * Renamed **“Inspect”** to **“Go to”** to better reflect the teleportation behavior of the feature. **Bug Fixes** * *17 March 2026* * RealityTwin & RealityComposer * Fixed an issue where the asset types endpoint could return an error when no assets were present. * Fixed an issue where **NaN** could appear when measuring diameter. * Fixed an issue where the Composer minimap would not resize when expanded and would not recenter when adding new layers. * Improved the convex decomposition algorithm to better handle complex shapes created in RealityComposer or with tools such as measurements and zones. * Fixed an issue where the third-person character could bounce while idle. * Fixed an issue where the help menu could overlap and hide the user menu. * Fixed an issue where the list of available asset types was not always refreshed when creating new assets. ## **Version 26.2** [Section titled “Version 26.2”](#version-262) **Release date:** 19 February 2026 **What’s New** * **RealityTwin** * **Third-Person Navigation Mode** * New third-person navigation mode with improved controls and more accessible movement behavior across complex geometries. * Uses the avatar configured in the user profile for a consistent identity experience. * **Advanced Asset Property Filtering** * Expanded asset search with advanced operators including greater than, less than, between, contains, starts with, ends with, is empty, and is not empty. * Enables more precise and contextual queries across asset properties. *** * **RealityPlatform** * **Advanced Role Management & Customization (Enterprise)** * Full role customization across RealityPlatform, RealityTwin, and RealityPlan. Organizations can create, edit, delete, and reorganize roles across all contexts, with complete control over administrative permissions and content access levels. * **Avatar Customization** * New avatar selection and customization tool with predefined avatars, animation preview, custom imports, and branding options. * Avatar is automatically used in RealityTwin third-person navigation. *** * **RealityPlan** * **New Workspace** * New RealityPlan Web workspace with layout visualization and measurement tools. * Aligns layout data structure with RealityTwin and is available for projects created from RealityTwin, establishing a shared foundation for future capabilities such as versioning and collaborative editing. This is a major architectural step toward a unified workflow between planning and twin environments. **Improvements** * RealityTwin * Objects are now properly centered on screen when inspected or teleported to. * RealityPlatform * Optimized the upload concurrency mechanism to increase throughput and improve overall upload performance. * Users can delete input data from the Data Bundle → View Dataset page once locked and not processing. Includes safeguards and irreversible action warnings. * RealityPlan * Hub Modernization & Stability Improvements. Upgraded to Electron 39+ with security updates, improved compatibility, runtime validation, API migrations, and updated Windows installer. **Bug Fixes** * 12 March 2026 * RealityPlatform * Fixed an issue where a user could disappear from the user list after updating their access when they had no direct node access. * Fixed an issue preventing content access from being assigned to a user in certain situations. * Fixed an issue where the RealityPlan Web legacy viewer (for non-composed projects) would not open when the mesh was available but the bundle was not yet ready. * Fixed an issue where the processing button appeared active even when no input data was available for a data bundle. * Fixed synchronization issues between viewers. Page refresh now works correctly in the bundle viewer, RealityTwin viewer, and RealityPlan Web viewer. * Fixed navigation issues when a user had content access on a nested node while also having administrative access on a parent division. * 10 March 2026 * RealityPlatform * Improved photosphere orientation handling for FARO TLS devices. The platform now correctly supports cases where newer FARO devices automatically apply a 180° rotation to captured images. * 5 March 2026 * RealityComposer & RealityTwin & RealityPlan * Fixed an issue where the point matching interface in RealityComposer would not appear during alignment. * Fixed an issue where users with read-only permissions could receive a 403 error when accessing newly created layouts. * Improved messaging when users attempt to create a RealityAsset without the required permissions. * The design project name is now displayed in the RealityPlan toolbar. * Added support for an **“Open in Hub”** button for design projects. * 3 March 2026 * RealityPlatform * Added additional guidance for configuring SCIM with Microsoft Entra. * SCIM user email addresses can now be updated using supported update endpoints. * Fixed translation issues on the SCIM configuration page. * Fixed an issue affecting the local export offset of RealityAssets. * Improved stability when initializing cuts that fail convex decomposition. * Improved stability of HLOD generation at lower settings. * *24 February 2026* * RealityPlatform * Fixed a bundle viewer crash that could occur when one representation was still processing while others were already available. * *20 February 2026* * RealityPlatform * Fixed an issue allowing processing to start after input data had been deleted. * Fixed an issue preventing users from being disabled through SCIM. * Fixed an issue where the “View dataset” option in the contextual menu was disabled for point clouds. * Fixed a redirection loop that could occur when rapidly switching between organizations, and added a loading state while organizations are loading. * *19 February 2026* * RealityPlan * Fix local export offset of Cuts and Reality Assets. * Stabilization on the scene rendering with “Low” setting. * RealityPlatform * Fixed missing loading & error status on Home Page for Data Bundles. * \[SCIM] - Fixed patch endpoint not supporting advanced filters. * \[API] Fixed product seats being blocked by oauth applications. * RealityTwin * Ensured the updatedAt field for BusinessObjects (RealityAsset, POI) is always properly updated, guaranteeing accurate values when returned by the RealityConnect API * Fixed a bug preventing user interaction with the scene after switching tabs using CTRL+TAB. * Fixed an issue where scene interaction was blocked after switching focus. * Fixed some bugs causing the metadata system to return 500 errors. * Fixed an issue where long text was not rendering properly inside integration fields in the asset visualization view. * Fixed a zoom viewport issue in orthographic navigation mode. * Fixed a misaligned turntable in orthographic mode. * Fixed a bug causing the edition sidebar (tool sidebar) of a RealityAsset to become invisible when switching editing focus between objects. * Fixed a conflict between the “Photosphere” navigation and turntable controls (double-click input conflict) ## **Version 26.1** [Section titled “Version 26.1”](#version-261) **Release date:** 21 January 2026 **What’s New** * **RealityPlatform** * **CAD as an Environment** * Import CAD models directly into the platform and use them as an environment layer inside RealityTwin. This allows teams to structure, tag, and manage assets even without reality capture data, while also enabling mixed CAD and scan-based environments within the same twin. * **RealityConnect License Pool** * New [floating license system](/en/realityplatform/organization-management/realityconnect-license/) for RealityConnect plugins with dynamic assignment on login and release on application close. Includes usage summaries, updated subscription pages, and cloud admin controls. * **New Device Support: Gexcel** * Prevu3D now supports Gexcel devices in the device-based upload workflow. *** * **RealityPlan** * **LOD for Cuts** * A new Levels of Detail system dynamically adjusts cut quality based on the viewpoint, improving performance for large or multiple extractions. *** * **RealityConnect** * **RealityConnect for Revit** * Stream your Twin environment & Assets with shared coordinates directly into Revit, removing import limits and manual download steps. OAuth-based sign-in with persistent sessions and a Site Picker to browse and select desired Twin directly from the plugin. See all the details [here](/en/realityconnect/realityconnect-for-revit/user-guide/). **Improvements** * RealityTwin & RealityComposer & 3D Data Bundle Viewer: * Improved object manipulation * More comfortable and precise interactions when working with RealityAssets, primitives, and 3D model placement. * Faster and more consistent navigation * Double-click teleportation is now available across RealityComposer and the 3D data viewer. Minimap behavior has been unified and supports teleportation. Top-view zoom is now significantly faster, even in large spaces. * Faster project loading * Projects with many layers now load much faster, improving overall responsiveness when opening complex twins. * Clearer permissions and license feedback * Users now see clearer feedback when actions are unavailable due to permissions or license limitations. **Bug Fixes** * 10 February 2026 * RealityPlatform * Fixed an issue where users could not be deactivated through SCIM, specifically from Microsoft Entra. * Improved the move node warning message to make it clearer. * RealityPlan * Fixed missing annotations in Photosphere mode. * Fixed a deserialization issue that stalled the loading of certain layouts. * 5 February 2026 * RealityPlatform * Fixed an issue where tabs switched unexpectedly when clicking multiple times on sites in the left side panel. * Fixed an issue where projects did not appear after creation without having to refresh the page. * Fixed an issue with account disabling during SCIM operations. * Fixed an issue where SAML group mapping was editable from SCIM groups. * Fixed an infinite loader when accepting an invite that had already been accepted. * Fixed an issue where data bundles could not be deleted from the Trash. * 4 February 2026 * RealityPlatform * Fixed an issue where the home page items were not refreshed when switching sites * Fixed an issue where group text chips overlapped content when the name was too long. * 30 January 2026 * RealityPlatform * Fixed performance issues during SCIM group provisioning for large groups (more than 1000 users). * Fixed an issue preventing the data bundle from properly reaching the ready state after successful processing. * Fixed multiple popups appearing when uploading large amounts of data. * Fixed an issue where deleting a user invitation to a group did not work from the Manage Users modal on the Groups page. * *27 January 2026* * RealityPlatform * Fixed “Select all” not working correctly in the file browser. * Fixed issues preventing file deletion or download immediately after upload. * Fixed layout issues in the sharing modal caused by long group names or email addresses. * *22 January 2026* * RealityComposer * Fixed duplicated bundles appearing in the Add Layer menu when creating compositions. * RealityPlatform * Corrected UI issues Usage Summary panel * Fixed display issues causing group chips to take unnecessary space in the users list. * Fixed groups not reappearing in suggestions after being unselected in the sharing modal. * *21 January 2026* * RealityTwin & RealityComposer & 3D Data Bundle Viewer: * Fixed issues that allowed adding layers when required mesh data was missing. * Resolved UI issues with long metadata fields and improved their behavior after editing. * Fixed failures when saving large compositions with many shapes or layers. * Corrected issues preventing layer rotation editing in alignment tools. * Fixed cases where tools could be triggered via shortcuts without proper permissions. * Corrected photosphere landing orientation and camera tilt after teleportation. * Fixed excessive rotation when using rotation handles. * Fixed crashes when rapidly switching between standard navigation and photospheres. * Improved occlusion behavior behind boxes and polygon handles. * Fixed orthographic camera issues preventing panning in side views. * Improved turntable teleportation centering. * Fixed issues preventing the 3D data viewer from opening in certain cases. * Improved search responsiveness. * Reduced WASD navigation sensitivity for smoother movement.