NVIDIA GameWorks Integration

For 4.19 merge? I had to do one manual fix to make it compatible with Flow etc if I remember right but I’d still try to make the VXGI first run on standalone 4.20.3 instead of the full gameworks merge.

Do you have by any got WaveWorks with Truesky? I can’t seem to get them working together…

Yes, more and more non-game users are joining UE4, and their performance requirements are far less demanding than game production, more is the pursuit of real-time rendering picture quality, so VXGI in RTX popularization before the high-quality real-time rendering picture can be accessed.

Thanks. That’s what I’m doing actually, but only locally on my machine, then merging it into my working branch and pushing it. If there’s interest in VXGI only, I can make a new branch in my fork and upload it as well.

Yes, if you have VXGI version 4.20 available, even if it only exists VXGI, it still has great significance for us. Too many people who use Unreal Engine to create content other than games, such as animation, architecture, etc., care more about VXGI. If you have VXGI 4.20 version available, even if it is only VXGI, we will be happy to use it. Thank you.

https://github/HaBe2305/UnrealEngine-GameWorks/tree/4.20-VXGI2

rar file corrupt

Alright folks, seems like I’m finally on the right way to tame the beast. There are still bugs in there resp. I’m pretty sure that not everything works as it should yet. But the code and shaders compile without errors now and that was the hardest part to achieve.
To be able to go on, I need you guys to be my eyes now. I’ve stripped down the current dev branch to include only VXGI/HBAO/TXAA with the rest being vanilla 4.20.3 to minimize side etc. You can find it now:

https://github/HaBe2305/UnrealEn…20-VXGI2-only

Important note: Of course, you shouldn’t load any of your existing projects with yet, just as a reminder.

Please do the following if you find the time: Compile for Development Editor target as usual and after that, run UE. I’ve enabled shader debug output for the engine to get the most out of what you’re doing if errors appear, so pls. be patient when starting the editor and loading projects. It will take like double the time than usual. As soon as you get the Unreal Project Browser screen, please wait until all shaders are compiled and then open the two VXGI example projects sequentially (via the Browse button in the down right corner) in /Samples/NVSamples/VXGI/ and toy around.

Test everything that has VXGI in its name (Light’s settings, CVars, ShowFlags etc.), run the projects and see how it behaves when you switch the different modes that are shown in the HUD. Try any combination of VXGI and stadard settings that make sense to you. As soon as you come across something that doesn’t seem like to work as it should, please take note and post your observations . Screenshots of artifacts would also help with that. The more detail, the better.

It would also help if you could PM me the three log files (/Engine/Saved/Logs/UE4-backup-XYZ.log (the first one that was created), /Samples/NvSamples/VXGI/CornellBox/Saved/Logs/CornellBox.log and /Samples/NvSamples/VXGI/SciFiHallway/Saved/Logs/SciFiHallway.log ) after you’ve got enough.

Have fun finding those little beetles.

It worked fine for me when I tried yesterday, make sure it finished downloading and use 7-zip.
(But that specific branch doesn’t work right now anyhow, so there’s no use in trying.)

Alright, I’ll give it a spin and see if I can be of some help, it’s the least I can do. Especially since all of you spend so much time whipping these releases into working order.
(Sigh, imagine a world where Unreal had robust enough plugin support that Gameworks features could just be implemented as plug-n-play plugins.)


Edit: Well @HaBe2305 , I gave it a spin, but didn’t exactly get far.

Open up CornellBox:
emptyproject.PNG
Open up hallway example:
emptyproject.PNG

Make an empty Project, that works.
Open the PostProcessVolume and enable VXGI Diffuse:
emptyproject.PNG

​​​​​​​

I’ve trashed that former branch and made the new one instead for the reasons already mentioned. As soon as it’s stable enough, I’ll merge it with the main branch.

You cerntainly can be of help and the more people test it and report, the more I can do. Unless someone generously donates a more recent NVIDIA board for my PC or I magically get hit by a pot of gold, that’s the only option we have right now actually. :wink:

Just coming from the Unity world, I can say that Unreal actually has a by far more robust plugin system in comparison. Try to view it like that: The gameworks integrations are more of a proof of concept and are meant to be a good starting point for your own integration work (plus the usual marketing tidbit) than a fully featured and supported integration. So mainly it’s just nice of the NVIDIA guys to provide it so we don’t have to start from scratch. It’s a nice gesture, what we make of it is up to us. Bigger teams and can afford someone that will work on it fulltime and has the needed experience to do it and they also have other channels to Epic and NVIDIA to get what they need. The rest of us has to do it the community way, as usual.

are more detailed crash logs if it helps https://pastebin/ynH7n4kc

Alright, thanks, that’s exactly what I need. Could you send me the log files as mentioned in the original post plus the log file of the empty project you created pls?

