void SetupJavaScriptClassInstance() { if (jsInstance.HasValue) { return; } Engine.With(() => { JavaScriptValue clazz = Engine.Import( moduleSpecifier, (path) => { // file changed callback Debug.Log("reloading " + moduleSpecifier); JavaScript.API.UpdateHelper.addOneUpdateHook(() => { this.Reload(); }); } ).GetProperty("default"); clazz.AddRef(); // jsClass = clazz; JavaScriptValue instance = clazz.ConstructObject( JavaScriptValue.Undefined, Bridge.CreateExternalWithPrototype(this) ); instance.AddRef(); jsInstance = instance; }); }