Visual scripting project setup
Requirements
To use AR Foundation's built-in visual scripting support, your project must meet the following requirements:
- Visual Scripting 1.8.0 or newer
If your project doesn't contain the Visual Scripting package, refer to Install a UPM package from a registry to learn how to install it.
Version control
The Visual Scripting package generates some large binary files as part of its setup process. If your project uses version control, you should ignore these files. Refer to the Visual Scripting package's Version control systems documentation for an example .gitignore template.
Project settings
Go to Project Settings > Visual Scripting.

Initialize Visual Scripting
If this is your first time using Visual Scripting in this project, click Initialize Visual Scripting to begin setup. After Visual Scripting is initialized, you are able to proceed to the following steps.
Node Library
Use the Node Library list to add or remove nodes and their assemblies from Visual Scripting. The Node Library comes pre-populated with a default set of assemblies. You must add the AR Foundation assemblies to be able to use the AR Foundation custom nodes.

Node Library, shown with AR Foundation assemblies
Add the following assemblies to the Node Library:
| Assembly | Description |
|---|---|
Unity.XR.ARFoundation |
Contains all AR Foundation managers, trackables, and essential types. |
Unity.XR.ARSubsystems |
Contains all AR Foundation subsystems and types necessary to perform certain actions such as raycasting. |
Unity.XR.CoreUtils |
Contains the XROrigin type and various utilities. |
(optional) Unity.XR.ARFoundation.Samples.VisualScripting |
The AR Foundation Samples GitHub repository contains an optional assembly that you can copy into your project. This assembly contains additional custom nodes that are outside the scope of the AR Foundation package, but might be useful in your project. Refer to visual scripting samples to learn more about these nodes. |
Click Regenerate Nodes.
Type Options
Type Options determine which types you can use as Input Ports, Output Ports, and Variables in your visual scripting graphs. Type Options similarly come pre-populated with a default set of types, and you must add the AR Foundation types to be able to use the AR Foundation custom nodes.

Type Options, partially shown with AR Foundation types
For the best experience using AR Foundation with visual scripting, it is recommended that you add the following Type Options. None of these Type Options are strictly required, but you will be unable to use custom nodes related to these types if you do not add them as Type Options.
Trackable Types
AR PlaneAR Tracked ImageAR Tracked ObjectAR FaceAR Human BodyAR Point CloudAR RaycastAR AnchorAR Environment ProbeAR Participant
Manager types
AR SessionAR Camera ManagerAR Plane ManagerAR Tracked Image ManagerAR Tracked Object ManagerAR Face ManagerAR Human Body ManagerAR Point Cloud ManagerAR Raycast ManagerAR Anchor ManagerAR Mesh ManagerAR Environment Probe ManagerAR Occlusion ManagerAR Participant Manager
Other useful types
AR Session StateXR OriginAR Camera Frame Event ArgsAR Light Estimation DataPlane ClassificationXR Reference ImageXR Reference ObjectAR Raycast HitTrackable TypePoseTrackable IdTracking State
Collections
List of AR Raycast Hit
After adding the recommended Type Options, click Regenerate Nodes again.
Note
You may need more Type Options depending on the scope of your project. If you are unable to access the Expose or Literal nodes for a type, or you can't use a certain type as a Variable, you likely do not have that type added as a Type Option. Fix this by adding the Type Option and clicking Regenerate Nodes.