Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

the latest master not working in UE4.24 (Add warnings for missing dependencies) #17

Open
xmak opened this issue Apr 25, 2020 · 5 comments
Labels
enhancement New feature or request

Comments

@xmak
Copy link
Contributor

xmak commented Apr 25, 2020

After pulling the latest version from master, the plugin doesn't work in UE 4.24.

Opening the project and compiling the modules works OK (after I made the changes to include paths). But if I add an actor with the Node component and run the project, UE just crashes.

Steps to reproduce:

  1. Create new project
  2. Clone the latest version of nodejs-ue4 and socketio-client-ue4 from master (for socketio-client-ue4 do a recursive clone) into Plugins folder and activate the plugins in the project settings
  3. Open the project in Unreal Editor (it will ask you to recompile modules which works OK after the corection from my pull request)
  4. Create an actor with the Node component, add the actor to the map
  5. Click the Play button to run the project

After the last step the editor just crashes without showing the usual UE crash report window. This is the UE log after clicking the Play button:

[2020.04.25-06.38.55:629][257]LogUObjectGlobals: Warning: Failed to find object 'Class None.SIOJJsonObject'
[2020.04.25-06.38.55:629][257]LogUObjectGlobals: Warning: Failed to find object 'Class None.SIOJJsonObject'
[2020.04.25-06.38.56:848][330]LogTemp: Repeating last play command: New Editor Window (PIE)
[2020.04.25-06.38.56:860][330]LogPlayLevel: PlayLevel: No blueprints needed recompiling
[2020.04.25-06.38.56:860][330]PIE: New page: PIE session: Main (25. tra 2020. 10:38:56)
[2020.04.25-06.38.56:862][330]LogOnline: OSS: Creating online subsystem instance for: NULL
[2020.04.25-06.38.56:863][330]LogOnline: OSS: TryLoadSubsystemAndSetDefault: Loaded subsystem for module [NULL]
[2020.04.25-06.38.56:863][330]LogPlayLevel: Creating play world package: /Game/UEDPIE_0_Main
[2020.04.25-06.38.56:866][330]LogPlayLevel: PIE: StaticDuplicateObject took: (0.002297s)
[2020.04.25-06.38.56:867][330]LogAIModule: Creating AISystem for world Main
[2020.04.25-06.38.56:867][330]LogPlayLevel: PIE: World Init took: (0.001695s)
[2020.04.25-06.38.56:868][330]LogPlayLevel: PIE: Created PIE world by copying editor world from /Game/Main.Main to /Game/UEDPIE_0_Main.Main (0.004313s)
[2020.04.25-06.38.56:934][330]LogUObjectHash: Compacting FUObjectHashTables data took 5.56ms
[2020.04.25-06.38.56:935][330]LogAudioMixer: Display: Audio Mixer Platform Settings:
[2020.04.25-06.38.56:935][330]LogAudioMixer: Display: Sample Rate: 48000
[2020.04.25-06.38.56:935][330]LogAudioMixer: Display: Callback Buffer Frame Size Requested: 1024
[2020.04.25-06.38.56:935][330]LogAudioMixer: Display: Callback Buffer Frame Size To Use: 1024
[2020.04.25-06.38.56:935][330]LogAudioMixer: Display: Number of buffers to queue: 2
[2020.04.25-06.38.56:935][330]LogAudioMixer: Display: Max Channels (voices): 32
[2020.04.25-06.38.56:935][330]LogAudioMixer: Display: Number of Async Source Workers: 0
[2020.04.25-06.38.56:935][330]LogAudio: Display: AudioDevice MaxSources: 32
[2020.04.25-06.38.56:936][330]LogAudio: Display: Using built-in audio occlusion.
[2020.04.25-06.38.56:936][330]LogAudioMixer: Display: Initializing audio mixer.
[2020.04.25-06.38.56:966][330]LogAudioMixer: Display: Audio Device Output Speaker Info:
[2020.04.25-06.38.56:966][330]LogAudioMixer: Display: Name: Speaker/Headphone (Realtek(R) Audio)
[2020.04.25-06.38.56:966][330]LogAudioMixer: Display: Is Default: Yes
[2020.04.25-06.38.56:966][330]LogAudioMixer: Display: Sample Rate: 48000
[2020.04.25-06.38.56:966][330]LogAudioMixer: Display: Channel Count Used: 2
[2020.04.25-06.38.56:966][330]LogAudioMixer: Display: Device Channel Count: 2
[2020.04.25-06.38.56:966][330]LogAudioMixer: Display: Channel Order:
[2020.04.25-06.38.56:966][330]LogAudioMixer: Display: 0: FrontLeft
[2020.04.25-06.38.56:966][330]LogAudioMixer: Display: 1: FrontRight

I have tried turning off "Run Default Script On begin Play" for the Node component, it didn't help.

Here's an example project (with plugin binaries already compiled):

https://drive.google.com/file/d/1PrYO3wH99_wV5L1-MbtZdHy5EoyXjtv3/view?usp=sharing

@getnamo getnamo added the enhancement New feature or request label Apr 25, 2020
@getnamo getnamo changed the title the latest master not working in UE4.24 the latest master not working in UE4.24 (Add warnings for missing dependencies) Apr 25, 2020
@getnamo
Copy link
Owner

getnamo commented Apr 25, 2020

You're missing dependencies:

  1. The actual node executable, if you look at e.g. https://github.com/getnamo/nodejs-ue4/releases/tag/0.5.0, download the nodejs-ue4.24-v0.5.0.7z for example, you can extract Source/ThirdParty into {project root}/Plugins/nodejs-ue4/Source/ThirdParty to add the thirdparty node executable.

  2. Wrapper script dependencies. Go to nodejs-ue4/content/scripts and run npm i so that the wrapper script dependencies are installed.

Both of these steps are handled for you if you use the correct releases, but if you're using git, you'll need to manually ensure those two things are done before it all works.

That said this shouldn't crash without a hint though, so I'm marking this as an enhancement to add a warning when you're missing the dependency.

@xmak
Copy link
Contributor Author

xmak commented Apr 26, 2020

Hi.

With the node executable in place, Unreal editor doesn't crash anymore (but I ran into another issue - #18).

As for this one, is this step (copying the ThirdParty folder with node excutbale) documented somewhere?
It would be usefull to have it in the documentation for those who build the plugin from source.

@getnamo
Copy link
Owner

getnamo commented Apr 27, 2020

Added https://github.com/getnamo/nodejs-ue4/blob/master/README.md#using-git-instead-of-releases readme section with link to the third party dependencies here: https://github.com/getnamo/nodejs-ue4/releases/download/0.5.0/nodejs-v0.5.0git-thirdparty-dependencies-only.7z

That should make using the plugin with a fresh git pull a bit simpler.

@xmak
Copy link
Contributor Author

xmak commented Apr 27, 2020

Shouldn't the step 2 (Go to nodejs-ue4/content/scripts and run npm i) also be in readme?

@getnamo
Copy link
Owner

getnamo commented Apr 27, 2020

The node_modules are included in the zip, so no npm i should be required when using that zip (untested though)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants