Finch Logo


API documentation

FinchVR is the main Finch Unity API class that provides all controller's functional. It is necessary to have one and only one FinchVR script instance on the scene. Use prefab FinchMain to do that.

FinchSingleControllerPlayer, FinchDualControllerPlayer and FinchAvatar scripts allow to move controllers or skeletal model according to Finch controllers position. Use prefabs FinchSingleController, FinchDualController or FinchAvatar for that. Don't use more than one same script on scene at the same time.

Remember: Finch API use settings form FinchSettings. Default settings can be unsuitable for you, so edit settings right after creating your Finch Unity project.

Unity Scripts

Script Description
FinchVR Initializes Finch controllers in corresponding to the settings mode of operation. Provides Finch Unity API
FinchPlayer Abstract script. Children classes translate head and controllers GameObjects on scene
FinchSingleControllerPlayer Inherited from FinchPlayer. Translates head and single controller GameObjects on scene
FinchDualControllerPlayer Inherited from FinchPlayer. Translates head and two controllers GameObjects on scene
FinchAvatar Proceeds character skeletal model animation according to controller position. Allows to visualize not only controllers, but also head, body, arms etc
FinchControllerVisual Visualizes controller element pressings
FinchTouchPoint Visualizes touch point

Controller Classes

Provides Finch controller API.

Class Description
FinchController Allows to use Finch controller API
PlayerState Keeps last update frame controller data
BoneDictionary Keeps list of proceeding skeletal model bones
FinchSettings Finch controller modes settings

Core Classes

C API import implementation.

Class Description
FinchCore Provides API for FinchCore.dll using
Interop Only for direct dll using. It is Strictly not reccomended to use this class
FinchCoreHelper Consists unity_to_finch and finch_to_unity transforms methods. Is not used in API


Struct Description
FinchNodesState Consists all nodes states
VibrationPackage Single instruction for vibration engine
FinchVector2 Vector2 for direct dll using. Is not used in API
FinchVector3 Vector3 for direct dll using. Is not used in API
FinchQuaternion Quaternion for direct dll using. Is not used in API


Enumeration Description
FinchDeviceType Finch device type
FinchControllersCount Target Finch controllers count
FinchDataSource Data source. Consists following values: Controller for Finch controller; Disabled for default values
FinchChirality Chirality (e.g. left or right)
FinchBone Skeletal bone. Extends UnityEngine.HumanBodyBones enumaration
FinchNodeType Device node type. Consists following values: RightHand, LeftHand, RightUpperArm, LeftUpperArm
FinchControllerElement Finch controller input element (button, touchpad or trigger)
FinchRecenterMode Target result of recentering. When HmdRotation, controllers recenter to current Main Camera rotation; when Forward, both controllers and Main Camera recenter to default position
FinchBodyRotationMode Method of body rotation computing
ControllerOffset Finch controller position in skeletal bones hierarchy. Is used for FinchPlayer scripts
FinchEventType Event type. Consists following values: Begin, Process, End
FinchNodesStateType Node state type. Is used in FinchNodesState.GetState()
FinchAxisCalibrationStep Three Poses Calibration Step. Only for direct dll using. Is not used in API
FinchInitError FinchCore.FinchInit and FinchCore.FinchExit error type
FinchUpdateError FinchCore.FinchUpdate and FinchCore.FinchHmdUpdate error type
FinchIOError FinchCore.FinchWriteData and FinchCore.FinchAsyncWriteData error type