VR Interaction Framework v2.0
Loading...
Searching...
No Matches
BNG Namespace Reference

Use this to trigger buttons or UI elements in addition to Grabber objects. More...

Classes

class  AmmoDispenser
 This is an example of how to spawn ammo depending on the weapon that is equipped in the opposite hand. More...
 
class  AmmoDisplay
 
class  ArmSwingLocomotion
 
class  Arrow
 A Grabbable object that can stick to objects and deal damage. More...
 
class  ArrowGrabArea
 Spawn an arrow if Trigger is grabbed. More...
 
class  AutoGrabGrabbable
 
class  AutoPoser
 
class  AutoPoserEditor
 
class  BNGPlayerController
 The BNGPlayerController handles basic player movement. More...
 
class  BoneMapping
 This class can be used to map finger rotations from one model to another. More...
 
class  BoneObject
 
class  Bow
 An example bow item. Configurable force and damage. More...
 
class  BowArm
 Set the Rotation of a Transform based on a Bow's draw percentage. More...
 
class  Bullet
 
class  BulletHole
 A simple decal with random scale and rotation. More...
 
class  BulletInsert
 
class  Button
 Physical button helper with. More...
 
class  ButtonEditor
 
class  CalibratePlayerHeight
 This script will adjust the player's virtual height to match the 'DesiredPlayerHeight' property. For example, if the player's height is 1.5 meters tall, but the DesiredPlayerHeight = 1.6, then the player's virtual height will be increased by 0.1. More...
 
class  CharacterConstraint
 This CharacterConstraint will keep the size the Character Capsule along with the camera if not colliding with anything. More...
 
class  CharacterIK
 This Component allows a generic humanoid rig to follow the Player's controller's and HMD using Unity's IK system. More...
 
class  CharacterYOffset
 
class  Climbable
 Allows the Player to climb objects by Grabbing them. More...
 
class  ClimbableEditor
 
class  CollisionSound
 Plays a Sound Clip OnCollisionEnter. More...
 
class  ConstrainLocalPosition
 Constrain a Transform's LocalPosition to a given value. More...
 
class  ControllerModelSelector
 
class  ControllerOffset
 
class  ControllerOffsetHelper
 
class  CustomCenterOfMass
 
class  Damageable
 A basic damage implementation. Call a function on death. Allow for respawning. More...
 
class  DamageCollider
 This collider will Damage a Damageable object on impact. More...
 
class  DemoCube
 This is an example of how to highlight an object on hover / activate. This is used in the Demo scene in conjunction with the "PointerEvents" component. More...
 
class  DemoScript
 Contains various functionality used in the Demo Scene such as Switching Hands and Locomotion. More...
 
class  DestroyIfPlayMode
 
class  DestroyObjectWithDelay
 
class  DetachableLimb
 
class  DoorHelper
 
class  DrawDefinition
 A list of how and when to play a haptic according to DrawPercentage. More...
 
class  DrawerSound
 
class  EditorHandle
 
class  Explosive
 
class  ExplosiveEditor
 
class  ExtensionMethods
 Convenience methods you can use with VRIF.
 
class  FingerJoint
 
class  FingerTipCollider
 
class  Flashlight
 A simple Grabbable example that toggles a light source on and off. More...
 
class  FloatEvent
 A UnityEvent with a float as a parameter. More...
 
class  FloatFloatEvent
 A UnityEvent with a 2 floats as parameters. More...
 
class  FollowRigidbody
 
class  FollowTransform
 
class  FPSText
 A simple script to display FPS onto a Text label. More...
 
class  GrabAction
 This will call a specified event, and then DROP this object. It is meant to be used as a proxy. If you want to call an event on Grab, use GrabbableEvents instead. For example, if you grab a trigger with a GrabAction, you can spawn a different item in the users hand (such as a weapon clip, arrow, etc.). More...
 
class  Grabbable
 An object that can be picked up by a Grabber. More...
 
class  GrabbableBezierLine
 
class  GrabbableChild
 
class  GrabbableEditor
 
class  GrabbableEvent
 A UnityEvent with a Grabbable as the parameter. More...
 
