jmgomez / NimForUE

Nim plugin for UE5 with native performance, hot reloading and full interop that sits between C++ and Blueprints. This allows you to do common UE workflows like for example to extend any UE class in Nim and extending it again in Blueprint if you wish so without restarting the editor. The final aim is to be able to do in Nim what you can do in C++
MIT License
471 stars 28 forks source link

genbindings hangs when adding NimForUE to existing project based off the source. #54

Closed geekrelief closed 1 month ago

geekrelief commented 2 months ago

It's expected that you'll add NimForUE to a new project. And in that situation generating bindings for a new project with the source works.

I tried to add NimForUE to my GAS project and the genbindings task got stuck. Normally, the task completes in about a minute and a half on my system on a new project, but on the GAS project, I tried several times and had to kill the editor after 2 minutes.

Comparing the output of the completed and hung task looks identical at a glance. Completed:

]LogInit: Display: Failure - 22 error(s), 7 warning(s)[2024.07.17-21.43.12:341][  0]LogInit: Display: Execution of commandlet took:  1m 19s (79.28 seconds)[2024.07.17-21.43.12:407][  0]LogDirectoryWatcher: Display: Refresh of ReadDirectoryChangesW failed. GetLastError code [6] Handle [FFFFFFFFFFFFFFFF], Path [D:/unreal-projects/_experiments/NueGas/Plugins/]. Aborting watch request...[2024.07.17-21.43.12:491][  0]LogShaderCompilers: Display: Shaders left to compile 0[2024.07.17-21.43.13:544][  0]LogStudioTelemetry: Display: Shutdown StudioTelemetry Module

Hung:

LogInit: Display: [2024.07.17-20.37.11:719][  0]LogInit: Display: Failure - 22 error(s), 7 warning(s)[2024.07.17-20.37.11:719][  0]LogInit: Display: Execution of commandlet took:  1m 20s (80.17 seconds)[2024.07.17-20.37.11:817][  0]LogDirectoryWatcher: Display: Refresh of ReadDirectoryChangesW failed. GetLastError code [6] Handle [FFFFFFFFFFFFFFFF], Path [D:/unreal-projects/_experiments/GASTopDownRPG/Plugins/]. Aborting watch request...[2024.07.17-20.37.11:954][  0]LogShaderCompilers: Display: Shaders left to compile 0

Based on the console output, and the generated data in src/.reflectiondat/ueproject.nim it looks like the commandlet completes but the process doesn't close for some reason.

jmgomez commented 2 months ago

What about when you run it through AActorCodegen does it complete?

geekrelief commented 2 months ago

Yeah, I did that after the first time it hung, just to move forward, and it did complete.

geekrelief commented 1 month ago

Going to close this. In my new project, I'm able to regen the bindings against the latest patch.