Popularity
5.7
Stable
Activity
2.2
-
3,598
186
346

Programming language: - - -
License: GNU General Public License v3.0 or later
Tags: Editors     Js     Game Development     UnrealEngine    

Unreal.js alternatives and similar libraries

Based on the "Game Development" category.
Alternatively, view Unreal.js alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Unreal.js or a related project?

Add another 'Game Development' Library

README

star this repo fork this repo

Unreal.js

Unreal.js is a plug-in which brings V8-powered Javascript into UnrealEngine.

Installation

  • Search unreal.js on the epic marketplace
  • Manual installation
    1. git clone https://github.com/ncsoft/Unreal.js-core <YourProject>/Plugins/UnrealJS
    2. cd <YourProject>/Plugins/UnrealJS && ./install-v8-libs

Features

  • Powered by latest V8 (ES6)
  • CommonJS modules
  • Full access to the whole UnrealEngine API
  • Free to subclass existing classes including blueprint
  • Live reload
  • Communicate with outer world: REST(http), process(pipe), arraybuffer, ...
  • Bridge API for editor extension
  • Auto-completion for Visual Studio Code (auto-generated *.d.ts)
  • Debugging within Visual Studio, Visual Studio Code, WebStorm and all IDE which supports V8 protocol
  • Profiling supported by V8
  • Dedicated Javascript console on UnrealEditor

  • (Full) access to existing javascript libraries via npm, bower, ...

Dummy demo

Tutorials & documentation

License

  • Licensed under the BSD 3-Clause "New" or "Revised" License
  • see LICENSE for details

Examples

2048

Springy

Editor extension

Create a new actor

let myActor = new Actor(GWorld,{X:10,Y:20,Z:30});
myActor.SetActorLocation({X:40,Y:80,Z:120});

Subclass an existing class

class MyActor extends Actor {
  properties() {
    this.MyProp/*EditAnywhere+Replicated+int*/;
  }
  RPC(x/*int*/) /*Server+Reliable*/ {
    console.log('This function is replicated',this.MyProp++);
  }
}
let MyActor_C = require('uclass')()(global,MyActor);
if (GWorld.IsServer()) { 
  new MyActor_C(GWorld);
}

Node.js like

let _ = require('lodash');
let kick = () => {
  console.log("Hello timer!",_.keys(this));
  setTimeout(kick,1000);
};
kick();


*Note that all licence references and agreements mentioned in the Unreal.js README section above are relevant to that project's source code only.