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

AVEVA™ XR Studio

XR Modules Guide

  • Last UpdatedOct 02, 2025
  • 2 minute read

Modules are packages of pre-built scripts that enable consistency and reusability of XR XML/XRS scripts. The concept behind the XR Modules is not different from the one behind the engine nodes: they both provide means to expose functionalities through the use of fields. Similar to nodes, XR Modules expose fields to customize behaviors that are scripted internally, with the difference that these behaviors are developed using the XR script and XR nodes.

Having an instance of an XR module in the project implies that the project references its PAK file in the project.manifest. This way the project, when launched or released, will include the PAK containing the module scripts and assets.

For example, in order to use the input module in a project, the following line, with custom originalVersion and currentVersion, needs to be added to the project.manifest:

<Content contentName="xrmodules_input.pak" contentType="Pak" bundleName="Core" bundleType="Package" originalVersion="X.Y.Z.W" currentVersion=" X.Y.Z.W " />

For the list of available modules and where to find their PAKS, see Distributed modules.

Any XR module can be instantiated in a project using the Module node, and through that node fields users can customize the XR Module behaviors.

There are three types of fields in any Module node, following this prefix naming convention.

Field

Description

config_

These fields are configurations, they can be set when defining the module node (omitting config_ in the definition) and they cannot be changed at runtime.

input_

These fields are meant to change the module’s code flow at runtime, as users can write into these fields any time after initialization. Often input fields have a config_ field counterpart with the same name that would set the input field initial value.

output_

These fields are meant to be read-only. Users can rely on these to retrieve data and information, but writing on them would not affect the module code flow in any way.

Why use XR Modules?

XR Modules are developed internally and make use of all the latest capabilities of the XR Framework. They follow coding best practices and are designed in tight collaboration with the UX team, granting consistency, quality and maintainability. Script compatibility with running framework is granted, potentially easing the workload of project porting to newer version of the XR Framework.

TitleResults for “How to create a CRG?”Also Available in