FCameraShakePreviewer is an FGCObject that strongly references the UCameraShakeBase instances it previews, and creates them outered to the previewed UWorld. Nothing releases them on world teardown, so after a Sequencer camera-shake trigger fires, the next editor map change leaves the outgoing world and its package alive and UEditorEngine::CheckForWorldGCLeaks raises a fatal error.
Steps to Reproduce
Run unreal at 5.7.4
[Inlined] UE::Logging::Private::BasicFatalLogV::__l2::<lambda_1>::operator()() StructuredLog.cpp:1712 [Inlined] UE::Logging::Private::BasicFatalLogV(const UE::Logging::Private::TStaticBasicLogRecord<…> &, void *, char *) StructuredLog.cpp:1712 UE::Logging::Private::BasicFatalLog<char>(const UE::Logging::Private::TStaticBasicLogRecord<char> &,const FLogCategoryBase *,...) StructuredLog.cpp:1723 UEditorEngine::CheckForWorldGCLeaks(UWorld *, UPackage *) EditorServer.cpp:1951 UEditorEngine::EditorDestroyWorld(FWorldContext &, const FText &, UWorld *) EditorServer.cpp:2092 UEditorEngine::Map_Load(const wchar_t *, FOutputDevice &) EditorServer.cpp:2480 UEditorEngine::HandleMapCommand(const wchar_t *, FOutputDevice &, UWorld *) EditorServer.cpp:6389 UEditorEngine::Exec_Editor(UWorld *, const wchar_t *, FOutputDevice &) EditorServer.cpp:5906 FExec::Exec(UWorld *, const wchar_t *, FOutputDevice &) Exec.cpp:18 UEngine::Exec(UWorld *, const wchar_t *, FOutputDevice &) UnrealEngine.cpp:5527 UUnrealEdEngine::Exec(UWorld *, const wchar_t *, FOutputDevice &) UnrealEdSrv.cpp:691 FEditorFileUtils::LoadMap(const FString &, bool, const bool) FileHelpers.cpp:3304 `FEditorFileUtils::LoadMap'::`2'::FLocal::HandleLevelsChosen(const TArray<FAssetData,TSizedDefaultAllocator<32> > &) FileHelpers.cpp:3125 [Inlined] Invoke(void (*const &)(const TArray<…> &), const TArray<…> &) Invoke.h:46 [Inlined] UE::Core::Private::Tuple::TTupleBase::ApplyAfter(void (*const &)(const TArray<…> &), const TArray<…> &) Tuple.h:264 TBaseStaticDelegateInstance::ExecuteIfSafe(const TArray<…> &) DelegateInstancesImpl.h:721 [Inlined] TDelegate::ExecuteIfBound(const TArray<…> &) DelegateSignatureImpl.inl:644 `FEditorFileUtils::OpenLevelPickingDialog'::`2'::FLocal::OnLevelsSelected(const TArray<FAssetData,TSizedDefaultAllocator<32> > &,TDelegate<void __cdecl(TArray<FAssetData,TSizedDefaultAllocator<32> > const &),FDefaultDelegateUserPolicy>) FileHelpers.cpp:2908 [Inlined] Invoke(void (*const &)(const TArray<…> &, TDelegate<…>), const TArray<…> &, const TDelegate<…> &) Invoke.h:46 [Inlined] UE::Core::Private::Tuple::TTupleBase::ApplyAfter(void (*const &)(const TArray<…> &, TDelegate<…>), const TArray<…> &) Tuple.h:264 TBaseStaticDelegateInstance::ExecuteIfSafe(const TArray<…> &) DelegateInstancesImpl.h:721 [Inlined] TDelegate::ExecuteIfBound(const TArray<…> &) DelegateSignatureImpl.inl:644 SAssetDialog::ChooseAssetsForOpen(const TArray<…> &) SAssetDialog.cpp:1395 SAssetDialog::OnAssetsActivated(const TArray<…> &, Type) SAssetDialog.cpp:1264 [Inlined] Invoke(void (SAssetDialog::*)(const TArray<…> &, EAssetTypeActivationMethod::Type), SAssetDialog *&, const TArray<…> &, EAssetTypeActivationMethod::Type &&) Invoke.h:65 [Inlined] UE::Core::Private::Tuple::TTupleBase::ApplyAfter(void (SAssetDialog::*&)(const TArray<…> &, EAssetTypeActivationMethod::Type), SAssetDialog *&, const TArray<…> &, EAssetTypeActivationMethod::Type &&) Tuple.h:264 TBaseSPMethodDelegateInstance::ExecuteIfSafe(const TArray<…> &, Type) DelegateInstancesImpl.h:283 [Inlined] TDelegate::ExecuteIfBound(const TArray<…> &, Type) DelegateSignatureImpl.inl:644 SAssetPicker::HandleItemsActivated(TArrayView<…>, Type) SAssetPicker.cpp:694 [Inlined] Invoke(void (SAssetPicker::*)(TArrayView<…>, EAssetTypeActivationMethod::Type), SAssetPicker *&, TArrayView<…> &&, EAssetTypeActivationMethod::Type &&) Invoke.h:65 [Inlined] UE::Core::Private::Tuple::TTupleBase::ApplyAfter(void (SAssetPicker::*&)(TArrayView<…>, EAssetTypeActivationMethod::Type), SAssetPicker *&, TArrayView<…> &&, EAssetTypeActivationMethod::Type &&) Tuple.h:264 TBaseSPMethodDelegateInstance::Execute(TArrayView<…>, Type) DelegateInstancesImpl.h:266 [Inlined] TDelegate::Execute(TArrayView<…>, Type) DelegateSignatureImpl.inl:628 SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<…>) SAssetView.cpp:5810 [Inlined] Invoke(void (SAssetView::*)(TSharedPtr<…>), SAssetView *&, TSharedPtr<…> &&) Invoke.h:65 [Inlined] UE::Core::Private::Tuple::TTupleBase::ApplyAfter(void (SAssetView::*&)(TSharedPtr<…>), SAssetView *&, TSharedPtr<…> &&) Tuple.h:264 TBaseSPMethodDelegateInstance::ExecuteIfSafe(TSharedPtr<…>) DelegateInstancesImpl.h:283 TDelegate::ExecuteIfBound(TSharedPtr<…>) DelegateSignatureImpl.inl:644 SListView::Private_OnItemDoubleClicked(TSharedPtr<…>) SListView.h:1428 STableRow::OnMouseButtonDoubleClick(const FGeometry &, const FPointerEvent &) STableRow.h:447 [Inlined] FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1>::operator()(const FArrangedWidget &, const FPointerEvent &) SlateApplication.cpp:6073 FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,`FSlateApplication::RoutePointerDoubleClickEvent'::`2'::<lambda_1> >(FSlateApplication *,FBubblePolicy,FPointerEvent,const <lambda_1> &,ESlateDebuggingInputEvent) SlateApplication.cpp:465 FSlateApplication::RoutePointerDoubleClickEvent(const FWidgetPath &, const FPointerEvent &) SlateApplication.cpp:6071 FSlateApplication::ProcessMouseButtonDoubleClickEvent(const TSharedPtr<…> &, const FPointerEvent &) SlateApplication.cpp:6054 FSlateApplication::OnMouseDoubleClick(const TSharedPtr<…> &, Type, TVector2<…>) SlateApplication.cpp:6019 FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage &) WindowsApplication.cpp:3498 FWindowsApplication::DeferMessage(TSharedPtr<…> &, HWND__ *, unsigned int, unsigned long long, long long, int, int, unsigned int) WindowsApplication.cpp:4197 FWindowsApplication::ProcessMessage(HWND__ *, unsigned int, unsigned long long, long long) WindowsApplication.cpp:2417 [Inlined] WindowsApplication_WndProc(HWND__ *, unsigned int, unsigned long long, long long) WindowsApplication.cpp:2206 FWindowsApplication::AppWndProc(HWND__ *, unsigned int, unsigned long long, long long) WindowsApplication.cpp:2211 [Inlined] WinPumpMessages() WindowsPlatformApplicationMisc.cpp:212 FWindowsPlatformApplicationMisc::PumpMessages(bool) WindowsPlatformApplicationMisc.cpp:241 FEngineLoop::Tick() LaunchEngineLoop.cpp:5784 [Inlined] EngineTick() Launch.cpp:60 GuardedMain(const wchar_t *) Launch.cpp:192 LaunchWindowsStartup(HINSTANCE__ *, HINSTANCE__ *, char *, int, const wchar_t *) LaunchWindows.cpp:266 WinMain(HINSTANCE__ *, HINSTANCE__ *, char *, int) LaunchWindows.cpp:338
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-393044 in the post.
| 0 |
| Component | UE - ACT Character - Sequencer |
|---|---|
| Affects Versions | 5.7 |
| Target Fix | 5.9 |
| Fix Commit | 57399885 |
|---|
| Created | Aug 21, 2026 |
|---|---|
| Resolved | Aug 25, 2026 |
| Updated | Sep 3, 2026 |