All pages
Powered by GitBook
1 of 3

Getting Started

Recommended Unity Version

Currently Game Kit Controller requires a minimum version of Unity 2017.1.0f3. You should not use an older version than this because Unity is not backwards compatible with older versions of Unity.

GKC will soon require a minimum Unity version of Unity 2019.4 LTS in a future update, keep an eye on the Discord or Changelog for more information on when this change will happen.

Game Kit Controller generally works with all newer LTS versions too (i.e. 2020 LTS), and they are officially supported. Support for pre-release versions of Unity will be limited due to their unstable nature.

When the minimum version of Unity changes to 2019.4 LTS GKC will no longer support older Unity versions like 2018 or 2017.

If you need to continue using an older version of Unity you will unfortunately have to use an older version of GKC with support for your Unity version.

Video Tutorials

If you're more of a visual learner or just looking for videos tutorials for Game Kit Controller check out our tutorials section which has lots of videos showing you different mechanics and how to get started with Game Kit Controller.

About this Documentation

The documentation is organised in a user friendly way. It is always advised you read first the Overview (i.e. the top most page of a section) page for each section, if it exists. Then you can decide to follow the guide from top to bottom or jump to between sections.

Throughout the documentation you'll come across hints, below we've provided a description of what each hint means and it's importance:

The Blue hint provides extra information on the current topic.

The Green hint is used for best practices, recommended actions and success notices.

The Orange hint is a warning message and will inform of something which can lead to errors or confusion.

The Red hint is a critical message and will often be used for important or error hints.

We are continually updating the Game Kit Controller documentation in an effort to ensure it's always remains current with the latest version of GKC. If you come across something that seems wrong, outdated or unclear please let us know on the Discord server and we'll be sure to get it improved as soon as possible.

Importing GKC

It's really easy to setup Game Kit Controller in your project! Follow the steps below to import the package and get started!

Step #1: New Project or Existing Project

New Project

If you are importing GKC into a new project then all you need to do is import the package and leave everything checked. That's it, you can skip the rest of this page, you're good to start making the game of your dreams!👾You can move onto the next section using the button below.

🎓Tutorials

Existing Project

If you are importing GKC into an existing project then you'll need to uncheck the option to import the project settings and then continue onto Step #2.

Step #2: Add Key Mappings to the Input Manager

When importing GKC into an existing project, or if you imported GKC without the project settings then you'll need to add the axes below into the Unity Input Manager (Edit > Project Settings > Input Manager) if you want to support using a gamepad.

These are the key mappings for four players when using local multiplayer (i.e. same screen multiplayer), but you can add just one if you are not going to use the local multiplayer functionality in your game.

Don't overwrite or remove the default axes set by Unity when adding the above axes - because these are also used and will be needed by GKC.

The key mapping values for each input above are identical for each the variant (i.e. player/input), only the variant names and the joystick number are different. For example Horizontal X1 has the same values as Horizontal X2, X3 and X4 with only the input "Name" and "Joy Num" being different. On Horizontal X1 the Joy Num is Joystick 1, whereas on Horizontal X2 the Joy Num is Joystick 2 etc. For the full breakdown of input values, you can check out the "Full Breakdown" tab of each section below.

Horizontal X and Vertical Y

Horizontal X1 (X2, X3, X4) and Vertical Y1 (Y2, Y3, Y4) mappings

Horizontal X

Field

Horizontal X1

Horizontal X2

Horizontal X3

Horizontal X4

Name

Horizontal X1

Horizontal X2

Horizontal X3

Horizontal X4

Gravity

0

0

0

0

Dead

0.19

0.19

0.19

0.19

Sensitivity

1

1

1

1

Invert

-

-

-

-

Type

Joystick Axis

Joystick Axis

Joystick Axis

Joystick Axis

Axis

X axis

X axis

X axis

X axis

Joy Num

Joystick 1

Joystick 2

