> For the complete documentation index, see [llms.txt](https://doc.realvirtual.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.realvirtual.io/extensions/realvirtual-web/supported-components.md).

# Supported Components

## Overview

realvirtual WEB reconstructs a running digital twin in the browser from a single GLB file. All component configuration is embedded in the GLB using the `rv_extras` (REALVIRTUAL) extension during Unity export, and the browser viewer reads this metadata to recreate the simulation, the 3D-HMI and the digital-twin links — no separate configuration files.

This page lists the Unity C# components that are exported and supported in realvirtual WEB, grouped by area. Component names in the browser match their Unity counterparts, so a scene authored in Unity behaves the same way in the browser.

{% hint style="info" %}
Support is defined by the **rv-ODT v1** interchange schema. Everything below is read from the GLB and reconstructed automatically. Components not listed here are either Unity-only or belong to a runtime layer outside the interchange format (for example the in-browser DES engine and library behaviors).
{% endhint %}

## Motion & Drives

The `Drive` component and its drive behaviors are fully supported, including position, speed and acceleration control with limits.

| Component                            | What runs in realvirtual WEB                                                 |
| ------------------------------------ | ---------------------------------------------------------------------------- |
| **Drive**                            | Linear (X/Y/Z) and rotational motion, limits, acceleration, current position |
| **Drive\_Simple**                    | Jog forward/backward with speed and position feedback                        |
| **Drive\_Speed**                     | Speed-controlled motion from a PLC target-speed signal                       |
| **Drive\_DestinationMotor**          | Point-to-point positioning (start → destination) with feedback               |
| **Drive\_FollowPosition**            | Drive directly follows a PLC position signal (scale + offset)                |
| **Drive\_Cylinder**                  | Two-position pneumatic cylinder with end-position feedback                   |
| **Drive\_Gear**                      | Slave a drive to a master drive with gear ratio and offset                   |
| **Drive\_PositionSwitch**            | Bool output while the drive is inside configured position areas              |
| **Drive\_ErraticPosition**           | Random / alternating motion between min and max                              |
| **DrivesRecorder / ReplayRecording** | Record and replay drive motion sequences, signal-triggered                   |

{% hint style="warning" %}
`Drive_CAM` (cam-disc coupling) is reserved in the schema and is **not** simulated in realvirtual WEB yet.
{% endhint %}

## Kinematics & Robotics

| Component     | What runs in realvirtual WEB                                                                                       |
| ------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Kinematic** | Kinematic hierarchy re-parenting (integrate group / kinematic parenting, hierarchy simplification) applied on load |
| **RobotIK**   | Inverse-kinematics solver configuration on the robot root (spherical / non-spherical wrist)                        |
| **IKPath**    | Ordered list of IK targets forming a robot path, with start/end signals and looping                                |
| **IKTarget**  | Target pose, interpolation and blending, pick/place configuration                                                  |

## Transport & Material Flow

| Component            | What runs in realvirtual WEB                                                                                      |
| -------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **TransportSurface** | Conveyor surface moving MUs along a direction at the referenced drive's speed; accumulation and radial turntables |
| **Source**           | Spawns MUs by interval or distance and places them on the transport system                                        |
| **Sink**             | Destroys MUs that reach it                                                                                        |
| **MU**               | Movable-Unit template that the Source clones                                                                      |
| **Grip**             | Pick-and-place gripper (1-bit or pick/place signals, auto / static / physics place modes)                         |
| **GripTarget**       | Snap / align marker for precise MU placement                                                                      |
| **Path**             | Arc-length path for path-based movement (AGV / overhead conveyors); line and arc segments with graph chaining     |

## Sensors

| Component  | What runs in realvirtual WEB                                                   |
| ---------- | ------------------------------------------------------------------------------ |
| **Sensor** | Presence sensor (AABB overlap or raycast); occupied / not-occupied PLC signals |

## Signals & Logic

| Component         | What runs in realvirtual WEB                                                                                                                                                                                                    |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **PLC Signals**   | `PLCInputBool/Float/Int` and `PLCOutputBool/Float/Int` are registered in the browser SignalStore and drive all components                                                                                                       |
| **ConnectSignal** | One-way signal bridge that copies a source signal onto its own signal                                                                                                                                                           |
| **LogicStep**     | Sequencing steps: serial / parallel containers, delay, set/wait signal (bool & float), wait for sensor, drive-to / start-drive / set-drive-speed, wait for drives at target, enable, grip pick / place, IK path, jump on signal |

{% hint style="info" %}
Live signals arrive over WebSocket, MQTT or REST and always override local behavior immediately. Signal direction follows the PLC convention — PLC Outputs are read by the viewer, PLC Inputs are written by the viewer.
{% endhint %}

## 3D-HMI

Marker components authored in Unity that build the browser-based 3D-HMI. For field-level details and authoring workflow see [Building a 3D-HMI](/extensions/realvirtual-web/3d-hmi.md).

| Component                      | What runs in realvirtual WEB                                                                                                     |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| **WebSensor**                  | Signal-bound status indicator with Low / High / Warning / Error states (ISA-101 colors, blink) and optional label                |
| **WebError**                   | Bool-signal error state: 3D badge + entry in the message panel; configurable highlight                                           |
| **WebVisibility**              | Show / hide parts from a bool signal, plus an optional error state                                                               |
| **WebSafetyDoor**              | Safety-door overlay with hazard-zone halo and label                                                                              |
| **CustomRuntimeInstruction**   | Signal-activated operator instruction: multi-step, per-step 3D highlight / isolate, optional document link                       |
| **RuntimeMetadata**            | Tooltip / annotation content (article numbers, descriptions) shown on hover and used for document linking                        |
| **WebDiagnostics** *(preview)* | Couples a PLC error signal to AI error diagnosis — currently a realvirtual WEB feature; the Unity authoring component is planned |

Message panels, KPI dashboards and drive / sensor tooltips are provided by realvirtual WEB itself and are driven by the components above and by live signals.

## Digital Twin Integration

| Component   | What runs in realvirtual WEB                                                                                                              |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **AASLink** | Links a part to an Asset Administration Shell (AASX from a local folder or a server URL); shows Nameplate and Technical Data as a tooltip |
| **CADLink** | CAD-import provenance metadata and in-browser re-import                                                                                   |

## Scene & Structure

| Component / feature             | What runs in realvirtual WEB                                                  |
| ------------------------------- | ----------------------------------------------------------------------------- |
| **Group**                       | Named group membership drives visibility groups                               |
| **WebPivot**                    | Explicit pivot point for a library object (used at import / placement time)   |
| **Connections**                 | Self-describing typed connections (for example sensor → station stop-on-exit) |
| **Camera presets, Measurement** | Provided by the viewer at runtime (camera views, distance measurement)        |

## Extensibility

| Feature                            | What runs in realvirtual WEB                                                                                   |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **WebComponent (GLB-embedded JS)** | Sandboxed `setup(self)` behavior scripts embedded in the GLB, executed in a secure in-browser sandbox (opt-in) |

## See Also

* [realvirtual WEB](/extensions/realvirtual-web.md) — export and publish workflow
* [Building a 3D-HMI](/extensions/realvirtual-web/3d-hmi.md) — authoring the `Web*` 3D-HMI components in Unity


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.realvirtual.io/extensions/realvirtual-web/supported-components.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
