Unreal.js is a plug-in which brings V8-powered Javascript into UnrealEngine4.
-
Powered by latest V8 (ES6, 5.1.300)
-
CommonJS modules
-
Full access to the whole UnrealEngine API
-
Free to subclass existing classes including blueprint
-
Live reload
-
Communicate with outer world: REST(http), websocket, 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, ...
- Very simple demo available (https://github.com/ncsoft/Unreal.js/archive/snippet-editor.zip)
- Make sure you have UnrealEngine 4.12.0 canonical build.
- Create a C++ project
- Download ready to build Zip file and unzip into Plugins folder under your project root.
- /Plugins/UnrealJS/... unzip here
- Open your
uproject
and click yes to build modules. - Video tutorial available!
Apache2
let myActor = new Actor(GWorld,{X:10,Y:20,Z:30});
myActor.SetActorLocation({X:40,Y:80,Z:120});
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);
}
let _ = require('lodash');
let kick = () => {
console.log("Hello timer!",_.keys(this));
setTimeout(kick,1000);
};
kick();