Debug Filter never default

When setting breakpoints and running my game I’d like ANY object to trigger the breakpoint. Recently the editor has a nasty habit of choosing a Debug Object for me in the Debug Filter, and it’s more often wrong than not.

Any way to get the editor to stop trying to help, and let me always run the game with “No debug object selected” by default?

Bump (pls)

I encounter the same problem: the debug filter sets automatically an object, even if I manually select “No debug object selected”. Any input much appreciated to solve this very annoying issue.

Just started getting this issue in 4.10.4
Incredibly annoying.

Same. Extremely frustrating.

Yep, super annoying!

How can this still not have an answer, this is massing up my debugging so much.

bump, i cant break on my player object constructor because it keeps setting the filter to a different object

I created an AutoHotkey script to automatically unset the editor’s default debug object. Press ALT+D to activate. Every once in a while it will fail to find the image. I’ve attached the image I use as an example .png, which is a tiny unique snippet of the debug dropdown. You will need to take your own as a .bmp. You will need to update the screenX and Y vars to your window coords. The UE4DefaultDropdown.bmp should be in the same dir as your .ahk script.

272662-ue4defaultdropdown.png

<---------

#IFWINACTIVE ahk_class UnrealWindow
!d::
Loop, 4
{
	GroupAdd, ue4wins, ahk_class UnrealWindow,,, Unreal Editor
	GroupActivate, ue4wins
	Sleep, 10
	MouseGetPos, mouseX, mouseY
	screenX0 := 0
	screenY0 := 0
	screenX1 := 1920
	screenY1 := 1080
	ImageSearch, foundX, foundY, screenX0, screenY0, screenX1, screenY1, *75 UE4DefaultDropdown.bmp
	if ErrorLevel=0
	{
		MouseMove, foundX, foundY-10
		Sleep, 25
		Click
		Sleep, 25
		MouseMove, foundX, foundY+9
		Sleep, 25
		Click
		Sleep, 25
		MouseMove, mouseX, mouseY
		break
	}
}
WinActivate, Unreal Editor ahk_class UnrealWindow
return

Same here. I’m wasting hours debugging blueprints because the breakpoints I need to fire on any object are getting filtered away…

It’s bad enough in regular gamedev, in VR it’s a nightmare because you have to defocus the PIE which freezes the game, and take off the headset to be able to clear all the combo boxes in the blueprints you want to debug. Then click resume and reverse the process to continue playing.

I ended up removing the widget from the toolbar completely, by deleting the line “ToolbarBuilder.AddWidget(SNew(SBlueprintEditorSelectedDebugObjectWidget, BlueprintEditorPtr));” from SBlueprintEditor.cpp

I’m getting this problem on 4.22.1

This popped up in the discord chat and I came up with a solution if anyone wants to change this in their source or submit it as a pull request to Epic. This is the expected behavior as this has been in for years at this point. If you want a “solution” without changing code it will not change from none if you select none then close the BP (it only goes thru open BP’s and changes them)

This was using the 4.23 code base for the changes. What this does is gives you a checkbox (enabled by default to keep existing behavior) in the Editor Settings → Blueprint Editor to disable this and allow it to not change from NONE if you have that selected as your Debug Filter and you hit Play.

Option in the Editor Settings
New Behaviour (Disabled)
Old Behaviour (Enabled)

Added line 33 to BlueprintEditorSettings.h

32	, bShowBookmarksForCurrentDocumentOnlyInTab(false)
33	, bAutomaticallyFindAndSetDebuggableBlueprintInstances(true)
34	// Compiler Settings

Added lines 97,98,99 to BlueprintEditorSettings.cpp

93	/** If set double clicking on a call function node will jump to the native source definition: */
94	UPROPERTY(EditAnywhere, config, Category=Workflow)
95	bool bNavigateToNativeFunctionsFromCallNodes;
96
97	/** If set a Debuggable Blueprint Instance will be found if none is selected when Playing in the Editor */
98	UPROPERTY(EditAnywhere, config, Category = Workflow)
99	bool bAutomaticallyFindAndSetDebuggableBlueprintInstances;
100
101	/** Blueprint bookmark database */
102	UPROPERTY(config)
103	TMap<FGuid, FEditedDocumentInfo> Bookmarks;

Added lines 8131, 8132, 8133 to BlueprintEditorUtils.cpp

8129	void FBlueprintEditorUtils::FindAndSetDebuggableBlueprintInstances()
8130	{
8131		// If the option to set a Debuggable Blueprint Instance is false, do not set one and return out early
8132		UBlueprintEditorSettings const* BlueprintSettings = GetDefault<UBlueprintEditorSettings>();
8133		if (!BlueprintSettings->bAutomaticallyFindAndSetDebuggableBlueprintInstances) return;
8134
8135		TMap< UBlueprint*, TArray< AActor* > > BlueprintsNeedingInstancesToDebug;

FYI this isssue is tracked in the UE4 issue tracker here:

Hi MathewW, it looks like the file names are switched for the first two edits. Also, I’ve applied them and done a full rebuild of both the game project and UE4, but I don’t see the new option under Blueprint Settings → Workflow :confused:

Hi MathewW, I implemented your Engine change to disable automatically finding a Blueprint Instance to debug, but it doesn’t work for me. It calls return successfully in row 8133 inside FindAndSetDebuggableBlueprintInstances() but that doesn’t disable setting the instance automatically. I’m using UE4.25.4.
Any idea why this is still happening?
And thanks for your help here and for your youtube tutorials!