philipturner / ue5-nanite-macos

Nanite on macOS

Home Page:https://forums.unrealengine.com/t/lumen-nanite-on-macos/508411

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

YES.uproject — it’s not you (Sanity Check)

lloydsargent opened this issue · comments

"Heads up for anyone compiling my fork: Git corrupted the YES/YES.uproject”

Apparently this is an issue even with Epic’s source. I ended up using a “dummy” (read: "something that was sitting around that wasn’t too big to use as a starting project”) to get what appears to be 5.2.0 running.

I’m really not sure what the issue is with YES.uproject…

It’s compiling the shaders even as we speak so I may still have a horrorshow to deal with. So just in case you think it is you, it apparently is not.

I think “YES.uproject” is a far too optimistic of a name.

Thanks for the insight! By the way, "YES" probably originated from a boolean variable being automatically passed in as a parameter. In Objective-C, true is @YES and false is @NO.

For most of my recent debugging process, the "YES".uproject was a window into the great void. Upon opening every time, I scrolled to the sphere mesh and manually checked it as "Nanite-enabled". After adding it to the void, that triggered the crash.

The shaders should only compile once the UE source code has changed drastically. They're shaders embedded into the engine itself, but UE doesn't compile them ahead-of-time. I've been able to spin off incremental builds (surprisingly) that take around 1 minute in Xcode, and the shaders don't recompile before launching YES.uproject.

I linked to this GitHub issue in the README, so anyone reading it might have more information.

Heads up - don't use Xcode 14 to compile UE5. Apple recently pushed an automatic update through the App Store distribution. I had to download the Xcode 13.6 binary from developer.apple.com to make UE5 build reliably.

Interesting. I managed to get it to compile just fine, just not run.

Which branch were you building? ue5-main? I have MANAGED to get it to compile, but never run.

Check out the branch described in my README. It’s my personal fork under the branch “modifications”. I’ve heavily validated any changes I push to the branch, to reflect my most recent progress. It’s supposed to compile just fine, but freeze your computer at runtime, forcing you to reboot it.

By “never run”, do you mean you can’t launch the application? I go to Menu Bar > Product > Perform Action > Run Without Building. The Unreal Editor application launches. Have you checked for any build/runtime failures/warnings in Xcode?

image

Let me clarify: the UE5 screen comes up. It builds the 4000+ shaders and I get the “Decide on what you want to open or create” window. So I pick the Third Person game. And at some point it bails.

I’ve not bothered tracking it down. My GOAL was getting faster than 40 FPS (not thinking that is happening).

Unreal has a few (laughs) bugs in it’s macOS implementation (threading). I can start 5.0.3 and let it run… after a while it crashes on the render thread. I’ve not tracked it down because that is not my interest. It LOOKS like it may be accessing a pointer that no longer exists. But, as I say, that isn’t my interest.

Let me clarify: the UE5 screen comes up. It builds the 4000+ shaders and I get the “Decide on what you want to open or create” window. So I pick the Third Person game. And at some point it bails.

Just to be sure, this happens specifically on my fork of Unreal Engine? It's not supposed to freeze your Mac unless you set one of the meshes to Nanite-enabled and drag it into the scene.

Unreal has a few (laughs) bugs in it’s macOS implementation (threading). I can start 5.0.3 and let it run… after a while it crashes on the render thread. I’ve not tracked it down because that is not my interest. It LOOKS like it may be accessing a pointer that no longer exists. But, as I say, that isn’t my interest.

Does the rendering thread crash specifically on my fork of UE5, or just the main EpicGames branch? You mentioned version 5.0.3, which is far behind my fork.

No, I have not tried your fork at all. And I DO need Nanite, so it doesn’t sound like your fork is a good fit. I’m sorry if I confused you on that point.

As I have said, my goal is better FPS. I fear that is not feasible ATM, so I’m working on other aspects of my game.

When is your game going to launch? If it’s soon enough, I could prioritize finishing the Nanite port sooner. I do agree that in its current state, there’s a lot of work to complete it.

Probably 3-4 years. It is a long term project with a lot of moving parts.

That’s plenty of time! Nanite should be fully ported by then. Just curious, do you plan on open-sourcing your game?

Regarding performance, the Nanite pixel shader may run 2x slower on macOS. To compensate, temporal super resolution may utilize MetalFX to run quicker and support larger upscaling factors.

No, it will not be open-source. I have published open-source in the past and it has been more, “Do this for me” rather than a collaborative effort.

No pressure! You have the freedom to make it how you want. I hope it turns out well!

Check the UE5 forum thread. Epic is finally starting to implement Nanite for Mac with UE5.2.