The player's position, rotation, and velocity can be accessed and changed with Udon. All of the following nodes require
VRCPlayerAPI as an input.
For nodes that deal with forces relating to Players, see Player Forces.
Gets the position of the Player.
Vector3: The player's position in world space.
Gets the rotation of the Player.
Quaternion: The player's rotation in world space.
Gets the position of the specified Bone in the Player's Avatar, or Vector3.Zero (0,0,0) if the bone does not exist. Note that Avatars may not have all the same bones in the places you expect, so be careful making assumptions about attributes like a player's height, pose etc based on the position of bones.
HumanBodyBones: The bone to check.
Vector3: The bone position in world space.
Gets the rotation of the specified Bone in the Player's Avatar, or Quaternion.Identity (0,0,0,1) if the bone does not exist. Note that Avatars may not have all the same bones in the places you expect, so be careful making assumptions about attributes like a player's height, pose etc based on the rotation of bones.
Quaternion: The bone rotation in world space.
Gets a struct called TrackingData, which contains separate Position and Rotation data. This is the suggested way to get position and rotation data for a Player's head and hands. This returns data from the TrackingManager for a Local Player (ie the data coming from their headset / trackers) and from the RightHand, LeftHand and Head bones for a Remote Player. Origin returns the center of the local VR user's playspace, while returning the player's position for local Desktop users and all remote users. AvatarRoot returns data for the root transform of the avatar (the same transform that the player capsule is attached to). For users in Fully-Body Tracking, AvatarRoot will not rotate with the head facing direction. If you need data reflecting the general forward facing direction of a Player, consider using GetRotation instead.
TrackingDataType: The tracking data to check.
TrackingData: The player's tracking data of the specified type.
Get the speed and direction of the player's movement.
Vector3 velocity: The player's velocity in world space.
Set the speed and direction of the player's movement. If SetVelocity is called on the local player, their 'IsGrounded' property is set to false since they are not in direct control of their movements while this is happening.
Vector3: The player's velocity in world space.
Get whether the player is touching the ground, which enables Jump.
bool IsPlayerGrounded: Whether the player is grounded.
Send a player to a new spot and specified rotation, unless a Station does not allow it.
Vector3 teleportPos: The target position in world space.
Quaternion teleportRot: The target rotation in world space.
SceneDescriptorSpawnOrientation TeleportOrientation(optional): How to align players with the destination position and rotation.
bool lerpOnRemote(optional): Whether to interpolate the player's movement. If true, the teleportation is instantaneous and incurs and additional network bandwidth cost. If false, the teleportation is treated as normal player movement.