0% found this document useful (0 votes)
335 views6 pages

Ultrawings 2 Readme

The document discusses a controller scheme which maps controller inputs to game actions. It describes configuring a schema file which defines attributes like action types, input IDs, data types, and specifications for different controller types. Schema files are located in the game installation folder and have specific requirements around formatting and data types to ensure proper functionality.

Uploaded by

Hunter Lind
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
335 views6 pages

Ultrawings 2 Readme

The document discusses a controller scheme which maps controller inputs to game actions. It describes configuring a schema file which defines attributes like action types, input IDs, data types, and specifications for different controller types. Schema files are located in the game installation folder and have specific requirements around formatting and data types to ensure proper functionality.

Uploaded by

Hunter Lind
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

 

 
 
 

bit​planet games 

User Controller Scheme  

Controller Scheme Overview 


The controller scheme is a way to map different inputs into your controller setup. It allows the 
you to change game controls to suit your particular needs. You can also map multiple actions 
per controller input. The controller scheme are comprised of files called a schema, which is a 
configuration for each controller input that is assigned to a particular game action ex. Pause. 
They are organized into game supported folders per controller type. Each schema has attributes 
and values that are segmented based on particular categories depending on the type of 
controller it belongs to. 

Configuring The Schema 


You only need to remember a few things when configuring the schema. The first thing is that 
adding ‘#’ before any succeeding character will mean that you are commenting. This is useful to 
describe what the schema is for or for noting the category of a set of attributes. The next one is 
the assignment of attributes, this is used to determine the behaviour of controls in the game. 
There are always three parts in this, one is the field name which is used to determine the name 
of the attribute, the next one is the ‘=’, which indicates assignment, and the last is the value 
assigned to the attribute. Do note that every schema filename must contain the controller type 
name and .cfg as the extension ex. ​touch_move_schema.cfg​. Also note that for every comment 
or assignment, if there is another entry of assignment, you must always enter it in the next line. 

Example: 

Bad: 

# Analog axis = "x" 

dimension  
 
 
 

= 2 

Good: 

# Base  

actionType = "move" 

idIsDigit = false 

Warning: 

When you decide to change the configuration schema, please make sure to make a backup copy 
of the original one to avoid any potential game-breaking issues. 

Schema Location 
The schema should be included in the game you purchased and is usually located on 
<installation folder>/StreamingAssets/Data/Config/Controller/Schema/​. This is only available 
for PC at the moment. 

Data Types Supported 


The schema mostly accepts all the basic primitive types. Do note that attributes have specific 
data types and specifying the wrong one could lead to errors in the game, rendering it non- 
functional.   

Data Types Supported: 

Data Type  Sample Value 

Decimal  0.1045 

Int  8 

String  “String with double quotes” 

Bool  true 
 
 
 

Supported Action Types 


Action types are the game’s assigned behaviour for each specific event in the game in relation 
to user input. For example when moving, pausing, recentering etc.  

Action Types: 

● move - The forward or backwards movement of the player. 


● yaw - The left and right rotation of the player 
● cancel - The cancellation of any movement. 
● pause - Game pause. 
● recenter - Recentering of the VR view. 

 
Input ID 
There are two types of input ID, one that uses string (“ ”) or int ( 7 ). These are represented as 
stringId and intId attributes and is dependent on the controller types used. For example 
gamepads usually uses string for its input identification.

Controller and Input Specifications 


Below are all the supported attributes per category. 

Base 
The basic attributes inherent to all controllers. 
 
 
Data
Field Type Type Description
actionType string The type of action associated with the control scheme. Ex. run, walk, strafe, etc.
idIsDigit bool Condition that tells if the input is specifically int or string based in terms of ID.
intId int The integer-based ID input.
stringId string The string-based ID input.
isHandedContr
oller bool Determines whether the controller is a handed type of controller.
 
 
 

Alter 
Attributes used for input manipulation. 

 
Data
Field Type Type Description
fromMin float The original input minimum analog range.
fromMax float The original input maximum analog range.
toMin float The minimum desired analog range.
toMax float The maximum desired analog range.
True if the input is constrained to a range. False if the input value will be offset
constrain bool and or multiplied instead.
offset float Offset the original value. Set default to 0 if not used.
multiplier float Multiplies the original value. Set default to 1 if not used.
invert bool Inverts the original value.
Any resulting input will be made to an absolute value. Useful for inputs that
have different triggers, same input ID's but have a polarized or varying min to
absoluteValue bool max input results. Ex: Left Trigger: 0 : 1 Right Trigger: 0 : -1.

Analog 
Attributes used for controller inputs with dimensionality for getting axis values. 

 
Data
Field Type Type Description
The type of axis that will be used to determine the input that will be returned.
axis string Ex. x, y or z.
dimension int The dimension of the axis. 1 = 1D, 2 = 2D, usw.
inputThreshold float The threshold value where input is considered triggered.
 
 
 
 
 
 
 
 
 
 

Desktop 
Attributes for PC based peripherals like keyboard, mouse and gamepad combo. 

 
Field Type Data Type Description
Type of desktop peripherals to be associated with the input
desktopControllerType string (mouse, keyboard, gamepad)

Handedness 
Attributes for handed-based controllers like the Oculus Touch. 

Field Type Data Type Description


handedness string The handedness of the device. For hand based devices.

Handed Types 
● none 
● left 
● right 

Haptic 
Attributes for controllers with haptic touch functionality like the near touch with Oculus 
controllers. 
 
 
Field Type Data Type Description
isNearTouch bool If the input to be retrieved is based on near touch functionality.
 

 
 
 
 
 

Oculus 
Attributes for Oculus-based controllers like the Oculus Touch. 
 
 
Field Type Data Type Description
ovrControllerType string Type of oculus controller type to be used.
The type of oculus input type. Basically the type of oculus device used
oculusInputType string as input.

OVR Controller Types 


● ltouch - Left hand Oculus Touch controller. 
● rtouch - Right hand Oculus Touch controller. 
● touch - Any handed Oculus Touch controller. 
● gamepad - Any Oculus supported gamepad. 
● touchpad - Any GearVR supported touchpad. 
● l_tracked_remote - Left hand remote GearVR controller. 
● r_tracked_remote - Righthand remote GearVR controller. 

Oculus Input Types 


● button - Button input controls. 
● touch - Touch input controls. 
● near_touch - Near touch input controller. 
● axis_1d - Input controls with 1 axis like the shoulder triggers. 
● axis_2d - 2 axis enabled input controls like trackpads or thumbsticks. 
● controller - gamepad input. 

You might also like