Description

When Sequencer's Add Filter Menu>Keyed(U) is enabled, adding a Key to an actor that previously failed the Filter (had zero Keys) does not immediately include the Keyed actor in the filtered list (if fails FSequencerTrackFilter_Keyed::PassesFilter).
The repro steps describe how to achieve this behavior. I've debugged and found that adding a key to the actor does call FSequencerTrackFilter_Keyed::ShouldUpdateOnTrackValueChanged(), but later it calls FSequencerTrackFilter_Keyed::PassesFilter(), which calls FSequencerTrackFilter_Keyed::DoesTrackExtensionHaveKeys(), that returns false.
Circling the filter by disabling and enabling Keyed(U) fixes the issue.
I've reproduced the behavior on UE versions 5.6 and 5.7 (CL43620315).

Steps to Reproduce

On a blank project, add a PointLight to the scene
Add a Level Sequencer to the level
Add the PointLight to the Level Sequencer
Pressing U or going into Add Filter Menu>Keyed(U) will update the list and hide the PointLight (this is expected as the PointLight actor has no keys)
Select the PointLight in the Outliner and, in the Details Panel, press the diamond shape to the right of any Property

Expected result: as the actor had a key added, the filtered list should update and show the actor and the keyed property. This is the behavior when the actor had any keys and another key is added - the list is updated to reflect all keys the actor contains.
Actual result: the previously excluded actor does not appear in the list. It's required to toggle Keyed off and on again before it finally shows in the list.

Callstack

> UnrealEditor-Sequencer.dll!FSequencerTrackFilter_Keyed::DoesTrackExtensionHaveKeys(const UE::Sequencer::TWeakViewModelPtr<UE::Sequencer::ITrackExtension> & InTrack) Line 72 C++
UnrealEditor-Sequencer.dll!FSequencerTrackFilter_Keyed::PassesFilter(UE::Sequencer::TViewModelPtr<UE::Sequencer::FViewModel> InItem) Line 53 C++
UnrealEditor-Sequencer.dll!??R<lambda_1>@?1??PassesAnyCommonFilter@FSequencerFilterBar@@IEAA_NAEBU?$TViewModelPtr@VIOutlinerExtension@Sequencer@UE@@@Sequencer@UE@@@Z@QEBA@AEBV?$TSharedRef@VFSequencerTrackFilter@@$00@@@Z(const TSharedRef<FSequencerTrackFilter,1> & InFilter) Line 1334 C++
[Inline Frame] UnrealEditor-Sequencer.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::FFunctionRefStoragePolicy,bool __cdecl(TSharedRef<FSequencerTrackFilter,1> const &)>::operator()(const TSharedRef<FSequencerTrackFilter,1> &) Line 471 C++
UnrealEditor-Sequencer.dll!FSequencerTrackFilterCollection::ForEachFilter(const TFunctionRef<bool __cdecl(TSharedRef<FSequencerTrackFilter,1> const &)> & InFunction, const TArray<TSharedRef<FFilterCategory,1>,TSizedDefaultAllocator<32>> & InCategories) Line 206 C++
[Inline Frame] UnrealEditor-Sequencer.dll!FSequencerFilterBar::PassesAnyCommonFilter(const UE::Sequencer::TViewModelPtr<UE::Sequencer::IOutlinerExtension> &) Line 1327 C++
UnrealEditor-Sequencer.dll!FSequencerFilterBar::FilterNodesRecursive(const bool bInHasActiveFilter, const UE::Sequencer::TViewModelPtr<UE::Sequencer::IOutlinerExtension> & InStartNode) Line 1510 C++
UnrealEditor-Sequencer.dll!FSequencerFilterBar::FilterNodesRecursive(const bool bInHasActiveFilter, const UE::Sequencer::TViewModelPtr<UE::Sequencer::IOutlinerExtension> & InStartNode) Line 1475 C++
UnrealEditor-Sequencer.dll!FSequencerFilterBar::FilterNodesRecursive(const bool bInHasActiveFilter, const UE::Sequencer::TViewModelPtr<UE::Sequencer::IOutlinerExtension> & InStartNode) Line 1475 C++
UnrealEditor-Sequencer.dll!FSequencerFilterBar::FilterNodes() Line 1428 C++
UnrealEditor-Sequencer.dll!FSequencerNodeTree::UpdateFilters() Line 345 C++
UnrealEditor-Sequencer.dll!FSequencerNodeTree::UpdateFiltersOnTrackValueChanged() Line 84 C++
UnrealEditor-Sequencer.dll!FSequencer::NotifyMovieSceneDataChanged(EMovieSceneDataChangeType DataChangeType) Line 2753 C++
UnrealEditor-Sequencer.dll!FMovieSceneTrackEditor::AnimatablePropertyChanged(TDelegate<FKeyPropertyResult __cdecl(FFrameNumber),FDefaultDelegateUserPolicy> OnKeyProperty) Line 146 C++
UnrealEditor-MovieSceneTools.dll!FPropertyTrackEditor<UMovieSceneFloatTrack>::OnAnimatedPropertyChanged(const FPropertyChangedParams & PropertyChangedParams) Line 185 C++
[Inline Frame] UnrealEditor-MovieSceneTools.dll!Invoke(void(FPropertyTrackEditor<UMovieSceneFloatTrack>::*)(const FPropertyChangedParams &)) Line 66 C++
[Inline Frame] UnrealEditor-MovieSceneTools.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(FPropertyTrackEditor<UMovieSceneFloatTrack>::*)(const FPropertyChangedParams &) &) Line 320 C++
UnrealEditor-MovieSceneTools.dll!V::TBaseRawMethodDelegateInstance::ExecuteIfSafe(const FPropertyChangedParams & <Params_0>) Line 548 C++
[Inline Frame] UnrealEditor-Sequencer.dll!TMulticastDelegateBase<FDefaultDelegateUserPolicy>::Broadcast(const FPropertyChangedParams &) Line 258 C++
[Inline Frame] UnrealEditor-Sequencer.dll!TMulticastDelegate<void __cdecl(FPropertyChangedParams const &),FDefaultDelegateUserPolicy>::Broadcast(const FPropertyChangedParams &) Line 1080 C++
UnrealEditor-Sequencer.dll!FSequencerObjectChangeListener::BroadcastPropertyChanged(FKeyPropertyParams KeyPropertyParams) Line 121 C++
UnrealEditor-Sequencer.dll!FSequencerObjectChangeListener::KeyProperty(FKeyPropertyParams KeyPropertyParams) Line 402 C++
UnrealEditor-Sequencer.dll!FSequencer::KeyProperty(FKeyPropertyParams KeyPropertyParams) Line 7253 C++
UnrealEditor-Sequencer.dll!FDetailKeyframeHandlerWrapper::OnKeyPropertyClicked(const IPropertyHandle & KeyedPropertyHandle) Line 153 C++
UnrealEditor-Sequencer.dll!OnAddKeyframeClicked(TWeakPtr<IDetailTreeNode,1> OwnerTreeNode, TSharedPtr<IPropertyHandle,1> PropertyHandle) Line 165 C++
[Inline Frame] UnrealEditor-Sequencer.dll!Invoke(void[Image Removed](TWeakPtr<IDetailTreeNode,1>, TSharedPtr<IPropertyHandle,1>) &) Line 47 C++
[Inline Frame] UnrealEditor-Sequencer.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int,0,1>,TWeakPtr<IDetailTreeNode,1>,TSharedPtr<IPropertyHandle,1>>::ApplyAfter(void[Image Removed](TWeakPtr<IDetailTreeNode,1>, TSharedPtr<IPropertyHandle,1>) &) Line 320 C++
UnrealEditor-Sequencer.dll!TBaseStaticDelegateInstance<void __cdecl(void),FDefaultDelegateUserPolicy,TWeakPtr<IDetailTreeNode,1>,TSharedPtr<IPropertyHandle,1>>::ExecuteIfSafe() Line 801 C++
[Inline Frame] UnrealEditor-Slate.dll!TDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfBound() Line 635 C++
UnrealEditor-Slate.dll!FUIAction::Execute() Line 139 C++
UnrealEditor-Slate.dll!SToolBarButtonBlock::OnClicked() Line 525 C++
[Inline Frame] UnrealEditor-Slate.dll!Invoke(FReply(SToolBarButtonBlock::*)()) Line 66 C++
[Inline Frame] UnrealEditor-Slate.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(FReply(SToolBarButtonBlock::*)() &) Line 320 C++
UnrealEditor-Slate.dll!V::TBaseSPMethodDelegateInstance::Execute() Line 292 C++
[Inline Frame] UnrealEditor-Slate.dll!TDelegate<FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 614 C++
UnrealEditor-Slate.dll!SButton::ExecuteOnClick() Line 495 C++
UnrealEditor-Slate.dll!SButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 419 C++
UnrealEditor-Slate.dll!??R<lambda_2>@?7??RoutePointerUpEvent@FSlateApplication@@QEAA?AVFReply@@AEBVFWidgetPath@@AEBUFPointerEvent@@@Z@QEBA@AEBVFArrangedWidget@@1@Z(const FArrangedWidget & TargetWidget, const FPointerEvent & Event) Line 5367 C++
UnrealEditor-Slate.dll!??$Route@VFReply@@VFToLeafmostPolicy@FEventRouter@@UFPointerEvent@@V<lambda_2>@?7??RoutePointerUpEvent@FSlateApplication@@QEAA?AV1@AEBVFWidgetPath@@AEBU4@@Z@@FEventRouter@@SA?AVFReply@@PEAVFSlateApplication@@VFToLeafmostPolicy@0@UFPointerEvent@@AEBV<lambda_2>@?7??RoutePointerUpEvent@2@QEAA?AV1@AEBVFWidgetPath@@AEBU4@@Z@W4ESlateDebuggingInputEvent@@@Z(FSlateApplication * ThisApplication, FEventRouter::FToLeafmostPolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerUpEvent::__l8::<lambda_2> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 456 C++
UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5353 C++
UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(const FPointerEvent & MouseEvent) Line 5938 C++
UnrealEditor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5894 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 3052 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 3570 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 2725 C++
[Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 1716 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1722 C++
[External Code]
[Inline Frame] UnrealEditor-ApplicationCore.dll!WinPumpMessages() Line 116 C++
UnrealEditor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 145 C++
UnrealEditor.exe!FEngineLoop::Tick() Line 5554 C++
[Inline Frame] UnrealEditor.exe!EngineTick() Line 60 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 187 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 271 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 339 C++
[External Code]

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-300304 in the post.

0
Login to Vote

Unresolved
ComponentUE - Anim - Sequencer
Affects Versions5.65.7
Target Fix5.7
CreatedJun 25, 2025
UpdatedJul 17, 2025
View Jira Issue