BP nativization fails after moving from 4.16.3 to 4.18.1

I have a mounting slot class, which is a slot for item.
There is MultiItemSlot that is child of it.
I have also PlayerPawn and SpectateWatchingPlayerPawn that is child of PlayerPawn.
PlayerPawn have using MultiItemSlot as template.

While packaging with BP nativization i fails with following message:

 C:\ue4Projects\ZeroKilled\ZeroKilledProject\Intermediate\Plugins\NativizedAssets\Windows\Game\Source\NativizedAssets\Private\SpectateWatchingPawn__pf1458230002.cpp(590): error C2065: 'AMultiItemSlot_C': undeclared identifier

If I remove all code from SpectateWatching it’s working. If I add any code to it, even “beginPLay → ParentCall Begin Play”, packaging fails.

Packaging is working correctly when nativization is off. It also worked on 4.16.3.

Hello dzarafata,

That error message can indicate that you are doing the compilation portion of your packaging prior to the nativization. This would result in blueprint classes being converted to code that never gets compiled, which results in the blueprint class being ignored entirely since the actual blueprint class gets ignored due to the code version from nativization, which is not being compiled.

Another thing to try is to attempt disabling EDL (Event Driven Loading) and/or ASync loading if they are enabled, as those features have had quite a few changes since 4.16.3 and have had issues working in tandem with Blueprint Nativization in the past.

If none of this helps, please provide the full log file from the packaging attempt, which will include quite a bit more information, including your packaging settings which could be important.

Hi there,

I’m including log files with four types of build configuration for our project, with combinations of enabling/disabling EDL and inclusive/disabled nativization.

Without nativization packaging is completing, with nativization and EDL enabled there is error as Dzarafata posted above, it fails with MultiItemSlot.

Enabled EDL and nativization returns even more errors i.e
ProcessResult.StdOut: C:\UnrealProjects\SpecialForcesVR\Intermediate\Plugins\NativizedAssets\Windows\Game\Source\NativizedAssets\Private\LobbyWidget__pf1557897223.cpp(1083): error C2440: ‘’: cannot convert from ‘initializer list’ to ‘FBlueprintDependencyData’
ProcessResult.StdOut: C:\UnrealProjects\SpecialForcesVR\Intermediate\Plugins\NativizedAssets\Windows\Game\Source\NativizedAssets\Private\LobbyWidget__pf1557897223.cpp(1083): note: No constructor could take the source type, or constructor overload resolution was ambiguous

Could you also detail first paragraph, can we modify order of compiling/nativization and if so how can we do it?

As for the ordering of the compiling/nativization, that would only be an issue if you were using your own custom build pipeline which it doesn’t seem is the case. It’s also the only way you could reorder it. I wouldn’t be concerned about that because the reason for the failure seems to be the compilation of these nativized assets so they are being compiled.

I’ve noticed that there are many more instances of syntax related errors, rather than just that one that Dzarafata posted. As the compilation errors from the nativized assets seem to be mostly about references to assets that do not appear to exist, I would suggest trying to fix up the multitude of warnings you are seeing, such as:

Warning: Accessed None trying to read property CallFunc_GetOurGameInstance_ourGameInstance3

May I ask you for any way to contact you with PMs? I’ve removed as much warnings as i could but the problem is still the same.

For Answerhub support, we prefer to keep all exchanges public unless the private files need to be shared, so our PMs are reserved for that.

Can you please post the new logs, since resolving these warnings?

It’s good to know that you’re making progress. Can you provide the full callstack and the log from the session of the packaged game where this crash occurred? It would be helpful to see the entire error message and when in the process that it’s occurring.

I’ve managed to package project, I had to remove child actor classes from Spectator Pawn components [link text][1]inherited from our main pawn class. But the problem is I’m keep having crash when I’m launching packaged project :

async loading event graph contained a cycle, see above.

Here’s log from packaging:

Here’s log from successful packaging link text

And here’s full crash report:

LoginId:116510a4464ce9412396acb6aed49ef7
EpicAccountId:0ef23d854ddb44c6ab547aaca7adf1b0

Fatal error: [File:D:\Build++UE4+Release-4.18+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line: 1376] Async loading event graph contained a cycle, see above.

SpecialForcesVR!FDebug::AssertFailed()
SpecialForcesVR!FEventLoadGraph::CheckForCycles()
SpecialForcesVR!FAsyncLoadingThread::CheckForCycles()
SpecialForcesVR!FAsyncLoadingThread::TickAsyncLoading()
SpecialForcesVR!FlushAsyncLoading()
SpecialForcesVR!LoadPackageInternal()
SpecialForcesVR!LoadPackage()
SpecialForcesVR!ResolveName()
SpecialForcesVR!StaticLoadObjectInternal()
SpecialForcesVR!StaticLoadObject()
SpecialForcesVR!UGameEngine::Init()
SpecialForcesVR!FEngineLoop::Init()
SpecialForcesVR!GuardedMain()
SpecialForcesVR!GuardedMainWrapper()
SpecialForcesVR!WinMain()
SpecialForcesVR!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283]
kernel32
ntdll

Thank you for the information, but the packaging log is not the log that I need, I need the log file from the actual game session. This can be found in the directory that you packaged to, under a folder that matches the game’s name and then under Saved/Logs.

May I ask you for private contact as there are some errors with things I shouldn’t be posting.

If you need to share the log privately, you can send it to me in a private message on our forums. That link should take you directly to a page to send me a private message. We should keep the rest of the conversation about the issue on this post however.

Thank you for the log, and I’m glad to see that you were able to fix the issue. After looking into the messages in the log, it seems that your problem could’ve been related to this: Unreal Engine Issues and Bug Tracker (UE-48233)

As you could possibly run into the same issue again, please heed the information at that link to make sure you avoid that sort of setup.

As I checked blueprints in which error occurred I tried to remove all of the code that could have circular dependencies and it actually started to work. The problem was on our end so I guess it is solved. It was a little bit misleading as it was all working with 4.16