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?
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.
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.
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
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.
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;
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
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!