Joystick 3

Joystick 4

Vertical Y

Field

Vertical Y1

Vertical Y2

Vertical Y3

Vertical Y4

Name

Vertical Y1

Vertical Y2

Vertical Y3

Vertical Y4

Gravity

0

0

0

0

Dead

0.19

0.19

0.19

0.19

Sensitivity

1

1

1

1

Invert

☑️

☑️

☑️

☑️

Type

Joystick Axis

Joystick Axis

Joystick Axis

Joystick Axis

Axis

Y axis

Y axis

Y axis

Y axis

Joy Num

Joystick 1

Joystick 2

Joystick 3

Joystick 4

Mouse X and Mouse Y

Mouse X1 (X2, X3, X4) and Mouse Y1 (Y2, Y3, Y4) mappings

Mouse X

Field

Mouse X1

Mouse X2

Mouse X3

Mouse X4

Name

Mouse X1

Mouse X2

Mouse X3

Mouse X4

Gravity

0

0

0

0

Dead

0.19

0.19

0.19

0.19

Sensitivity

1

1

1

1

Invert

-

-

-

-

Type

Joystick Axis

Joystick Axis

Joystick Axis

Joystick Axis

Axis

4th axis (Joysticks)

4th axis (Joysticks)

4th axis (Joysticks)

4th axis (Joysticks)

Joy Num

Joystick 1

Joystick 2

Joystick 3

Joystick 4

Mouse Y

Field

Mouse Y1

Mouse Y2

Mouse Y3

Mouse Y4

Name

Mouse Y1

Mouse Y2

Mouse Y3

Mouse Y4

Gravity

0

0

0

0

Dead

0.19

0.19

0.19

0.19

Sensitivity

1

1

1

1

Invert

☑️

☑️

☑️

☑️

Type

Joystick Axis

Joystick Axis

Joystick Axis

Joystick Axis

Axis

5th axis (Joysticks)

5th axis (Joysticks)

5th axis (Joysticks)

5th axis (Joysticks)

Joy Num

Joystick 1

Joystick 2

Joystick 3

Joystick 4

Left Trigger and Right Trigger

Left Trigger 1 (2, 3, 4) and Right Trigger 1 (2, 3, 4) mappings

Left Trigger

Field

Left Trigger 1

Left Trigger 2

Left Trigger 3

Left Trigger 4

Name

Left Trigger 1

Left Trigger 2

Left Trigger 3

Left Trigger 4

Gravity

1000

1000

1000

1000

Dead

0.001

0.001

0.001

0.001

Sensitivity

100

100

100

100

Invert

-

-

-

-

Type

Joystick Axis

Joystick Axis

Joystick Axis

Joystick Axis

Axis

9th axis (Joysticks)

9th axis (Joysticks)

9th axis (Joysticks)

9th axis (Joysticks)

Joy Num

Joystick 1

Joystick 2

Joystick 3

Joystick 4

Right Trigger

Field

Right Trigger 1

Right Trigger 2

Right Trigger 3

Right Trigger 4

Name

Right Trigger 1

Right Trigger 2

Right Trigger 3

Right Trigger 4

Gravity

1000

1000

1000

1000

Dead

0.001

0.001

0.001

0.001

Sensitivity

100

100

100

100

Invert

-

-

-

-

Type

Joystick Axis

Joystick Axis

Joystick Axis

Joystick Axis

Axis

10th axis (Joysticks)

10th axis (Joysticks)

10th axis (Joysticks)

10th axis (Joysticks)

Joy Num

Joystick 1

Joystick 2

Joystick 3

Joystick 4

DPad X and DPad Y

DPad X1 (X2, X3, X4) and DPad Y1 (Y2, Y3, Y4) mappings

DPad X

Field

DPad X1

DPad X2

DPad X3

DPad X4

Name

DPad X1

DPad X2

DPad X3

DPad X4

Gravity

0

0

0