class  GrabbableEvents
 Override this class to respond to various events that happen to this Grabbable. More...
 
class  GrabbableHaptics
 A set of events that allow you to apply haptics to a controller. More...
 
class  GrabbableHighlight
 Events that will highlight an object if it is a valid Grabbable. More...
 
class  GrabbableHighlightMaterial
 
class  GrabbableRingHelper
 Show a ring helper on an object. This class makes sure the ring helper is added to the object. More...
 
class  GrabbablesInTrigger
 Keep track of all grabbables within this trigger. More...
 
class  GrabbableUnityEvents
 
class  Grabber
 A trigger collider that handles grabbing grabbables. More...
 
class  GrabberArea
 Keeps a List of all Grabbers within this Trigger. More...
 
class  GrabberEvent
 A UnityEvent with a Grabber as the parameter. More...
 
class  GrabPoint
 
class  GrabPointEditor
 
class  GrabPointTrigger
 
class  GrabPointTriggerEditor
 
class  GrappleShot
 
class  HandCollision
 Controls collision state of Hand Model. More...
 
class  HandController
 An example hand controller that sets animation values depending on Grabber state. More...
 
class  HandJet
 Like a jetpack, but for your hands. More...
 
class  HandleGFXHelper
 Constrain the rotation based on localEulaerAngles. More...
 
class  HandleHelper
 This component is used to pull grab items toward it, and then reset it's position when not being grabbed. More...
 
class  HandModelSelector
 
class  HandModelSwitcher
 
class  HandPhysics
 
class  HandPose
 
class  HandPoseBlender
 
class  HandPoseDefinition
 
class  HandPoseDefinitions
 
class  HandPoseEditor
 
class  HandPoser
 
class  HandPoserEditor
 
class  HandPoseSaveAs
 
class  HandRepresentationHelper
 Only show this Hand Transform if it's distance from "OtherHandTransform" is >= "DistanceToShow". More...
 
class  HeadCollisionFade
 
class  HeadCollisionMove
 This component can push the player backwards when it collides with a wall / object. Attach to the. More...
 
class  HingeHelper
 
class  IgnoreColliders
 
class  IKDummy
 
class  InputBridge
 A proxy for handling input from various input providers such as OVRInput, XRInput, and SteamVR. More...
 
class  InputBridgeEditor
 
class  IntegrationsEditor
 
class  InvalidTeleportArea
 Designates a collider as invalid for teleportation. More...
 
class  JointBreaker
 
class  JointHelper
 Lock joints in place to help with physics handling and parent scaling. More...
 
class  JoystickControl
 Helper for joystick type physical inputs. More...
 
class  JoystickVehicleControl
 This component is similar to the JoystickControl, but is designed to be used on fast moving Rigidbodies. More...
 
class  LaserPointer
 A simple laser pointer that draws a line with a dot at the end. More...
 
class  LaserSword
 An example Grabbable that adds lots of particles and changes audio pitch on collision. Press X to activate while in hand. More...
 
class  Lever
 Helper class to interact with physical levers. More...
 
class  LeverEditor
 
class  LineToTransform
 Draw a LineRenderer from the Transform to another. Specified in localSpace. More...
 
class  LiquidWobble
 
class  LocomotionManager
 
class  LookAtTransform
 Rotate this object to point it's transform.forward at an object. More...
 
class  MagazineSlide
 Constrain a magazine when it enters this area. Attaches the magazine in place if close enough. More...
 
class  Marker
 
class  MoveToWaypoint
 
class  MovingPlatform
 
class  PlayerClimbing
 
class  PlayerGravity
 Apply Gravity to a CharacterController or RigidBody. More...
 
class  PlayerMovingPlatformSupport
 
class  PlayerRotation
 
class  PlayerScaler
 An example script for how to scale a player in VR. More...
 
class  PlayerTeleport
 A basic Teleport script that uses a parabolic arc to determine teleport location. More...
 
class  PlaySoundOnGrab
 
class  PointerEventDataEvent
 A UnityEvent with a Vector3 as a parameter. More...
 
