Skip to main content

X-ray Vision

X-ray Vision identifies controls in Pega Robot Studio for use in an automation. Compared to legacy match rules, X-ray Vision minimizes configuration and reduces the time required to adjust match rules.

For example, when using legacy match rules, if a control’s attributes change and Pega Robot Studio cannot uniquely identify the control, you must update the match rule before the control can be used in an automation.

With X-ray Vision, each control is assigned a numerical value called the PegaId. When using the PegaId as the match rule for a control, the X-ray Vision engine modifies the database file, which contains the control attributes, and the match rule never needs modification.

X-ray Vision currently supports .NET, WPF, and WinForm applications as well as web applications.

X-ray Vision configuration and files

By default, newly added Windows applications have X-ray Vision enabled. To disable X-ray Vision, set the EnableX-rayVision to False in the advanced properties grid for the Windows application.

Screnshots showing properties for X-rayVision in Pega Robot Studio.

When you interrogate an application using X-ray Vision, Pega Robot Studio creates four files in an X-ray folder within the project folder. The files are each named with a GUID that represents the application. The files have the following extensions and purposes:

File extension File purpose
.xrayConfig Contains configuration information for the application
.xrayDb Contains the X-ray control information for the application, including the PegaId, technique for matching, and attribute values
.xrayTad Contains attributes and their weights that have been modified for the application from the default framework TAD file
.xray Ties together the other X-ray Vision files for the application

The database file is constantly updated while the application is in interrogation mode. When new controls become available after the navigation or a screen changes in an application, the X-ray Vision engine adds the new controls to the X-ray database file for that particular application. When the X-ray Vision engine encounters a control for a second time, the engine compares all the attributes of the control to the values that are stored in the X-ray database file to determine the best attribute to use for identification.

All X-ray Vision files are included when you deploy a project. The X-ray Vision engine uses these files at runtime.


The X-ray Vision engine assigns a PegaId to each control. X-ray Vision stores the PegaId in the X-ray database file for that application. When you interrogate a control, Pega Robot Studio sets the PegaId as the match rule for that control. While in interrogation mode, if the X-ray Vision engine determines that the chosen attribute no longer uniquely identifies the control, the X-ray engine modifies the attribute and saves it to the database file for that PegaId. Only the PegaId match rule is required when X-ray Vision is enabled in the application and never requires modification. Avoid including additional match rules when using the PegaId match rule.

Screenshot showing a control using the PegaId Match Rule in the interrogation form in Pega Robot Studio.

The PegaId match rule is not available for top-level forms or context menu or menu items. Pega Robot Studio uses legacy match rules for these controls.

Note: X-ray Vision is currently not supported for applications that contain embedded frameworks. For example, if you start a WPF application that has embedded Winforms controls, X-ray Vision is used and PegaIds are assigned for the WPF controls. Legacy match rules are used for the Winforms controls.

Web application considerations

When using X-Ray Vision with web applications, keep the following considerations in mind:

  • X-Ray Vision is unavailable when you use Microsoft Edge in Internet Explorer compatibility mode.
  • If you require the UseKeys property for clonable controls, enable UseKeys while you are in interrogation mode and ensure that the control is matched.
  • When you enable the UseKeys property for a control, legacy match rules for that control and any child controls replace the PegaId match rule. You might need to alter match rules afterward to ensure a proper match.
  • If you disable UseKeys after enabling it, Robot Studio continues to use legacy match rules. To use the PegaId match rule, delete the control, and then interrogate it again.

Check your knowledge with the following interaction:

This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice