Failing to create a CDO on load for UMG widget blueprint with a native parent class from a particular plugin module

Draco Houston
Tue, 02 May 2023 20:05:18 +0000
Pipeline & Plugins

I can’t figure out why this is happening to my plugin classes and not others, but I have some kind of dependency/load order problem with a pair of UMG widgets.

The widgets are a settings screen, and a settings entry widget, like the ones in Lyra. It uses the GameSettings plugin. Widgets derived from the classes in that module are loading correctly. However, the 2 offending widgets are derived from my own subclasses of the settings screen and settings entry base classes. They live in a module I have created for my UI related code, it depends on my core plugin module and not the other way around. They are defined like this in the uplugin file:

"Modules": [
		{
			"Name": "RTSDK",
			"Type": "Runtime",
			"LoadingPhase": "PreDefault"
		},
		{
			"Name": "RTSDKUI",
			"Type": "Runtime",
			"LoadingPhase": "Default"
		}
	],

Which puts RTSDKUI in the same loading phase as GameSettings as well as CommonUI, Default. Note, I changed this after first noticing the error, I was using PreDefault, thinking it was just loading it before it loaded the other plugins. But it did not change anything.

Here is the relevant log section

[2023.05.02-19.17.39:473][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\RTSDKGenericSettingsScreen.uasset: VerifyImport: Failed to find script package for import object 'Package /Script/RTSDKUI'
[2023.05.02-19.17.39:475][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\Settings\RTSDKGenericEntryWidget.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/Settings/RTSDKGenericEntryWidget.RTSDKGenericEntryWidget_C
[2023.05.02-19.17.39:476][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\Settings\RTSDKGenericEntryWidget.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/Settings/RTSDKGenericEntryWidget.RTSDKGenericEntryWidget_C
[2023.05.02-19.17.39:476][  0]LogLinker: Warning: Unable to load Default__RTSDKGenericEntryWidget_C with outer Package /RTSDK/UI/Settings/RTSDKGenericEntryWidget because its class (RTSDKGenericEntryWidget_C) does not exist
[2023.05.02-19.17.39:476][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\Settings\RTSDKGenericEntryWidget.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/Settings/RTSDKGenericEntryWidget.RTSDKGenericEntryWidget_C
[2023.05.02-19.17.39:476][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\Settings\RTSDKGenericEntryWidget.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/Settings/RTSDKGenericEntryWidget.RTSDKGenericEntryWidget_C
[2023.05.02-19.17.39:477][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\Settings\RTSDKGenericEntryWidget.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/Settings/RTSDKGenericEntryWidget.RTSDKGenericEntryWidget_C
[2023.05.02-19.17.39:495][  0]LogOutputDevice: Warning:

Script Stack (0 frames) :

Ensure condition failed: !GIsDuplicatingClassForReinstancing || InClass->HasAnyClassFlags(CLASS_Native) [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 3132]

A breakpoint instruction (__debugbreak() statement or a similar call) was executed in UnrealEditor-Win64-DebugGame.exe.

[2023.05.02-19.17.39:501][  0]LogOutputDevice: Error: Ensure condition failed: !GIsDuplicatingClassForReinstancing || InClass->HasAnyClassFlags(CLASS_Native) [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 3132]


[2023.05.02-19.17.54:893][  0]LogStats:             FDebug::EnsureFailed -  0.006 s
[2023.05.02-19.17.54:901][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\RTSDKGenericSettingsScreen.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/RTSDKGenericSettingsScreen.RTSDKGenericSettingsScreen_C
[2023.05.02-19.17.54:901][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\RTSDKGenericSettingsScreen.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/RTSDKGenericSettingsScreen.RTSDKGenericSettingsScreen_C
[2023.05.02-19.17.54:901][  0]LogLinker: Warning: Unable to load Default__RTSDKGenericSettingsScreen_C with outer Package /RTSDK/UI/RTSDKGenericSettingsScreen because its class (RTSDKGenericSettingsScreen_C) does not exist
[2023.05.02-19.17.54:902][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\RTSDKGenericSettingsScreen.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/RTSDKGenericSettingsScreen.RTSDKGenericSettingsScreen_C
[2023.05.02-19.17.54:902][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\Settings\RTSDKGenericEntryWidget.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/Settings/RTSDKGenericEntryWidget.RTSDKGenericEntryWidget_C
[2023.05.02-19.17.54:903][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\Settings\RTSDKGenericEntryWidget.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/Settings/RTSDKGenericEntryWidget.RTSDKGenericEntryWidget_C
[2023.05.02-19.17.54:903][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\Settings\RTSDKGenericEntryWidget.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/Settings/RTSDKGenericEntryWidget.RTSDKGenericEntryWidget_C
[2023.05.02-19.17.54:904][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\RTSDKGenericSettingsScreen.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/RTSDKGenericSettingsScreen.RTSDKGenericSettingsScreen_C
[2023.05.02-19.17.54:904][  0]LogLinker: Warning: [AssetLog] C:\Users\User\Documents\Unreal Projects\LockstepTest\Plugins\RTSDK\Content\UI\RTSDKGenericSettingsScreen.uasset: CreateExport: Failed to load Parent for WidgetBlueprintGeneratedClass /RTSDK/UI/RTSDKGenericSettingsScreen.RTSDKGenericSettingsScreen_C

If I reload the assets within the editor using the content browser it will load it correctly, so the class is valid, it just doesn’t exist yet when the CDO is made. How come? Can anyone help?

2 posts - 1 participant