class  PointerEvents
 
class  PoseableObject
 A helper component you can place on grabbable object to decide which hand pose method and definition to use For example : When grabbing an object, you can use GetComponent<PoseableObject> to check whether to apply a specific HandPose to the HandPoser, or to enable AutoPose, set an ID on a hand animator, or implement your own custom solution. More...
 
class  PosRot
 
class  Projectile
 An object than do damage and play hit FX. More...
 
class  ProjectileLauncher
 
class  PunctureCollider
 
class  RagdollHelper
 
class  RaycastHitEvent
 A UnityEvent with a RaycastHit as the parameter. More...
 
class  RaycastWeapon
 An example weapon script that can fire Raycasts or Projectile objects. More...
 
class  RemoteGrabber
 Keeps track of Grabbables that are within it's Trigger. More...
 
class  ReturnToSnapZone
 If this object is not being held, return to a snap zone. More...
 
class  RingHelper
 Shows a ring at the grab point of a grabbable if within a certain distance. More...
 
class  RotateTowards
 
class  RotateWithHMD
 
class  SampleHandController
 
class  SavePoseBinding
 
class  ScaleBetweenPoints
 Scales an object's local Z scale to match a Begin / End point. More...
 
class  ScaleMaterialHelper
 
class  SceneLoader
 
class  ScreenFader
 
class  SkeletonVisualizer
 
class  Slider
 Helper class to interact with physical sliders. More...
 
class  SlidingDoorMover
 
class  SmoothLocomotion
 
class  SnapZone
 
class  SnapZoneOffset
 
class  SnapZoneRingHelper
 
class  SnapZoneScale
 
class  StaticBatch
 Combine meshes at runtime to save draw calls. More...
 
class  SteeringWheel
 
class  TeleportDestination
 A marker for valid teleport destinations. More...
 
class  TeleportPlayerOnEnter
 
class  TimeController
 Press Y to slow time by modifying Time.timeScale and Time.fixedDeltaTime. More...
 
class  ToggleActiveOnInputAction
 This script will toggle a GameObject whenever the provided InputAction is executed. More...
 
class  Tooltip
 
class  TrackedDevice
 A simple alternative to the TrackedPoseDriver component. Feel free to swap this out with a TrackedPoseDriver from the XR Legacy Input Helpers package or using the new Unity Input System. More...
 
class  TrackedDeviceEditor
 
class  UIButtonCollider
 
class  UICanvasGroup
 This component gives you a convenient way to group together GameObjects and toggle them on / off. More...
 
class  UIPointer
 Point a line at our GazePointer. More...
 
class  UITrigger
 
class  Vector2Event
 A UnityEvent with a Vector2 as a parameter. More...
 
class  Vector3Event
 A UnityEvent with a Vector3 as a parameter. More...
 
class  VehicleController
 
class  VelocityTracker
 
class  VRCanvas
 Add this Component to any Canvas to make sure it can be interacted with in World Space. More...
 
class  VREmulator
 
class  VRIFGrabpointUpdater
 This component is meant to help you autmatically update your grab points, as the default hand model positions have changed since VRIF v1.7. More...
 
class  VRIFGrabpointUpdaterEditor
 
class  VRIFSettings
 
class  VRKeyboard
 
class  VRKeyboardKey
 
class  VRTextInput
 
class  VRUISystem
 
class  VRUtils
 Static Utilities to help with development, such as logging to World Space. More...
 
class  Waypoint
 
class  WeaponSlide
 Weapon slide on a pistol. Charges weapon and ejects casings. More...
 
class  WheelObject
 
class  XRTrackedPoseDriver
 A simple alternative to the TrackedPoseDriver component. Feel free to swap this out with a TrackedPoseDriver from the XR Legacy Input Helpers package or using the new Unity Input System. More...
 
class  Zipline
 An example Grabbable that lets you move along a designated path. More...
 

Enumerations

enum  HandPoseId {
  Default = 0 , Generic = 1 , PingPongBall = 2 , Controller = 3 ,
  Rock = 4 , PistolGrip = 50
}
 HandPoseId's are integers set on a Hand Animator component as an integer. This enum provides a way to associate integers with an easy to understand name Add any HandPoses here that you wish to use from the Editor. More...
 
