brainCloud client for NodeJS

Usage no npm install needed!

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


brainCloud NodeJS client


npm i braincloud-node

or if still in development

npm i git+ssh://


var bc = require("braincloud-node")

function authenticated(response) {
    console.log("Did get Authenticated to profileId:" +;
    var shareable = true;
    var replaceIfExists = true;
_bc = new bc.BrainCloudWrapper("_mainWrapper");
// This Node implementation does not use jQuery so turn it off.

secret = "aaaaaaaa-bbbb-0000-cccc-111111111111";
appId = "00000";

console.log("Initializing brainCloud");
_bc.initialize(appId, secret, "1.0.0");

console.log("Authenticating anonymously to brainCloud");

Implementation notes

File Upload

The file upload works slightly different in this implementation. Instead of using XMLHttpRequest you need to use XMLHttpRequest4Upload. Also the file object passed into uploadFile call needs to be a Read Stream from the nodes fs module.

var fs = require("fs")
_bc.brainCloudClient.file.prepareFileUpload("test2", fileName, shareable, replaceIfExists, fileSize, function (result) {
    if (result.status == 200) {
        var uploadId =;
        var xhr = new XMLHttpRequest4Upload();
        file2 = fs.createReadStream("./someFile.ext");
        file2.size = fileSize;
            xhr.addEventListener("load", transferComplete);
        xhr.addEventListener("error", transferFailed);
        console.log("Uploading file with id:" + uploadId + " (size : " + fileSize + " )");
        _bc.brainCloudClient.file.uploadFile(xhr, file2, uploadId);
    } else {
        console.log("Error preparing for upload, " + result.reason_code );

Only load and error listeners are triggered in this implementations.


Sessions are not maintained across executions of scripts. i.e. Each script must initialy login.