0

Dead

0.2

0.2

0.2

0.2

Sensitivity

1

1

1

1

Invert

-

-

-

-

Type

Joystick Axis

Joystick Axis

Joystick Axis

Joystick Axis

Axis

6th axis (Joysticks)

6th axis (Joysticks)

6th axis (Joysticks)

6th axis (Joysticks)

Joy Num

Joystick 1

Joystick 2

Joystick 3

Joystick 4

DPad Y

Field

DPad Y1

DPad Y2

DPad Y3

DPad Y4

Name

DPad Y1

DPad Y2

DPad Y3

DPad Y4

Gravity

0

0

0

0

Dead

0.2

0.2

0.2

0.2

Sensitivity

1

1

1

1

Invert

☑️

☑️

☑️

☑️

Type

Joystick Axis

Joystick Axis

Joystick Axis

Joystick Axis

Axis

7th axis (Joysticks)

7th axis (Joysticks)

7th axis (Joysticks)

7th axis (Joysticks)

Joy Num

Joystick 1

Joystick 2

Joystick 3

Joystick 4

Mouse Left Click

Mouse Left Click mapping

Field

Mouse Left Click

Name

Mouse Left Click

Positive Button

mouse 0

Gravity

1000

Dead

0.001

Sensitivity

1000

Invert

-

Type

Key or Mouse Button

Axis

X axis

Joy Num

Get Motion from all Joysticks

After finishing adding the above key mappings then you will have the input for four players configured. This will allow up to four players to use the local multiplayer system.

This step will no longer be necessary in the future and adding the key mappings will be handled by an in-editor setup wizard🧙‍♂️

Step #3: Add Tags and Layers

When importing GKC into an existing project, or if you imported GKC without the project settings then you'll need to add the tags and layers used by this asset.

You can add the below tags and layers by going into the Unity Tags and Layers settings (Edit > Project Settings > Tags and Layers).

Tags

Tag No

Tag Value

Tag 0

box

Tag 1

sphere

Tag 2

moving

Tag 3

enemy

Tag 4

friend

Tag 5

device

Tag 6

inventory

Tag 7

vehicle

Layers

Layer No

Layer Value

#1

gravityObjects

#2

Armor Surface

#3

turrets

#4

player

#5

radar

#6

Scanner

#7

vehicle

#8

inventory

#9

npc

#10

weapons

#11

device

#12

Terrain

#13

Point&Click

#14

Dynamic Split Screen

#15

Transparent Mesh

This step will no longer be necessary in the future, adding the tags and layers will be handled by an in-editor setup wizard🧙‍♂️

That's it! You've completed importing GKC into your project and you can now start making the game of your dreams using Game Kit Controller!👾

(Optional) Download External Files

Mixamo Animations

The action system can be used with any type of humanoid animation. To work on this system, example animations from Mixamo were used as placeholders to configure multiple examples of the action system. Due to Mixamo animations can’t be included on asset, you can find the animations used on these examples on the public repository of Game Kit Controller on Github.

https://github.com/sr3888/GKC-Public-Repository

These animations are already with the regular settings applied to work on root motion properly (like rotation based on current pose, loop time, adjust speed, etc…). No extra setting is needed to try these examples.

All those animations and copyrights belong to Mixamo. You can get those animations and more at the official website of Mixamo: https://www.mixamo.com/#/

Of course, on this action system, you can use your own animations, from the asset store or any other store or web.

Slice System

There are a couple of systems in the asset that uses a slice system for 3d meshes and skinned mesh renders, for the melee weapon system, allowing to cut surfaces and characters, similar to games like metal gear rising. Those systems can be found in the public repository of GKC, which is the same limb from a few lines above.

You only need to import those 2 packages and open the script file called sliceSystemUtils.cs and uncomment all the commented lines on that script, in order to use the slice system. This is not mandatory to be done if you won’t use the slice system in any part of your project.