enum  GizmoDisplayType { Wire , Solid , None }
 
enum  ControllerHandedness { Left , Right , None }
 
enum  TrackableXRDevice { HMD , LeftController , RightController }
 
enum  LocomotionType { Teleport , SmoothLocomotion , None }
 
enum  GrabType { Snap , Precise }
 
enum  RemoteGrabMovement { Linear , Velocity , Flick }
 
enum  GrabPhysics {
  None = 2 , PhysicsJoint = 0 , FixedJoint = 3 , Velocity = 4 ,
  Kinematic = 1
}
 
enum  OtherGrabBehavior { None , SwapHands , DualGrab }
 
enum  TwoHandedPositionType { Lerp , None }
 
enum  TwoHandedRotationType { Lerp , Slerp , LookAtSecondary , None }
 
enum  TwoHandedDropMechanic { Drop , Transfer , None }
 
enum  TwoHandedLookDirection { Horizontal , Vertical }
 
enum  HandPoseType {
  AnimatorID , HandPose , AutoPoseOnce , AutoPoseContinuous ,
  None
}
 
enum  ControllerHand { Left , Right , None }
 
enum  ControllerBinding {
  None , AButton , AButtonDown , BButton ,
  BButtonDown , XButton , XButtonDown , YButton ,
  YButtonDown , LeftTrigger , LeftTriggerDown , LeftGrip ,
  LeftGripDown , LeftThumbstick , LeftThumbstickDown , RightTrigger ,
  RightTriggerDown , RightGrip , RightGripDown , RightThumbstick ,
  RightThumbstickDown , StartButton , StartButtonDown , BackButton ,
  BackButtonDown
}
 Controller Options available to bind buttons to via Inspector. You can use GetControllerBindingValue() to determine if that button has been pressed. More...
 
enum  GrabbedControllerBinding {
  None , Button1 , Button1Down , Button2 ,
  Button2Down , Trigger , TriggerDown , Grip ,
  GripDown
}
 Controller Options available to bind buttons to via Inspector. Input is relative to the controller holding it. Ex : Button 1 = Button A if held in Right controller, Button X if held in Left. More...
 
enum  InputAxis {
  None , LeftThumbStickAxis , LeftTouchPadAxis , RightThumbStickAxis ,
  RightTouchPadAxis
}
 
enum  ControllerType {
  None , Unknown , OculusTouch , Wand ,
  Knuckles
}
 
enum  HandControl {
  LeftGrip , RightGrip , LeftTrigger , RightTrigger ,
  None
}
 
enum  GrabButton { Grip , Trigger , Inherit , GripOrTrigger }
 
enum  HoldType { HoldDown , Toggle , Inherit }
 
enum  XRInputSource {
  XRInput , OVRInput , SteamVR , Pico ,
  UnityInput , WebXR , None
}
 
enum  SDKProvider { Unknown , OculusSDK , OpenVR }
 
enum  RotationMechanic { Snap , Smooth }
 
enum  TeleportControls { ThumbstickRotate , ThumbstickDown , BButton , None }
 
enum  RemoteGrabType { Trigger , Raycast , Spherecast }
 
enum  MovementVector { HMD , Controller }
 
enum  PlayerControllerType { CharacterController , Rigidbody }
 
enum  TrackableDevice { HMD , LeftController , RightController }
 
enum  MovingPlatformMethod { ParentToPlatform , PositionDifference }
 
enum  HandPoserType { HandPoser , Animator , AutoPoser , None }
 
enum  FiringType { Semi , Automatic }
 
enum  ReloadType { InfiniteAmmo , ManualClip , InternalAmmo }
 

Detailed Description

Use this to trigger buttons or UI elements in addition to Grabber objects.

Enumeration Type Documentation

◆ ControllerBinding

Controller Options available to bind buttons to via Inspector. You can use GetControllerBindingValue() to determine if that button has been pressed.

