Unreal.js

Unreal.js: Javascript runtime built for UnrealEngine 4

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star half bd79095782ee4930099175e5ce7f4c89fa3ddabcd56fffcc7c74f6f2a2d46b27 (1 ratings)
Rated 4.5 out of 5
Subscribe to updates I use Unreal.js


Statistics on Unreal.js

Number of watchers on Github 2065
Number of open issues 65
Average time to close an issue 8 days
Main language C++
Average time to merge a PR 1 day
Open pull requests 3+
Closed pull requests 4+
Last commit about 1 year ago
Repo Created about 3 years ago
Repo Last Updated 9 months ago
Size 37 MB
Organization / Authorncsoft
Latest Releasesnippet-editor
Contributors4
Page Updated
Do you use Unreal.js? Leave a review!
View open issues (65)
View Unreal.js activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating Unreal.js for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

star this repo fork this repo

Unreal.js

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

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

  • Very simple demo available (https://github.com/ncsoft/Unreal.js/archive/snippet-editor.zip)

Tutorials & documentation

License

  • Licensed under the MIT 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();
Unreal.js open issues Ask a question     (View All Issues)
  • about 2 years Subclassing not working at all
  • about 2 years Android supported ?
  • about 2 years Invoking JS function from c++ with parameters
  • about 2 years __dirname resolves with file instead of path
  • about 2 years ActorChannelFailure when using javascript-derived controller, pawn on packaged/multi-instance game
  • about 2 years JavascriptWebSocketServer is not defined
  • over 2 years [Question] Running script from blueprint without attaching to actor
  • over 2 years [Question] Keyboard shortcuts of JavascriptUICommands
  • over 2 years Playground was not made compatible with UE 4.13
  • over 2 years UE4 hangs when the helloCharacter level is played.
  • over 2 years UE editor crashes when leaving Game mode
  • over 2 years Integration of Node.js core-modules (maybe as optional extension / feature?)
  • over 2 years p2p communication
  • over 2 years UJavascriptComponent hot reload issue (UE 4.12.3)
  • over 2 years HelloJS example not working
  • almost 2 years How to access objects placed with editor?
  • almost 2 years Modify a PropertyEditor element?
  • almost 2 years Is there a way to get the component or actor that the JavascriptComponent is on?
  • almost 2 years Can I define new blueprint types that I can create in the editor?
  • almost 2 years Chrome devtools inspector not connecting?
  • almost 2 years [Question] How to setup class that implements an interface?
  • almost 2 years V8 download script not working
  • almost 2 years How to use npm os lib
  • almost 2 years 4.13.2 palyground lauch error
  • almost 2 years plugin can't work when launch or package project
  • about 2 years How to simply convert Rotator to Quat?
  • about 2 years UE editor crashes when leaving level
  • about 2 years Subclassing a Blueprint overrides BP defaults
Unreal.js open pull requests (View All Pulls)
  • minor fixes for 4.11 (closes #36)
  • Clean up code indentation
  • examples updated (4.13)
Unreal.js list of languages used
Unreal.js latest release notes
snippet-editor Snippet editor

Snippet editor binary (Win64)

More projects by ncsoft View all
Other projects in C++