Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
OVER SDK will let you create and publish new OVER Experiences on your OVRLands. This User Manual helps you learn how to use all the SDK features, without requiring a single line of code.
The OVER SDK allows you to publish content within the OVER App.
Once the OVER SDK is installed you can open the OVER Editor in the Window menu of Unity.
Once opened you need to log in with your Access Token (How to get your access token), select the OVRLand where you want to publish and thumbnail to the publication. It is also possible to change the ground type using the Ground View menu to gain a better understanding of the land's position and achieve more precision when placing prefabs.
The Over Editor panel also contains the OVRMaps section where you can download your completed maps in order to place your experience in context with the real world.
After the selection of a Land, the user can choose to display the background map of the hexagon location. The options available are: None, Street and Satellite.
OvrMap is the feature that takes the OVER AR Metaverse to a whole new level. Currently, when placing ('geolocalizing') an AR asset in an OVRLand there’s the limitation of GPS accuracy, usually no better than around six meters. However, using OvrMap to map an OVRLand will have a placement precision of around 20 centimetres.
The OvrMap Editor Settings enable the possibility to use the mapping generated through the OVER app to reposition 3D assets in a coherent way with respect to the real word environment.
In the OvrMap editor settings section, you can see and choose between all the maps you have completed or bought. By selecting 'Workspace' from the OVRLand section, you will see all the maps linked to your account.
Next, by selecting one of your OVRLands from the OVRLand section, you will see only the maps related to the selected OVRLand.
Once you have chosen the OVRLand and the relevant map, click on the load map button to download and spawn the generated 3D Gaussian Splatting model in the scene.
In addition to Gaussian Splatting, you can also load the map in legacy mode, which will provide a 3D point cloud version of the mapping.
If you mapped an OVRLand in which you don't have the rights to publish, you can still test the placement of the the asset ('localization') by publishing in your OVER Workspace and visiting the mapped location.
For further information please read OvrMap Setting
OvrMap is the component for setting up the mapping offset from the OVRLand of the content to be published.
After you have imported a map you must align it correctly to the OVRLand by moving and rotating it.
In order to achieve high precision placement, it's very important to adjust the position and rotation offset of the 3D model in relation to the OVRLand. While doing this, please take note that the OVRLand blue arrow (Z-axis) points toward the north.
Once the map has been aligned correctly, you need to click on the Save mapping data button to save the changes, or discard the changes using the Reset Mapping Data button
Thanks to our plugin, you can take advantage of all the Unity Engine features as it is the same development environment used in the OVER app. You can integrate major 3D formats like fbx, dae, 3ds.
Download Unity Hub
Download Unity version 2022.3.13f1
Install the modules:
Universal Windows Platform Build Support
Mac Build Support
WebGL Build Support
iOS Build Support
Android Build Support
Create OVER Account
Get OVER API Key
Create 3D or Open Unity Project
Window > Package Manager > + > Add package from git URL
, enter: https://github.com/OVR-Platform/unity-sdk.git#upm
Open the scene
Right Click inside the Hierarchy Tab
OVER > OVER_Asset
Create a Cube inside the OVER_Asset
In the Over Editor panel > Publication
Insert/Generate Thumbnail Image, Thumbail video
Publish
Open the OVER App > Lab > Workspace OVER
For more info refer to our GitHub
The Main Components of OVER SDK
We are thrilled to announce that version 0.3.3 of our SDK introduces enhanced support for Unity Visual Scripting! While our previous visual scripting system provided a great starting point, this update brings improved integration and functionality, allowing for a more streamlined development experience.
Key highlights of the new feature include:
Seamless Integration: Benefit from a more cohesive experience with Unity Visual Scripting, making it easier to create and manage your game logic.
Improved Node Library: Access a richer set of nodes tailored for our SDK, enabling more complex interactions with less effort.
Better Performance: Enjoy optimized performance for your visual scripts, allowing for smoother gameplay and faster iteration.
We encourage you to explore the new capabilities and refer to the Unity Visual Scripting Documentation for more information.
We’re excited to see how this enhancement will empower your development process and encourage creative solutions. Let us know your thoughts!
Happy developing!
The OVER SDK is optimize to publish the current open scene, there must be only one OvrAsset present in the scene and no other object as root. The only other assets that can be present are the map and the land borders because they will automatically remove upon upload.
To speed up the publication process, other than auto select the active scene, we gave the possibility to generate throught the Unity Recorder the thumbnails used to preview the experience .
The Scene Validity button will analyze the scene for valid scripts and objects and if any of the objects in the prefab go outside of the bounds of the hexagon or folder. The Scene will also be checked to ensure that there is only one OvrAsset in scene and no other external root objects.
A popup will inform the user about the result of the check.
The AR Layer represents the publication of a geolocalised experience. Geolocalised experiences can also be lived remotely, by replacing the camera with the OVRMap (real-world Digital Tween) or, alternatively, by positioning the AR experience within the context in which one is located, previewing the experience outside its original context.
The Virtual Layer is optimised for occlusive experience. The relationship with the original context is therefore not necessary and the background of the experience replaces, in a completely occlusive way, the camera and the OVRMap. In this Layer, being completely virtual, collisions with objects are present, so it is possible to touch walls, climb stairs and teleport.
Using the OVER GATE Console is possible to create your personalized events. Thanks to this powerful tool, it will be possible to transmit audio, show your avatar and monitor all the connected users in the event rooms.
A further feature, which the OVER SDK offers, is the ability to add gated access to the experience by defining an NFT contract address during publication.
This feature works with the following chains: Ethereum, Polygon, Binance Smart Chain.
The user visiting the published experience will only be able to access it if he/she is in possession of an NFT belonging to the contract declared at the time of publication.
Gives users the ability to access, Geolocated experiences, remotely. This setting is enabled by default for virtual experiences
Gives the possibility to display the OVRMap remotely, this setting is not present in Virtual Layer Experience.
Walk Mode allows the user to move inside the experience by moving the phone in real space.
Occlusion allows mixed reality content in your app to appear hidden or partially obscured behind objects in the physical environment. Without occlusion, geometry in your scene will always render on top of physical objects in the AR background, regardless of their difference in depth.
Activates environment occlusion for Android devices, ensuring that 3D elements are visually "hidden" behind real-world objects when viewed through the camera.
Activates the human occlusion on Apple devices, utilizing iOS's capability to recognize people within the camera's view. It allows virtual elements to appear as if they're going behind people, creating a more realistic AR experience.
Activates environment occlusion for ApplePro devices, ensuring that 3D elements are visually "hidden" behind real-world objects when viewed through the camera.
Unity's property for determining the distance from the camera, the shadows of game objects become less obvious the farther the game objects are from the camera.
There are two different methods for projecting shadows from a directional light. Close Fit renders higher resolution shadows but they can sometimes wobble slightly if the camera moves. Stable Fit renders lower resolution shadows but they don’t wobble with camera movements.
Shadows can be rendered at several different resolutions: Low, Medium, High and Very High. The higher the resolution, the greater the processing overhead.
Here you can find listed all the NFTs you have linked to your account.
To instantiate an NFT in the scene, you can select it and click on the "Spawn NFT" button. After that, the NFT will be downloaded the first time and imported directly into the scene.
When an NFT is downloaded, the file will be saved in "Assets\Over Unity SDK\NFTs\Models" inside a sub-folder with a unique name.
After an NFT is imported into the scene it will be automatically set as a child of the "OVER_Asset".
You can have multiple NFTs in the scene which are the same or all different but each NFT must have an "NFT Experience Item" attached to it to be recognized as NFT inside the app.
If you want the NFT to be controllable from any user inside the experience, just check the "Is Controllable" checkmark on it and it will be possible to control it with the Joystick available inside the app.
This is the component responsible for setting up the screen canvas UI of the OVER Experience to be published.
To avoid problems in the user experience, there is only a sub-part of the screen where custom UI can be placed.
Only one OvrCanvas can be set in the scene. If you try to include more than one, the original OvrCanvas will be removed.
The OvrCanvas prefab can be found in "Assets/Over/Over Assets" and has the following structure:
All the UI objects must be placed under the Panel, inside the mask of the PanelContainer.
If a UI object is placed outside the mask, it won't be rendered.
See the Over Canvas section for more details about how this impacts the user experience in the App.
Unity Visual Scripting is a powerful feature that allows you to create game logic without writing code, using a node-based graphical interface. With this section, developers can design and implement complex scripts in an intuitive and visual way by dragging and connecting nodes that represent actions, events, and variables.
This solution is perfect for those without programming experience, as well as for experienced developers who want to speed up prototyping or simplify code in complex scenarios. With Unity Visual Scripting, you can create interactions, character behaviors, game logic, and much more—all without writing a single line of code, making the development process accessible to a broader audience.
In this section, you will find objects containing the necessary scripts to use variables and the graph.
The Graph option allows you to create an empty GameObject that automatically contains the 'Script Machine' component. This component is essential for managing Unity Visual Scripting graphs, serving as the foundation for attaching and executing visual scripts. The Script Machine acts as a container for the visual script logic, enabling the integration of node-based workflows directly within your Unity project.
By using the Graph option, you can easily set up a new script that interacts with the Unity Visual Scripting environment, allowing for seamless control over game events, behaviors, and interactions. The Script Machine provides an intuitive way to link and manage graph assets, making it an indispensable tool for creating complex game mechanics without writing code.
The Over Script Manager is a Component responsible for managing all of the OverScripts present in Scene.
Explore in the dedicated section OverScriptManager
The OVER Visual Scripting system allows for simplification of the OVER Experience creation process, by delivering to the end user a visual tool to create experience logic, fully compatible with the OVER App.
Similar to the OVER Component Node System, the main building block is represented by OverNodes, a visual representation of a code block responsible for delivering a specific functionality.
The Over Script Manager is a Component responsible for managing a single graph .
Explore in the dedicated section OverScripts
The Variables option allows you to create a new GameObject that automatically includes the 'Scene Variables' script. This script is crucial for managing and storing variables within your scene, making it easy to create, modify, and access data throughout your Unity project.
By using the Scene Variables script, you can define global variables that are accessible across multiple scripts and objects within the scene, allowing for better organization and control of game logic. It serves as a central hub for storing data such as player scores, health values, or any other dynamic data that needs to be shared between different systems.
The Variables option simplifies the process of variable management in Unity Visual Scripting, offering an intuitive way to handle and reference variables directly within the visual scripting environment. This makes it easy to create complex interactions and behaviors based on the data in your scene, without having to manually code variable handling.
You can display prefabs by right-clicking in the hierarchy and selecting OVER.
In this section, are OVER's useful prefabs. They can be quickly accessed by clicking on them.
Under the heading Presets, you will find the prefabs pre-packaged by OVER to simplify the realization of various dynamics within the Experience.
Image Streamer is a Unity script designed to streamline the process of downloading an image from a remote URL.
Once the image is fetched, it is saved locally, and the script automatically applies it to a specified texture. This can be particularly useful for applications that need to dynamically load images from the web and display them in real-time, such as in gallery apps, user profile systems, or any project that requires external image integration.
The script handles the image downloading, saving, and texture assignment seamlessly, providing an efficient solution for managing external image resources within your Unity project.
A OVER_ConsoleSpawnPoint is an object that represents the position where the console user will appear
With this prefab it's possible to include screen share funcionality to the experience.
By instantiating the prefab, an empty screen panel will be placed in the scene, this can be edited by changing it's size, position and rotation.
You will be able to share your screen while broadcasting yourself using the OVER GATE Console
A OVER_RemoteSpawnPoint is an object that represents the position where the user will appear if image relocation is not possible.
With this prefab it's possible to add transparency to a chroma key video like a green screen.
In the Editor section, we provide a suite of custom tools designed to simplify and enhance the process of managing and publishing the Experience.
These tools are built to streamline essential tasks related to helping you efficiently manage your project from development through to release.
This prefab contains cameras and scripts to capture a 10-second thumbnail video.
Adding this to the scene before tapping the "generate" button allows customization of the video generation by modifying the camera's position or the path it follows during recording.
We use Unity Recorder and CinemachinePath to achieve this.
This section provides a collection of practical examples demonstrating how to implement and utilize our scripts.
These examples will help you understand how to integrate our scripts into your projects, as well as provide inspiration for building more complex features.
In this example, we demonstrate how to control a Cube object within Unity using a custom script that allows interaction via a dedicated mobile app controller.
The script establishes communication between the Unity scene and the app, enabling real-time manipulation of the Cube’s position, rotation, or other properties based on input from the app.
The OVER SDK allows you to publish content using all the features of Unity. It also gives you the possibility, through a layer based on a node system, to develop experiences without writing code.
The basic structure is the OvrNode which has different behaviors according to the functionality it performs.
All OvrNodes have an editable ID – a list of nodes that are executed before their main function, and a list of nodes that are executed after their main function. The primary function will be shown in the center of the OvrNode component.
Thanks to the OvrVariable you'll be able to perform calculations, write texts, and control behaviors.
Finally, through Triggers, it is possible to execute multiple OvrNodes which execute other OvrNodes, according to the Pre/Post Execution Nodes assigned. The succession of these executions allows the operation of many dynamics; from the simplest, such as changing the color of a light, to the most complex, such as creating a fully working game.
Inside the OVER SDK you will find a Demo Scene that will help you to understand the use of OvrNodes to create a mini-game. Moreover, the demo acts as a guide on to how to organize the elements in the scene to keep all the necessary elements ordered for the realization of a project. Specifically, it proposes the creation of a new object for each micro feature created.
The Check Prefab/Scene Validity button will analyze the prefab/scene for valid scripts and objects and if any of the objects in the prefab go outside of the bounds of the hexagon or folder. The Prefab/Scene will also be checked to ensure that there is only one OvrAsset in scene and no other external root objects.
A popup will inform the user about the result of the check.
The various implementations of OvrNode, which represent the back-bone of the SDK Logic and functions.
Subclass of Ovr.OvrNode
This is the representation of an Object present in a Scene. It's closely related to UnityEngine.Monobehaviour, a kind of GameObject, and used to manage how a selected object should behave during its lifetime.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
OnDisableNodes
: is still executed just before executing OnDestroyNodes.
OnEnableNodes
: is still executed just after executing OnStartNodes.
OnAwakeNodes
Collection of OvrNodes which have to be executed once the OvrObject Component is loaded during Play (similar to the Awake function in Unity).
OnDestroyNodes
Collection of OvrNodes which have to be executed once the OvrObject Component is destroyed during Play (similar to OnDestroy function in Unity).
OnDisableNodes
Collection of OvrNodes which have to be executed once the OvrObject Component is disabled/deactivated during Play (similar to OnDisable function in Unity).
OnEnableNodes
Collection of OvrNodes which have to be executed once the OvrObject Component is enabled/activated during Play (similar to OnEnable function in Unity).
OnStartNodes
Collection of OvrNodes which have to be executed once the OvrObject Component is set to the first frame during Play (similar to Start function in Unity).
Subclass of Ovr.OvrNode
This Node is used to correctly create and place a specific Object (GameObject or Unity Prefab) into a Scene. Also has the ability to keep the references of all instances of the Object created during Play time.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
Prefab | OvrObject to instantiate. Can be present in Scene or stored in the Project Assets Folder as a Prefab. |
Parent | Transform | Parent Object (Unity Transform), under which you instantiate the OvrObject |
OnDisableNodes | Collection of OvrNodes which have to be executed once the OvrObject Component is disabled/deactivated during Play (similar to OnDisable function in Unity). |
NewOvrObjects | Collection of OvrObjects, instantiated from this Component. |
Subclass of Ovr.OvrNode
This Node is used to correctly dispose of an Object present in the Scene. Has the option to destroy either the target object or just its children.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
DestroyTarget
Destroy target with all of its children
DestroyAllTargetChildren
Destroy only target's children
DestroyType
Type of behaviour expected from this Component.
Target
GameObject
Target Object to destroy.
TimeBeforeDestroy
OvrFloat
Time, in seconds, before destruction.
Subclass of Ovr.OvrNode
This Node is responsible for describing and handling boolean conditions, resulting in a boolean statement of truth.
Typically used as a foundation in more elaborate boolean checks.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
ConditionOperator | Comparing condition |
Variable1 | Variable to compare |
Variable2 | Variable to compare |
Result | Boolean condition result |
Subclass of Ovr.OvrNode
This Node is responsible for handling if-else statements, executing different sets of OvrNodes depending on certain OvrConditions.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
Equals
==
NotEqual
!=
GreaterThan
>
LessThan
<
GreaterThanOrEqual
>=
LessThanOrEqual
<=
BooleanLogicalOperator
Boolean operator selected
OvrConditions
Set of conditions to satisfy, which resulting truth value depends on the boolean logical operator selected
SatisfiedConditionNodes
Set of nodes to execute if the conditions are met
UnsatisfiedConditionNodes
Set of nodes to execute if the conditions aren't met
And
Returns True if all conditions are True, False otherwise.
Or
Returns True if almost one condition is True, False otherwise.
IterationsCount
Simple loop with finite number of iterations.
While
While loop – a condition must be true in order to continue looping.
Subclass of Ovr.OvrAsyncNode
This Node is responsible for implementing looping constructs, such as Simple loops and While loops.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
ExecuteOnStart
boolean
If True, this node will be executed during the first frame of Play time
ExecutionDelay
Delay before execution of the OvrNode
EndExecutionDelay
Delay before execution of the PostExecutionNodes
TimeBetweenEachNode
Time to pass between each node execution
TimeBetweenEachIteration
Time to pass between each loop iteration
LoopType
Type of iteration selected
IterationsCount
[Only OvrLoopType.IterationsCount] Number of loop iterations
OvrCondition
[Only OvrLoopType.While] Condition to continue looping
Nodes
Nodes to execute each loop iteration
Subclass of Ovr.OvrNode
Description
This Node is responsible for implementing simple Mathematic operations between OvrNumericVariables.
Based on the type of variables involved, some operations are not allowed:
OvrInt and OvrFloat cannot be Added or Subracted to OvrVector2, OvrVector3 and OvrQuaternion, nor can be Multiplied or Divided to OvrQuaternion
OvrQuaternion can only be Multiplied to OvrVector3 and OvrQuaternion
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
MathFunctionType
Type of operation
Variable1
First Operation Variable
Variable2
Second Operation Variable
Result
Operation result
Addition | Add two variables |
Subtraction | Subtract two variables |
Multiplication | Multiply two variables |
Division | Divide two variables |
Type | Type of the Update function. |
Nodes |
to be executed in sequence.
Subclass of Ovr.OvrNode
This node is used to generate random values, based on the type of variable the user needs.
By changing the OvrVariableType, the requirements to get the random value change as well.
Attributes
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
In order to generate a random number (OvrInt or OvrFloat), the user needs to provide the node with a maximum and minimum value. The result will be stored in a numeric variable.
There are several ways to generate a new OvrVector2 or OvrVector3:
Like for random numbers, between Min and Max Vectors;
Inside a Unity Circle [OvrVector2] or Sphere [OvrVector3], by calculating a random Vector inside a sphere with radius 1, then scaled up using Min and Max values.
On the surface of a Unit Sphere [OvrVector3 only], by calculating a random Vector on the surface of a sphere with radius 1, then scaled up using Min and Max values.
Attributes are very similar to those above.
To generate a new Rotation (OvrQuaternion), the user can either:
Generate a simple random Rotation;
Generate a random Rotation with uniform distribution
VariableType
Type of the variable
OvrRandomType
Type of function used to generate Random value (in case of Numbers, only Between is allowed)
Min
Min. value of the range
Max
Max. value of the range
Result
Resulting value
QuaternionResult
Resulting rotation value
Subclass of Ovr.OvrNode
This node is responsible for implementing simple functions to create and handle strings.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
Between
Random value is generated inside a range (min, max).
InsideUnitCircle
Random value is generated inside or on a circle.
InsideUnitSphere
Random value is generated inside or on a sphere.
OnUnitSphere
Random value is generated on the surface of a sphere.
Rotation
Returns a random rotation.
RotationUniform
Returns a random rotation with uniform distribution.
StringFunctionType
Type of string operation
Variable1
First Operation Variable
Variable2
Second Operation Variable [Addition only]
Result
Operation result
Update | Called every frame. |
Late | Called every frame, after all Update functions have been called. |
Fixed | A frame-rate independent version of Update, used mostly for physics calculations. |
ToString
Converts variable to string
Addition
Concatenates (links) two strings
GetDistance
Calculates the distance between two vectors.
Vector3FunctionType |
Variable1 | First Operation Variable |
Variable2 | Second Operation Variable |
Result | Operation result |
Type of operation
CrossFadeInt
Crossfade with hash representation of the state name.
CrossFadeString
Crossfade with state name.
SetLayerWeight
Changes the weight of a layer
SetLookAtPosition
Sets a position as a look at target
SetTarget
Sets a new Avatar target
SetInteger
Sets an Integer parameter
SetBool
Sets a Boolean parameter
SetFloat
Sets a Float parameter
UnityAction
Fires a UnityAction
Subclass of Ovr.OvrNode
This Node is used to manage the most common interactions with the Unity Animator Component.
This Over Component requires an Animator to be set up, see Unity Manual for more info.
Based on the action the Animator is required to perform, this component changes its behavior and requirements.
The OVER SDK provides several ways to interact with the Unity Animator Component. A list is present in OvrAnimatorActionType.
Creates a crossfade from the current Animator state to any other state using normalized times.
Fades the animation, with name "StateName", in over a period of "TransitionDuration" seconds and fades other animations out.
The OVER SDK provides two ways to achieve this: either via the State Name [CrossFadeString, accepting OvrString], or the Hash representation of said name [CrossFadeInt, accepting OvrInt].
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
Sets the weight of the layer at the given index.
Note: the following attributes are added to the existing ones from the super class OvrNode
Sets the look at position in OvrVector3.
Note: the following attributes are added to the existing ones from the super class OvrNode
Sets an AvatarTarget and a TNormalizedTime for the current state.
Note: the following attributes are added to the existing ones from the super class OvrNode
Sets the value of the given parameter. The value type will vary, based on the action selected.
Note: the following attributes are added to the existing ones from the super class OvrNode
Execute the assigned UnityAction. Use this Type to directly access the functions made available by Unity in the specific component.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Animator
Unity Animator Component
ActionType
Action type [CrossFadeInt, CrossFadeString]
State[Hash]Name
Name of the Animation State
TransitionDuration
Length of the transition
Layer
Layer
TimeOffset
Normalized time offset
TransitionTime
Normalized transition time
Animator
Unity Animator Component
ActionType
Action type [SetLayerWeight]
LayerIndex
Layer
Weight
Normalized time offset
Animator
Unity Animator Component
ActionType
Action type [SetLookAtPosition]
LookAtPosition
Look at position
Animator
Unity Animator Component
ActionType
Action type [SetTarget]
TargetIndex
The avatar body part queried.
TNormalizedTime
The current state Time.
Animator
Unity Animator Component
ActionType
Action type [SetInteger, SetFloat, SetBool]
ParameterName
Parameter name.
Value
Value to set.
Animator
Unity Animator Component
ActionType
Action type [UnityAction]
UnityAction
UnityAction
UnityAction to be invoked
Subclass of Ovr.OvrNode
This Node is used to manage the most common interactions with the Unity Audio Component.
It requires an AudioSource to be set up, see Unity Manual for more info.
Based on the action the AudioSource is required to perform, this component changes its behavior and requirements.
The OVER SDK provides several ways to interact with Unity AudioSource Component. A list can be found in OvrAudioActionType.
Sets an AudioClip to the AudioSource and plays it at a given position in world space, defined by an OvrVector3.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
Plays the clip at a specific time, on the absolute time-line of the Audio system.
The AudioClip must be present in the AudioSource parameters.
Note: the following attributes are added to the existing ones from the super class OvrNode
Execute the assigned UnityAction. Use this Type to directly access the functions made available by Unity in the specific component.
Note: the following attributes are added to the existing ones from the super class OvrNode
Subclass of Ovr.OvrNode
This Node is used to manage the most common interactions with the Unity Component.
This OVER Component requires a CharacterController to be set up, see for more info.
Based on the action the CharacterController is required to perform, this component changes its behavior and requirements.
The OVER SDK provides several ways to interact with the Unity CharacterController Component. A list can be found in .
Allows the user to handle the movement of the target CharacterController. SimpleMove allows the user to implement a simple movement of the character, by simply applying speed, Move allows for a more elaborate movement type, applying motion to the GameObject attached to the CharacterController.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
Execute the assigned UnityAction. Use this Type to directly access the functions made available by Unity in the specific component.
Subclass of Ovr.OvrNode
This Node is used to manage the most common interactions with the Unity Component.
This OVER Component requires a Light to be set up. See the for more info.
Based on the action the Light is required to perform, this component changes its behavior and requirements.
The OVER SDK provides several ways to interact with Unity Light Component. A list can be found in .
Allows the user to change Light color when executed.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
Execute the assigned UnityAction. Use this Type to directly access the functions made available by Unity in the specific component.
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
PlayClipAtPoint
Plays an Audio Clip in a specific 3D point.
PlayScheduled
Plays a scheduled Audio Clip
UnityAction
Fires a UnityAction
AudioSource
Unity AudioSource Component
ActionType
Action type [PlayClipAtPoint]
Time
Time at which play to clip
AudioSource
Unity AudioSource Component
ActionType
Action type [UnityAction]
UnityAction
UnityAction
UnityAction to be invoked
Local | Local space, relative to parent object |
World | World space |
CharacterController | Unity CharacterController Component |
ActionType |
UnityAction | UnityAction | UnityAction to be invoked |
LightObject | Unity Light Component |
ActionType |
UnityAction | UnityAction | UnityAction to be invoked |
AudioSource
Unity AudioSource Component
ActionType
Action type [PlayClipAtPoint]
Clip
Unity 3D AudioClip
Position
Position in space
Volume
Audio volume
CharacterController | Unity CharacterController Component |
ActionType |
Space | World space or Local space |
Direction | Movement direction |
CustomDirection | [Custom only] Custom direction vector |
LightObject | Unity Light Component |
ActionType |
LightColor | Color | New light color to set |
Subclass of Ovr.OvrNode
This Node is used to manage the most common interactions with the Unity LineRenderer Component.
It requires a LineRenderer to be set up. See the Unity Manual for more info.
Based on the action the LineRenderer is required to perform, this component changes its behavior and requirements.
The OVER SDK provides several ways to interact with Unity LineRenderer Component. A list can be found in OvrLineRendererActionType.
Allows the user to set the position of a vertex in the line. The vertex is specified by an index and an OvrVector3 position.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
Execute the assigned UnityAction. Use this Type to directly access the functions made available by Unity in the specific component.
Note: the following attributes are added to the existing ones from the super class OvrNode
Action type []
Action type []
Action type [, ]
Action type []
Name | Type | Description |
---|---|---|
Move
Supplies the movement of a GameObject with an attached CharacterController component.
SimpleMove
Moves Character with speed
UnityAction
Fires a UnityAction
ChangeLightColor
Changes Light color
UnityAction
Fires a UnityAction
LineRenderer
Unity LineRenderer Component
ActionType
Action type [UnityAction]
UnityAction
UnityAction
UnityAction to be invoked
SetPosition | Sets position of a vertex |
UnityAction | Fires a UnityAction |
Forward | Forward direction |
Back | Reverse direction |
Up | Upward direction |
Down | Downward direction |
Left | Left direction |
Right | Right direction |
Custom | Custom direction |
LineRenderer
Unity LineRenderer Component
ActionType
Action type [SetPosition]
Index
Vertex index
Position
Position of the vertex to set
Subclass of Ovr.OvrNode
This Node is used to manage the most common interactions with the Unity Component.
It requires a RigidBody to be set up. See the for more info.
Based on the action the RigidBody is required to perform, this component changes its behavior and requirements.
The OVER SDK provides several ways to interact with a Unity RigidBody Component. A list can be found in .
Allows user to apply force to the target Rigidbody. Force is applied using the Unity built-in physics engine, and with different effects, based on the type of force applied.
simply applies force to a Rigidbody. applies force simulating explosion effects. applies force in relation to Rigidbody's coordinate system.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
Allows the user to add a torque to the target Rigidbody. Torque is applied using the Unity built-in physics engine, and with different effects, based on the type applied.
Allows the user to apply simple movement to the target Rigidbody, by using Unity built-in physics engine.
Allows some utility functions to better handle Rigidbodies.
Executes the assigned UnityAction. Use this Type to directly access the functions made available by Unity in the specific component.
simply applies a torque to a Rigidbody. applies torque in relation to Rigidbody's coordinate system.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
simply applies motion to a Rigidbody. rotates Rigidbody to a given rotation.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
allows the reset of the Velocity parameter of a Rigidbody. This is useful in order to stop the motion of a physical object in a Scene.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
ExplosiveForce | Force that simulates explosion effects |
Force | Force |
RelativeForce | Force relative to Rigidbody's coordinate system |
RelativeTorque | Torque relative to Rigidbody's coordinate system |
Torque | Torque |
MovePosition | Used to move a kinematic Rigidbody towards a position |
MoveRotation | Used to rotate Rigidbody |
ResetVelocity | Used to reset Rigidbody's velocity |
UnityAction | Fires a UnityAction |
Rigidbody | Unity Rigidbody Component |
ActionType |
Space | World or Local space |
Direction | Direction of the force applied |
CustomDirection | [Custom only] Custom direction vector |
ForceValue | Force magnitude |
UpwardsModifier | [Explosive only] Adjustment to the apparent position of the explosion to make it seem to lift objects |
Rigidbody | Unity Rigidbody Component |
ActionType |
Space | World or Local space |
Direction | Direction of the force applied |
CustomDirection | [Custom only] Custom direction vector |
ForceValue | Force magnitude, for the torque |
Rigidbody | Unity Rigidbody Component |
ActionType |
Space | World or Local space |
Direction | [Move position only] Direction of the force applied |
CustomDirection | [Custom only] Custom direction vector |
Quaternion | [Move rotation only] Target rotation |
Rigidbody | Unity Rigidbody Component |
ActionType |
Rigidbody | Unity Rigidbody Component |
ActionType |
UnityAction | UnityAction | UnityAction to be invoked |
Subclass of Ovr.OvrNode
This Node is used to manage the most common interactions with the Unity Transform Component.
It requires a Transform to be set up, see Unity Manual for more info.
Based on the action the Transform is required to perform, this component changes its behavior and requirements.
The OVER SDK provides several ways to interact with a Unity Transform Component. A list can be found in OvrTransformActionType.
A collection of actions available for OvrTransform allows the user to set common Transform attributes, such as Position, Rotation (both in Local and World space), and local Scale.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
Another collection of actions available for OvrTransform allows the user to Get the value of common Transform attributes, such as Position, Rotation (both in Local and World space), and local Scale.
Note: the following attributes are added to the existing ones from the super class OvrNode
A collection of actions available for OvrTransform allows the user to Get Transform's Direction vectors, such as Forward, Up, and Right (in Local and World space) vectors.
Note: the following attributes are added to the existing ones from the super class OvrNode
Execute the assigned UnityAction. Use this Type to directly access the functions made available by Unity in the specific component.
Note: the following attributes are added to the existing ones from the super class OvrNode
Subclass of Ovr.OvrNode
Action type [, , ]
Action type [, ]
Action type [, ]
Action type []
Action type []
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
SetLocalPosition
Set position in Local space
SetWorldPosition
Set position in World space
SetLocalRotation
Set rotation in Local space
SetWorldRotation
Set rotation in World space
SetLocalScale
Set local Scale of the object
GetPosition
Get World space position
GetLocalPosition
Get Local space position
GetRotation
Get World space rotation
GetLocalRotation
Get Local space rotation
GetLocalScale
Get local Scale of the object
GetForward
Get World space Forward direction
GetUp
Get World space Up direction
GetRight
Get World space Right direction
GetLocalForward
Get Local space Forward direction
GetLocalUp
Get Local space Up direction
GetLocalRight
Get Local space Right direction
Target
Unity Transform Component
ActionType
Action type
TargetPosition
[Position only] Target Position to set
TargetRotation
OvrQuaternion
[Rotation only] Target Rotation to set
TargetScale
[Scaleonly] Target Local Scale to set
Target
Unity Transform Component
ActionType
Action type
TargetPosition
[Position only] Target Position to overwrite
TargetRotation
[Rotation only] Target Rotation to overwrite
TargetScale
[Scaleonly] Target Local Scale to overwrite
Target
Unity Transform Component
ActionType
Action type
TargetDir
[Position only] Target Direction to save the value
Target
Unity Transform Component
ActionType
Action type [UnityAction]
UnityAction
UnityAction
UnityAction to be invoked
Text | Text | Unity Text Component |
ExecuteOnUpdate | boolean | If True, this node will be executed each frame. |
OvrVariable | Value to display |
Subclass of Ovr.OvrNode
This Node is used to manage the most common interactions with the Unity VideoPlayer Component.
It requires a VideoPlayer to be set up, see Unity Manual for more info.
Based on the action the VideoPlayer is required to perform, this component changes its behavior and requirements.
The OVER SDK provides several ways to interact with Unity Video Component. A list can be found in OvrVideoPlayerActionType.
This Component allows the user to customize the behavior of the VideoPlayer Audio.
EnableAudioTrack allows enabling/disabling of a specific Audio track, defined by an index. SetDirectAudioMute allows the muting of the selected Audio track. SetDirectAudioVolume allows for a change in the selected Audio track volume. SetTargetAudioSource allows for a change in the VideoPlayer AudioSource Component.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
Execute the assigned UnityAction. Use this Type to directly access the functions made available by Unity in the specific component.
Note: the following attributes are added to the existing ones from the super class OvrNode
Subclass of Ovr.OvrNode
Subclass of Ovr.OvrNode
This Node is used to link together.
Linking one to another
Linking an to/from a list of contained in a GameObject
Linking an to/from a list of contained in a GameObject created from
These are chosen via parameter.
Note: The behavior of the link depends on the interaction between each node. By default, the "To Link" will be added to the PreExecutionNodes list of the "Where Link". Sometimes it will instead be associated with the main execution of the target node.
The OvrNodeToLink will be linked to the OvrNodeWhereLink.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
Name | Type | Description |
---|---|---|
In this mode, depending on the selected , an will be linked to a list of identified by their Node Id inside a GameObject. Or, alternatively, a list of identified by their Node Id inside a GameObject will be linked to an .
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
This mode is very similar to , the only exception is that the target GameObject is not an object already present in the scene, but a product of a Node, which produces the object required for linking.
Note: the following attributes are added to the existing ones from the super class
Name | Type | Description |
---|
EnableAudioTrack
Enable/disable audio track decoding. Only effective when the VideoPlayer is not currently playing.
SetDirectAudioMute
Set the direct-output audio mute status for the specified track.
SetDirectAudioVolume
Set the direct-output audio volume for the specified track.
SetTargetAudioSource
Sets the AudioSource that will receive audio samples for the specified track if this audio target is selected with Video.VideoPlayer.audioOutputMode.
UnityAction
Fires a UnityAction
VideoPlayer
VideoPlayer
Unity VideoPlayer Component
ActionType
Action type [EnableAudioTrack, SetDirectAudioMute, SetDirectAudioVolume, SetTargetAudioSource]
TrackIndex
Index of the Audio track
Enable
[EnableAudioTrack] Enable/disable
Mute
OvrBool
[SetDirectAudioMute] Mute or not
Volume
[SetDirectAudioVolume] Target volume
AudioSource
[SetTargetAudioSource] Target AudioSource
VideoPlayer
VideoPlayer
Unity VideoPlayer Component
ActionType
Action type [UnityAction]
UnityAction
UnityAction
UnityAction to be invoked
Nodes
Grouped OvrNodes, to be executed in sequence.
This node is used to set POAP URLs. It's called by the experience when the node is executed (see example prefab with clickable collider node which triggers the POAP execution)
LinkGameObject | GameObject | Target GameObject |
LinkType | Direction of linking process |
OvrNodeLinks |
OvrInstantiate | Node responsible for instantiating objects to be linked. |
LinkType | Direction of linking process. |
OvrNodeLinks |
LinkToNode | Link to another |
LinkToGameObject | Link an and a set of s inside a GameObject |
LinkToInstantiateGameObject | Link an and a set of s inside a GameObject created by an Node |
OvrNodeToLink |
OvrNodeWhereLink |
Subclass of Ovr.OvrNode
This Node is used to create events, handled by the Unity Engine.
Tip: this node is useful for executing code of Native Unity Components, which are outside the control of the SDK Node system, like, for example, activating/deactivating specific objects, triggering events, and handling specific Unity Components parameters and game physics, etc.
Note: the following attributes are added to the existing ones from the super class OvrNode
Name | Type | Description |
---|---|---|
[ , string [ ] ]
Collection of , paired with a list of strings, that correspond to the IDs of the that exist within the GameObject.
[ , string [ ] ]
Collection of , paired with a list of strings, that correspond to the IDs of the that exist within the GameObject.
Starting , to link.
Ending , where link.
From | Link from target object |
To | Link to target object |
Url
String
Url pointing to a specific resource.
UnityEvent
UnityEvent
Unity class to handle events.
Subclass of UnityEngine.Monobehaviour
OvrVariable is the base class, from which all the other Variables derive their base attributes.
Name | Type | Description |
---|---|---|
VariableType
Type of the OvrVariable [read only]
Id
string
ID of the OvrVariable
Variable
object
Actual data stored.
None
No type assigned to Variable
Bool
Boolean value
Int
Integer value
Float
Floating point value (Decimal)
Vector2
Representation of 2D vectors and points
Vector3
Representation of 3D vectors and points
Quaternion
Represents rotations. They are compact, don't suffer from gimbal lock and can easily be interpolated. Unity internally uses Quaternions to represent all rotations.
String
String value
Subclass of Ovr.OvrNumericVariable
Implements an OvrNumericVariable holding an integer value.
Subclass of Ovr.OvrNumericVariable
Implements an OvrNumericVariable holding a decimal value.
Subclass of Ovr.OvrVariable
Subclass of Ovr.OvrFloat
Simple representation of time inside the SDK. Similar to the Unity Time class.
Note: the following attributes are added to the existing ones from the super class OvrFloat
Name | Type | Description |
---|---|---|
OvrTimeType
Returned value changes by changing this attribute's value.
DeltaTime
The interval in seconds from the last frame to the current one.
Time
The time at the beginning of this frame.
Subclass of Ovr.OvrNumericVariable
Implements a OvrNumericVariable holding a 2D Vector value.
Subclass of Ovr.OvrNumericVariable
Implements a OvrNumericVariable holding a 3D Vector value.