Popularity
4.0
Declining
Activity
3.6
Growing
25
164
232

Programming language: - - -
Tags: Editors     Js     Game Development     UnrealEngine    

Unreal.js alternatives and similar libraries

Based on the "Game Development" category

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 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

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();


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