Virtual Joystick Plugin for Phaser 3

Usage no npm install needed!

<script type="module">
  import phaser3VjoyPlugin from '';


Phaser 3 VJoy Plugin

Package version dependency status for latest release npm bundle size Total downloads License

A simple plugin for Phaser 3, to allow you to use a joystick in your computer or mobile game.

The output javascript package is a classic script that could be loaded in a <script> tag in the browser, or loaded by Node.js or another bundler.

Getting Started

To install it with npm, run :

npm i phaser3-vjoy-plugin --save


Load the Plugin

As in the phaser documentation, do something like this :

import 'phaser';
import VJoyPlugin from 'phaser3-vjoy-plugin';


this.plugins.installScenePlugin('VJoyPlugin', VJoyPlugin, 'vjoy', this);

// and from within the scene :
this.sys.VJoyPlugin; // key value
this.vjoy; // mapping value

or, if you just use the dist file :

this.load.scenePlugin('VJoyPlugin', './VJoyPlugin.js', null, 'vjoy');


To test the plugin, check the online demo.

If you want to see the full implementation, you can find an example in the demo directory. You can run npm run demo to test it.

Or, if you want to use import statement, you can go to phaser3-vjoy-plugin-demo.


Run npm install and then npm run build to build the plugin.


Good plugin examples: