fpwong / BlueprintAssistWiki

47 stars 2 forks source link

Save all (on MainFrame in options and in content browser) freezes Blueprint Assist #63

Open Dvoya opened 2 years ago

Dvoya commented 2 years ago

I think this behavior also happens when it auto-saves but I'm not entirely sure. If you have the content browser docked, and then you are editing in another window on the other screen, and you save all, blueprint assist will simply stop functioning.

The way to unfreeze it right now is to flipback to the content browser and click on it, then go back to your event graph that you were editing in and it works again.

fpwong commented 2 years ago

I was not able to replicate this issue on 4.27. If I'm understanding correctly, to replicate this on a fresh project:

  1. Make a blueprint
  2. Drag blueprint into a new window and open the event graph (plugin should work fine)
  3. Switch back to mainframe window (with level editor open and default content browser docked at bottom)
  4. Edit something in the level
  5. Hit save-all
  6. Switch to the window with event graph and the plugin should not work?

Let me know if I'm missing something here

Dvoya commented 2 years ago

Sorry! I should be more clear, this only happens when you are working on two or more monitors:

  1. Open any blueprint or create a new blueprint in any project. (works fine)
  2. Move the blueprint editor tab to the second monitor while having your on the main other screen. So now the event graph editor is visible on monitor 2 and the level editor/whatever else is on monitor 1. (works fine)
  3. Change the blueprint event graph on monitor 2 in some way, like adding a branch node. Compile and use "save all". (this is where it stops working, you cannot navigate to other nodes anymore.)
  4. This is where it gets even weirder. The focus will be lost on the graph you were just editing on, and you have to "refocus" the event graph by alt tabbing sometimes. Other times it will start working again on it's own. If you don't have the content browser/level editor on main monitor 1, and have like project settings or something open after hitting save all, it will freeze blueprint assist sometimes until you open the level editor/content browser, and click on it. Then refocus the blueprint graph on monitor 2, by clicking on it or alt-tabbing to it.

I am also running on 4.27.

fpwong commented 2 years ago

Sorry I am still unable to replicate this issue. Usually when this problem happens, it is due to the plugin thinking that there is no active graph in the current window. The easiest way to tell the plugin to recheck the window is by switching tabs in the blueprint (e.g. switching between the event graph and the blueprint viewport).

Just in case something I changed recently may have fixed this issue, what version of the plugin are you currently on?

Dvoya commented 2 years ago

I'm using the most up to date version through the store, version 3.2.5. I also just got this crash while trying to restart my project perhaps they might be related in some way : Unhandled Exception: EXCEPTION_ACCESS_VIOLATION writing address 0x0000000000000010

UE4Editor_Core UE4Editor_Core UE4Editor_Core UE4Editor_Core UE4Editor_BlueprintAssist!operator delete() [D:\build++Portal\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BlueprintAssist\Source\BlueprintAssist\Private\BlueprintAssistModule.cpp:218] UE4Editor_BlueprintAssist!SharedPointerInternals::TReferenceControllerWithDeleter<FExtender,SharedPointerInternals::DefaultDeleter >::`scalar deleting destructor'() UE4Editor_BlueprintAssist!TSparseArray<TSetElement<TTuple<TWeakObjectPtr<UObject,FWeakObjectPtr>,TWeakPtr<FExtender,0> > >,TSparseArrayAllocator<TSizedDefaultAllocator<32>,FDefaultBitArrayAllocator> >::Empty() [D:\RocketSync\4.27.0-17155196+++UE4+Release-4.27\Working\Engine\Source\Runtime\Core\Public\Containers\SparseArray.h:338] UE4Editor_BlueprintAssist!FBlueprintAssistModule::ShutdownModule() [D:\build++Portal\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BlueprintAssist\Source\BlueprintAssist\Private\BlueprintAssistModule.cpp:141] UE4Editor_Core UE4Editor UE4Editor UE4Editor UE4Editor UE4Editor UE4Editor kernel32 ntdll

fpwong commented 2 years ago

Version 3.2.6 was just released, I did try to fix this latest crash you reported.

Also I was also just able to replicate the monitor bug just now, will see what I can do about it. I honestly I don't know how I never noticed this bug before. So to make sure we are on the same page, to replicate it:

  1. Open the level browser in window 1 (with content browser open), any blueprint in window 2
  2. Click on the graph in the blueprint, then save with Ctrl+S
  3. The content browser will gain focus and select the blueprint you just saved

A workaround for now seems to be opening a second content browser and docking it next to the default content browser in the level editor and using this new content browser instead. You can open this by pressing CTRL + SHIFT + K and searching for content browser.