Our publishing workflow is a straightforward process that can be completed in a few easy steps.
To create a new project, navigate to the New Game
menu option on the left side of your screen. Here you will be asked (required) to provide:
To finalize creating your new project, click on the 'Save & Continue' button at the bottom of the page.
You can look up your new project by navigating to the My Games
menu option on the left side of your screen. By hovering over the project tile, you will have the option to either 'Edit' or to 'Delete' your newly created project. Please be aware that deletion is permanent.
Clicking on the 'Edit' button will give access to the extended setting and options menu for your newly created project, which consist of the following tabs:
Under the Description Tab you are able to adjust the information you previously provided (the short & full description of your project) and provide additional Tags e.g. #adventure, #puzzle etc
Please be aware that all description changes will go live immediatly upon saving.
You will also see the 'Status' of your project, which is currently set to 'Draft', as you have not submitted any build yet.
Additionally you are able to include a Google Analytics tag into your project for analytics tracking.
By clicking on the 'Save' button you save all changes made and/or additional information you provided.
By clicking on the 'Show Game Page' button a new browser tab will open that shows a preview of your game page. This link is not public yet, so you are the only person able to view it.
At the bottom of the page you will find the Visuals section where you can upload the following media content:
Under the Game Files Tab you are able to directly upload your game build and test it by clicking the "Preview" button to ensure it's working correctly.
If you have uploaded multiple versions of your game, you will also be able to see which previous versions have been approved. Similarly, you can check on the SDK versioning.
Under the APIs Tab you are able set up, change and manage the various heyVR APIs that can be used to enhance the gameplay and overall user experience of your game.
For detailed documentation on how to use our APIs and how to set up the heyVR gameplay SDK, you can head over to our Using APIs section and our Gameplay SDK documentation
You can upload your game build via 2 methods, either manually by using the developer dashboard or programatically by using the API.
After you've created your project, changed and/or provided additional information and media - and configured the APIs for enhanced gameplay - you can upload your game build using the upload wizard under the 'Game Files tab'.
Make sure to acquaint yourself with some of our technical and non-technical Requirements and Best Practices before uploading your build.
Sometimes you might be in the process of testing your game and need to upload the build programatically in your build's pipeline. To upload a build programatically, you can send a POST
request to https://api.heyvr.io/v1/private/arcade/game/{game_slug}/build/upload
, where {game_slug}
is the slug of your game. You will only be able to do this if your last build was either approved, or a draft.
Uploading a new build while you have a draft build will override the draft and replace it with the new uploaded file.
Here's an example of how to do so:
const game_slug = 'my-game-slug'; // Required, the slug of your game
const request = new XMLHttpRequest();
request.open( 'post', `https://api.heyvr.io/v1/private/arcade/game/${game_slug}/build/upload` );
request.setRequestHeader( 'Authorization', "Bearer " + YOUR_TOKEN );
request.setRequestHeader( 'Accept', "application/json" );
// In case you need a progress bar
request.upload.addEventListener( 'progress', progressCallbackFunction );
// Handle the upload events
request.addEventListener( 'error', errorCallbackFunction );
request.addEventListener( 'abort', abortCallbackFunction );
request.addEventListener( 'loadend', finishCallbackFunction );
// Send the build data
let buildData = new FormData();
buildData.append( 'game_file', '...' ); // Required, Binary
buildData.append( 'version', '...' ); // Required, Enum String
buildData.append( 'sdk_version', '...' ); // Required, Number
request.send( buildData );
Don't have an API token? You can generate a new one in the developer area, under the Settings panel.
The parameters that are passed to the FormData();
are as follows:
game_file
: Required. The content of the zip file for the build.version
: Required. Must be one of the following: patch
, minor
or major
. This follows Semantic Versioning guidelines.sdk_version
: Required. The major version for the gameplay SDK that you would want to use for this SDK. For example, to use the version 3.2.7
, pass 3
. You can find a list of available version in the game edit screen, under the game files tab.The reason we used the XMLHttpRequest
over fetch
is that it allows to to track the upload progess. Feel free to use the Fetch API instead if you desire.
Once uploaded, you can preview and test your game to make sure everything is working as expected before publishing. You can do this by navigating directly to the game page (https://www.heyvr.io/game/yourgame), clicking on the 'Show Game Page' button under the 'Description tab' or clicking on the 'Preview' button under the 'Game Files tab'.
Once you're satisfied with how everything looks and your game is working as you intended, you can simply submit it for review by clicking the "Submit for Review" button under the 'Game Files tab'.
Make sure to click the "Submit for Review" button. Without submitting your upload, we cannot review your build and the game will not be published on heyVR.