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 9 months ago
Repo Created over 2 years ago
Repo Last Updated 4 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
Latest Open Source 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)
  • over 1 year Subclassing not working at all
  • over 1 year Android supported ?
  • over 1 year Invoking JS function from c++ with parameters
  • almost 2 years __dirname resolves with file instead of path
  • almost 2 years ActorChannelFailure when using javascript-derived controller, pawn on packaged/multi-instance game
  • almost 2 years JavascriptWebSocketServer is not defined
  • almost 2 years [Question] Running script from blueprint without attaching to actor
  • almost 2 years [Question] Keyboard shortcuts of JavascriptUICommands
  • almost 2 years Playground was not made compatible with UE 4.13
  • almost 2 years UE4 hangs when the helloCharacter level is played.
  • almost 2 years UE editor crashes when leaving Game mode
  • almost 2 years Integration of Node.js core-modules (maybe as optional extension / feature?)
  • about 2 years p2p communication
  • about 2 years UJavascriptComponent hot reload issue (UE 4.12.3)
  • about 2 years HelloJS example not working
  • over 1 year How to access objects placed with editor?
  • over 1 year Modify a PropertyEditor element?
  • over 1 year Is there a way to get the component or actor that the JavascriptComponent is on?
  • over 1 year Can I define new blueprint types that I can create in the editor?
  • over 1 year Chrome devtools inspector not connecting?
  • over 1 year [Question] How to setup class that implements an interface?
  • over 1 year V8 download script not working
  • over 1 year How to use npm os lib
  • over 1 year 4.13.2 palyground lauch error
  • over 1 year plugin can't work when launch or package project
  • over 1 year How to simply convert Rotator to Quat?
  • over 1 year UE editor crashes when leaving level
  • over 1 year 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++