When a blueprint's component hierarchy is changed by changing a child component's mobility value to Static while deleting its parent component which has Movable mobility, levels saved with an outdated version of the actor will print a one-time load warning when loading and fixing up the old actor, while will keep occurring on load until the level is resaved. This can affect productivity when either cook or validation tasks treat warnings as errors, as the warning is unnecessary and since in this scenario the actor is properly fixed up by rerunning construction script.
The task is to evaluate and prevent this warning, when it's unnecessary and irrelevant. In this case I believe it's irrelevant because (see repro steps for component naming):
The printed warning is irrelevant for both the previous actor class and the new actor class, so preferably we can avoid printing it or avoid the steps that trigger it.
Not a blocker, but would be nice to fix to support teams that prefer warnings as errors.
Create an actor blueprint with the following component hierarchy and mobility:
Create a level, place that actor, save the level.
3. Load the level, notice the log will print this warning:
PIE: Warning: AttachTo: '/Game/ActorLevel_P.ActorLevel_P:PersistentLevel.Actor_BP_C_5.SceneComponentB' is not static (in blueprint "Actor_BP"), cannot attach '/Game/ActorLevel_P.ActorLevel_P:PersistentLevel.Actor_BP_C_5.SceneComponentC' which is static to it. Aborting.
You can reload the level via context browser to retrigger it as long as you don't resave either asset.
Expected: No warning
> UnrealEditor-Engine.dll!USceneComponent::AttachToComponent(USceneComponent * Parent, const FAttachmentTransformRules & AttachmentRules, FName SocketName) Line 2000 C++
UnrealEditor-Engine.dll!USceneComponent::OnRegister() Line 679 C++
UnrealEditor-Engine.dll!UActorComponent::ExecuteRegisterEvents(FRegisterComponentContext * Context) Line 1674 C++
UnrealEditor-Engine.dll!UActorComponent::RegisterComponentWithWorld(UWorld * InWorld, FRegisterComponentContext * Context) Line 1346 C++
UnrealEditor-Engine.dll!AActor::IncrementalRegisterComponents(int NumComponentsToRegister, FRegisterComponentContext * Context) Line 5453 C++
[Inline Frame] UnrealEditor-Engine.dll!ULevel::IncrementalRegisterComponents(bool) Line 1698 C++
UnrealEditor-Engine.dll!ULevel::IncrementalUpdateComponents(int NumComponentsToUpdate, bool bRerunConstructionScripts, FRegisterComponentContext * Context) Line 1633 C++
UnrealEditor-Engine.dll!UWorld::UpdateWorldComponents(bool bRerunConstructionScripts, bool bCurrentLevelOnly, FRegisterComponentContext * Context) Line 2611 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::InitializeNewlyCreatedInactiveWorld(UWorld * World) Line 7460 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::OnAssetLoaded(UObject * Asset) Line 7408 C++
[Inline Frame] UnrealEditor-UnrealEd.dll!Invoke(void(UEditorEngine::*)(UObject *)) Line 66 C++
[Inline Frame] UnrealEditor-UnrealEd.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(UEditorEngine::*)(UObject *) &) Line 311 C++
UnrealEditor-UnrealEd.dll!TBaseUObjectMethodDelegateInstance<0,UEditorEngine,void __cdecl(UObject *),FDefaultDelegateUserPolicy>::ExecuteIfSafe(UObject * <Params_0>) Line 667 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!TMulticastDelegateBase<FDefaultDelegateUserPolicy>::Broadcast(UObject *) Line 254 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!TMulticastDelegate<void __cdecl(UObject *),FDefaultDelegateUserPolicy>::Broadcast(UObject *) Line 956 C++
UnrealEditor-CoreUObject.dll!EndLoad(FUObjectSerializeContext * LoadContext, TArray<UPackage *,TSizedDefaultAllocator<32>> * OutLoadedPackages) Line 2347 C++
UnrealEditor-CoreUObject.dll!LoadPackageInternal::__l102::<lambda_2>::operator()() Line 1751 C++
UnrealEditor-CoreUObject.dll!LoadPackageInternal(UPackage * InOuter, const FPackagePath & PackagePath, unsigned int LoadFlags, FLinkerLoad * ImportLinker, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext, const FPackagePath * DiffPackagePath) Line 1853 C++
UnrealEditor-CoreUObject.dll!LoadPackage(UPackage * InOuter, const FPackagePath & PackagePath, unsigned int LoadFlags, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext, const FPackagePath * DiffPackagePath) Line 2014 C++
UnrealEditor-CoreUObject.dll!LoadPackage(UPackage * InOuter, const wchar_t * InLongPackageNameOrFilename, unsigned int LoadFlags, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext) Line 1987 C++
UnrealEditor-CoreUObject.dll!PackageReloadInternal::LoadReplacementPackage(UPackage * InExistingPackage, const unsigned int InLoadFlags) Line 458 C++
UnrealEditor-CoreUObject.dll!ReloadPackages(const TArrayView<FReloadPackageData,int> & InPackagesToReload, TArray<UPackage *,TSizedDefaultAllocator<32>> & OutReloadedPackages, const int InNumPackagesPerBatch) Line 684 C++
UnrealEditor-UnrealEd.dll!UPackageTools::ReloadPackages(const TArray<UPackage *,TSizedDefaultAllocator<32>> & TopLevelPackages, FText & OutErrorMessage, const EReloadPackagesInteractionMode InteractionMode) Line 930 C++
UnrealEditor-UnrealEd.dll!UPackageTools::ReloadPackages(const TArray<UPackage *,TSizedDefaultAllocator<32>> & TopLevelPackages) Line 630 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!FAssetFileContextMenu::ExecuteReload() Line 1676 C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!Invoke(void(FAssetFileContextMenu::*)()) Line 66 C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(FAssetFileContextMenu::*)() &) Line 311 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!TBaseSPMethodDelegateInstance<0,FAssetFileContextMenu,1,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() Line 298 C++
UnrealEditor-Slate.dll!TDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>() Line 570 C++
[Inline Frame] UnrealEditor-Slate.dll!FUIAction::Execute() Line 139 C++
UnrealEditor-Slate.dll!SMenuEntryBlock::OnClicked(bool bCheckBoxClicked) Line 1167 C++
UnrealEditor-Slate.dll!SMenuEntryBlock::OnMenuItemButtonClicked() Line 1118 C++
[Inline Frame] UnrealEditor-Slate.dll!Invoke(FReply(SMenuEntryBlock::*)()) Line 66 C++
[Inline Frame] UnrealEditor-Slate.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(FReply(SMenuEntryBlock::*)() &) Line 311 C++
UnrealEditor-Slate.dll!TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,1,FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 281 C++
UnrealEditor-Slate.dll!TDelegate<FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 549 C++
UnrealEditor-Slate.dll!SButton::ExecuteOnClick() Line 465 C++
UnrealEditor-Slate.dll!SButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 390 C++
UnrealEditor-Slate.dll!SMenuEntryButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 434 C++
[Inline Frame] UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent::__l8::<lambda_3>::operator()(const FArrangedWidget &) Line 5220 C++
UnrealEditor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,`FSlateApplication::RoutePointerUpEvent'::`8'::<lambda_3>>(FSlateApplication * ThisApplication, FEventRouter::FToLeafmostPolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerUpEvent::__l8::<lambda_3> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 442 C++
UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5206 C++
UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(const FPointerEvent & MouseEvent) Line 5775 C++
UnrealEditor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5740 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 2231 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2738 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1099 C++
[Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 931 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 937 C++
user32.dll!00007ffd113e8961() Unknown
user32.dll!00007ffd113e8421() Unknown
[Inline Frame] UnrealEditor-ApplicationCore.dll!WinPumpMessages() Line 119 C++
UnrealEditor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 148 C++
UnrealEditor.exe!FEngineLoop::Tick() Line 5749 C++
[Inline Frame] UnrealEditor.exe!EngineTick() Line 61 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 188 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 247 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 298 C++
[Inline Frame] UnrealEditor.exe!invoke_main() Line 102 C++
UnrealEditor.exe!__scrt_common_main_seh() Line 288 C++
kernel32.dll!00007ffd11ba257d() Unknown
ntdll.dll!00007ffd1320aa48() Unknown
I am not able to find world outliner how to enable it?
How to achieve HLSL Multiple Render Target in Material blueprints?
How does UMG set overlapping layouts?
What method is used to fill polygonal regions when drawing spline mesh at run time?
What properties of the progress bar can be used for drag and drop highlighting?
What property of the Slider is the image used when dragging?
What controls of umg have mouse wheel events in UE4.27?
Teleporter in the Creative Hub is Locked and cannot be accessed
Is the uobject class unable to overload the assignment function?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-212059 in the post.
0 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 5.3 |
Created | Apr 11, 2024 |
---|---|
Updated | Aug 22, 2024 |