Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ XR Studio

Hotspot

  • Last UpdatedOct 22, 2025
  • 5 minute read

The Hotspot node attaches a clickable 2D overlay pointer to a 3D element.

  • The hotspot is made up of an image and an optional text label.

  • The image has three states: normal, over, and selected.

Platform support

This node is fully supported on XR-Windows platform.

It is partially supported on XR-Portable Windows, XR-Portable iOS, XR-Portable Android, and XR-P WASM platforms.

The portable platforms do not support 3D mode.

XR-WIN

XR-P-WIN

XR-P-IOS

XR-P-AND

XR-P-WASM

Full support

Partial support

Partial support

Partial support

Partial support

Full support

Limited support

Limited support

Limited support

Limited support

Attachable entities

You can assign a hotspot to different alternative entity types:

  • Mesh

  • Object

  • Collision Mesh (CMesh)

  • An instantiated node that has a position SVEC3 field, such as item, a mesh, or an object.

Note: A hotspot can be attached to only one entity.

Highlight meshes

You can provide a hotspot with a list of meshesToHighlight.

When the highlightMeshes parameter is set to true, the attached entity and all other meshesToHighlight show a colored silhouette.

Hotspot sorting

Sorting of the hotspots has few differences depending on the mode type.

  • mode2D hotspots: Sorting is based on order field value. Lower order hotspots are drawn over higher ones. When two or more hotspots share the same order they are sorted based on their distance from the camera. If all the hotspots have the same order the sorting is purely based on their distance from the camera.

  • mode3D hotspots: They are sorted based on their distance from the camera. The order field is not supported for these type of hotspots.

Using internal textures

Internal textures can be used for any of the state images. Using internal textures enables you to create dynamic hotspot images based on Texture2D and RectBase2D nodes. You might use this, for example, to show the state of a dynamic parameter of the object to which the hotspot is attached.

RectBase2D node instances rendered into a Texture2D shown in a mode2D hotspot will receive mouse events in the same way as if they were a 2D interface, allowing more complex interaction setups for the hotspots.

Note: Support for internal textures behaves a bit differently between mode2D and mode3D. When mode2D is set, it is possible to show both the Internal Texture image and hotspot title. In mode3D, the hotspot title cannot be shown when the image is an internal texture.

The options dictionary

The options dictionary can contain different information, depending on the project scope. Use the options field to display information with the hotspot when the hotspot is selected. This information is used by the application.

Code example

This is a code example for the HotSpot node.

<Hotspot name="400HZ_SSFC_M-SSP54" position="-578.1995 0.731354 1246.958" range="0 200" attachedToMesh="Airport_Total|400HZ_SSFC_M-SSP54" group="1. 400Hz System,Solid State Frequency Converters (SSFC)" options="{camera=Cam_400HZ_SSFC_M-SSP54}{images=Data\Airport\Images\Solid State Frequency Converters (SSFC)}{url=Data\Airport\Datasheet\Datasheet - M-SSP54.htm}{detail3D=PL_400HZ_SSFC_M-SSP54}{url2=Data\Airport\Cars\CARS_Dubai_Airport_Pop_up_pits.htm}" title="M-SSP54" meshesToHighlight="Airport_Total|400HZ_SSFC_M-SSP54_01,Airport_Total|400HZ_SSFC_M-SSP54_02" silhouetteColor="0 1 1" textFont="Arial,Bold,22" textColor="0 1 1" textBackColor="0 0 0 0.7"/>

Hotspot fields

These are the fields for Hotspot node. Only the node-specific fields are indicated, not fields obtained by inheritance.

Field inheritance: NodeBase > Hotspot

Fields

Type

Use

Default value

Description

active

sbool

Optional

true

Activates or deactivates the hotspot.

attachedToCMesh

mstring

Optional

Not set

The full name (including pipes) of the collision mesh to which to attach the hotspot.

attachedToMesh

mstring

Optional

Not set

The full name (including pipes) of the mesh to which to attach the hotspot.

attachedToNode

mstring

Optional

Not set

Name of the node to which to connect the hotspot.

attachedToObject

sstring

Optional

Not set

The full name (including pipes) of the dummy object to which to attach the hotspot.

fadeIn

sfloat

Optional

0

Fade-in with the specified amount of time.

fadeOut

sfloat

Optional

0

Fade-out with the specified amount of time.

group

string

Optional

Not set

Can be used to group or parent the hotspots.

highlightMeshes

sbool

Optional

false

Set to true to display meshes silhouette.

images

mstring

Optional

hotspot_normal.png

hotspot_over.png

hotspot_selected.png

List of hotspot state images for normal, selected, and over states. It supports internal textures.

isOver

sbool

Read only

Internally calculated

Becomes true when the selector is over the hotspot.

meshesToHighlight

mstring

Optional

Not set

List of other meshes to include into highlighting.

mode

senum

Optional

mode2D

Specifies the hotspot mode as mode2D or mode3D. 2D is default while 3D is the proper use in VR.

options

dstring

Optional

Not set

Dictionary where to put hotspot-related information.

order

sint

Optional

100

Defines the hotspot overlay layer.

position

svec3

Read only

Internally calculated

Hotspot position in 3D.

positionOffset

svec3

Optional

0 0 0

Hotspot position offset. As the hotspot is placed to the attached entity center, sometimes it might be useful to move the hotspot relatively to better position it.

position2DScreen

svec2

Read only

0 0

The hotspot position in 2D screen points.The hotspot image pinpoint usually corresponds to the center of the image.

position2DOffset

svec2

Optional

0 0

Shifts the positioning of the hotspot in screen coordinates.

range

svec2

Optional

0 -1

Defines the hotspot visibility range. The hotspot displays only when the distance between its position and the camera is inside the range. 0-1 means always visible.

rangeFadeTime

sfloat

Optional

0.5

Fade time when visible state is changed according to the range field. 0 or below means no fading.

selected

sbool

Optional

false

Used to read/write hotspot selection.

setOver

sbool

Optional

false

Can be used to trigger over behavior from script.

silhouetteColor

svec3

Optional

1 1 1

Color for the highlight silhouette.

size

svec2

Optional

256 256

Hotspot image size.

textBackColor

svec34

Optional

0 0 0 0

Hotspot text background color with alpha (RGBA).

textColor

svec3

Optional

1 1 1

Hotspot text foreground color.

textFont

sstring

Optional

Arial,Bold,26

The hotspot text font.

textShow

senum

Optional

Always

Defines whether to show hotspot text. The options are Always, Never, or Onover.

title

string

Optional

Not set

Text to show in the hotspot label.

visible

sbool

Read only

Internally calculated

Shows the hotspot visibility state.

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in