Yeah, sent 'em now.

Alright folks, the first stopper bugs popped up on a system that fully supports VXGI and I’m on it. I’ll post as soon as possible fixes are pushed to github. Thanks @ for your time and support.

Just approved comment, in case you guys missed it.

Thanks man, pretty sure I’d have missed it.

Thank you @techtuts , thats exactly the same place were it crashes for , which is a good thing to know right now.

Hi Unreal community,

I hope you are well, I have question with Nvidia Apex destruction and Blast. Currently I tried those two solutions and I always have the same. The idea is to get different state for our breakable; for exemple a crate could get 3-4 states (different meshes) before being completly brake. Nvidia say it works in their solution, but I don’t find any solution.
Currently Apex permit to load custom FBX but only one, so state 0 to 1 and Blast permit to load FBX but only for state 0.
Anybody know how to do it? Is their something I do wrong?

Have a nice day,

Ok, I’m probably just missing something really obvious but is anyone else having issues with all the repo links returning 404s?

Which links exactly?

If it’s -all- the repo links, then you haven’t linked your unreal account with your github account.
( https://www.unrealengine/en-US/ue4-on-github?sessionInvalidated=true )

Having trouble packaging even an empty project using Flex.


UATHelper: Packaging (Windows (64-bit)):     Running UnrealHeaderTool UE4Game "D:\UnrealEngine-FleX-4.19.2\Engine\Intermediate\Build\Win64\UE4Game\Shipping\UE4Game.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Source\Flex\Classes/FlexFluidSurfaceActor.h(11): error C2504: 'AInfo': base class undefined
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Source\Flex\Classes/FlexFluidSurfaceActor.h(12): error C3646: 'Super': unknown override specifier
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Source\Flex\Classes/FlexFluidSurfaceActor.h(12): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Intermediate\Build\Win64\UE4\Inc\Flex\FlexFluidSurfaceActor.gen.cpp(63): error C2039: 'StaticConfigName': is not a member of 'AFlexFluidSurfaceActor'
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Intermediate\Build\Win64\UE4\Inc\Flex\FlexFluidSurfaceActor.gen.cpp(63): error C3861: 'StaticConfigName': identifier not found
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Intermediate\Build\Win64\UE4\Inc\Flex\FlexFluidSurfaceActor.gen.cpp(63): error C2039: 'AddReferencedObjects': is not a member of 'AFlexFluidSurfaceActor'
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Intermediate\Build\Win64\UE4\Inc\Flex\FlexFluidSurfaceActor.gen.cpp(63): error C2065: 'AddReferencedObjects': undeclared identifier
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Intermediate\Build\Win64\UE4\Inc\Flex\FlexFluidSurfaceActor.gen.cpp(63): error C3083: 'Super': the symbol to the left of a '::' must be a type
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Intermediate\Build\Win64\UE4\Inc\Flex\FlexFluidSurfaceActor.gen.cpp(63): error C3083: 'WithinClass': the symbol to the left of a '::' must be a type
UATHelper: Packaging (Windows (64-bit)):   D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Intermediate\Build\Win64\UE4\Inc\Flex\FlexFluidSurfaceActor.gen.cpp(65): error C2614: 'AFlexFluidSurfaceActor': illegal member initialization: 'Super' is not a base or member
UATHelper: Packaging (Windows (64-bit)):   C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\INCLUDE\vcruntime_new.h(71): error C4577: 'noexcept' used with no exception handling mode specified; termination on exception is not guaranteed. Specify /EHsc
UATHelper: Packaging (Windows (64-bit)):   ERROR: UBT ERROR: Failed to produce item: D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Binaries\Win64\UE4-Flex-Win64-Shipping.lib
UATHelper: Packaging (Windows (64-bit)): ERROR: Command failed (Result:5): D:\UnrealEngine-FleX-4.19.2\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game Win64 Shipping  -NoUBTMakefiles  -remoteini="D:\Unreal Projects\Flex_VR_Test" -skipdeploy -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2018.10.23-14.29.18.txt' 
PackagingResults: Error: UBT ERROR: Failed to produce item: D:\UnrealEngine-FleX-4.19.2\Engine\Plugins\GameWorks\Flex\Binaries\Win64\UE4-Flex-Win64-Shipping.lib
PackagingResults: Error: Command failed (Result:5): D:\UnrealEngine-FleX-4.19.2\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game Win64 Shipping  -NoUBTMakefiles  -remoteini="D:\Unreal Projects\Flex_VR_Test" -skipdeploy -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2018.10.23-14.29.18.txt' 
PackagingResults: Error: Unknown Error

No errors when I built Flex from source. Do I need to go through code and fix it myself? Or is there some other solution?