Enumerator
None 
AButton 
AButtonDown 
BButton 
BButtonDown 
XButton 
XButtonDown 
YButton 
YButtonDown 
LeftTrigger 
LeftTriggerDown 
LeftGrip 
LeftGripDown 
LeftThumbstick 
LeftThumbstickDown 
RightTrigger 
RightTriggerDown 
RightGrip 
RightGripDown 
RightThumbstick 
RightThumbstickDown 
StartButton 
StartButtonDown 
BackButton 
BackButtonDown 

◆ ControllerHand

Enumerator
Left 
Right 
None 

◆ ControllerHandedness

Enumerator
Left 
Right 
None 

◆ ControllerType

Enumerator
None 
Unknown 
OculusTouch 
Wand 
Knuckles 

◆ FiringType

Enumerator
Semi 
Automatic 

◆ GizmoDisplayType

Enumerator
Wire 
Solid 
None 

◆ GrabbedControllerBinding

Controller Options available to bind buttons to via Inspector. Input is relative to the controller holding it. Ex : Button 1 = Button A if held in Right controller, Button X if held in Left.

Enumerator
None 
Button1 
Button1Down 
Button2 
Button2Down 
Trigger 
TriggerDown 
Grip 
GripDown 

◆ GrabButton

Enumerator
Grip 
Trigger 
Inherit 
GripOrTrigger 

◆ GrabPhysics

Enumerator
None 
PhysicsJoint 
FixedJoint 
Velocity 
Kinematic 

◆ GrabType

Enumerator
Snap 
Precise 

◆ HandControl

Enumerator
LeftGrip 
RightGrip 
LeftTrigger 
RightTrigger 
None 

◆ HandPoseId

HandPoseId's are integers set on a Hand Animator component as an integer. This enum provides a way to associate integers with an easy to understand name Add any HandPoses here that you wish to use from the Editor.

Enumerator
Default 
Generic 
PingPongBall 
Controller 
Rock 
PistolGrip 

◆ HandPoserType

Enumerator
HandPoser 
Animator 
AutoPoser 
None 

◆ HandPoseType

Enumerator
AnimatorID 
HandPose 
AutoPoseOnce 
AutoPoseContinuous 
None 

◆ HoldType

Enumerator
HoldDown 
Toggle 
Inherit 

◆ InputAxis

Enumerator
None 
LeftThumbStickAxis 
LeftTouchPadAxis 
RightThumbStickAxis 
RightTouchPadAxis 

◆ LocomotionType

Enumerator
Teleport 
SmoothLocomotion 
None 

◆ MovementVector

Enumerator
HMD 
Controller 

◆ MovingPlatformMethod

Enumerator
ParentToPlatform 
PositionDifference 

◆ OtherGrabBehavior

Enumerator
None 
SwapHands 
DualGrab 

◆ PlayerControllerType

Enumerator
CharacterController 
Rigidbody 

◆ ReloadType

Enumerator
InfiniteAmmo 
ManualClip 
InternalAmmo 

◆ RemoteGrabMovement

Enumerator
Linear 
Velocity 
Flick 

◆ RemoteGrabType

Enumerator
Trigger 
Raycast 
Spherecast 

◆ RotationMechanic

Enumerator
Snap 
Smooth 

◆ SDKProvider

Enumerator
Unknown 
OculusSDK 
OpenVR 

◆ TeleportControls

Enumerator
ThumbstickRotate 
ThumbstickDown 
BButton 
None 

◆ TrackableDevice

Enumerator
HMD 
LeftController 
RightController 

◆ TrackableXRDevice

Enumerator
HMD 
LeftController 
RightController 

◆ TwoHandedDropMechanic

Enumerator
Drop 
Transfer 
None 

◆ TwoHandedLookDirection

Enumerator
Horizontal 
Vertical 

◆ TwoHandedPositionType

Enumerator
Lerp 
None 

◆ TwoHandedRotationType

Enumerator
Lerp 
Slerp 
LookAtSecondary 
None 

◆ XRInputSource

Enumerator
XRInput 
OVRInput 
SteamVR 
Pico 
UnityInput 
WebXR 
None