Crash after rebuild and start play in editor

Hi,

I’m playing with the Lyra project. I tried to add some extra functions to it in c++. It’s worked for a while, but now i have a strange error.
I’m working on M4 Mac, Unreal 5.4.

The steps:

  1. Edit some code in Visual Studio Code and save it.
  2. Switch back to Unreal and press rebuild.
  3. The build succeed without error.
  4. Hit play.
  5. CRASH
  6. Restart Unreal Editor.
  7. Hit play without press rebuild.
  8. The game is running in the editor with the modifications from the first step, so the build in the second step worked.
  9. hit rebuild without any change
  10. Hit play
  11. CRASH

I don’t have to change anything if i rebuild, the Unreal editor crashes. If i restart it’s working.
I already tried to clean the project, deleted Intermediate, Saved, Binaries, DerivedDataCahce but nothing changed.

Please help.

I forgot the error log, here is:

Assertion failed: false [File:../Plugins/Runtime/CommonUI/Source/CommonUI/Public/UITag.h] [Line: 66]

FGenericPlatformMisc::RaiseException(unsigned int) Address = 0x1046b8844 (filename not found) [in UnrealEditor-Core.dylib]
FOutputDevice::LogfImpl(char16_t const*, ...) Address = 0x1049e3a04 (filename not found) [in UnrealEditor-Core.dylib]
FDebug::CheckVerifyFailedImpl2(char const*, char const*, int, char16_t const*, ...) Address = 0x10492d344 (filename not found) [in UnrealEditor-Core.dylib]
ULyraHUDLayout::NativeOnInitialized() Address = 0x4fb3a49e4 [**************/Source/LyraGame/UI/LyraHUDLayout.cpp, line 24] [in UnrealEditor-LyraGame-7838.dylib]
UUserWidget::Initialize() Address = 0x1088d8ea0 (filename not found) [in UnrealEditor-UMG.dylib]
UUserWidget::CreateInstanceInternal(UObject*, TSubclassOf<UUserWidget>, FName, UWorld*, ULocalPlayer*) Address = 0x1088e4fcc (filename not found) [in UnrealEditor-UMG.dylib]
UUserWidget::CreateWidgetInstance(UWidget&, TSubclassOf<UUserWidget>, FName) Address = 0x1088e45bc (filename not found) [in UnrealEditor-UMG.dylib]
UUserWidget* CreateWidget<UUserWidget, UWidget*>(UWidget*, TSubclassOf<UUserWidget>, FName) Address = 0x41c1d30c4 (filename not found) [in UnrealEditor-CommonUI.dylib]
UCommonActivatableWidget* FUserWidgetPool::AddActiveWidgetInternal<UCommonActivatableWidget>(TSubclassOf<UCommonActivatableWidget>, TFunctionRef<TSharedPtr<SObjectWidget, (ESPMode)1> (UUserWidget*, TSharedRef<SWidget, (ESPMode)1>)>) Address = 0x41c220b48 (filename not found) [in UnrealEditor-CommonUI.dylib]
UCommonActivatableWidgetContainerBase::AddWidgetInternal(TSubclassOf<UCommonActivatableWidget>, TFunctionRef<void (UCommonActivatableWidget&)>) Address = 0x41c179514 (filename not found) [in UnrealEditor-CommonUI.dylib]
UCommonActivatableWidget* UCommonActivatableWidgetContainerBase::AddWidget<UCommonActivatableWidget>(TSubclassOf<UCommonActivatableWidget>, TFunctionRef<void (UCommonActivatableWidget&)>) Address = 0x4cdacd780 [**************/UnrealEngines/UE_5.4/Engine/Source/../Plugins/Runtime/CommonUI/Source/CommonUI/Public/Widgets/CommonActivatableWidgetContainer.h, line 58] [in UnrealEditor-CommonGame-0003.dylib]
UCommonUIExtensions::PushContentToLayer_ForPlayer(ULocalPlayer const*, FGameplayTag, TSubclassOf<UCommonActivatableWidget>) Address = 0x4cdabf4c4 [**************/Plugins/CommonGame/Source/Private/CommonUIExtensions.cpp, line 68] [in UnrealEditor-CommonGame-0003.dylib]
UGameFeatureAction_AddWidgets::AddWidgets(AActor*, UGameFeatureAction_AddWidgets::FPerContextData&) Address = 0x4fb2091c0 [**************/Source/LyraGame/GameFeatures/GameFeatureAction_AddWidget.cpp, line 155] [in UnrealEditor-LyraGame-7838.dylib]
UGameFeatureAction_AddWidgets::HandleActorExtension(AActor*, FName, FGameFeatureStateChangeContext) Address = 0x4fb208b2c [**************/Source/LyraGame/GameFeatures/GameFeatureAction_AddWidget.cpp, line 136] [in UnrealEditor-LyraGame-7838.dylib]
UGameFrameworkComponentManager::AddExtensionHandler(TSoftClassPtr<AActor> const&, TDelegate<void (AActor*, FName), FDefaultDelegateUserPolicy>) Address = 0x3e242d3d0 (filename not found) [in UnrealEditor-ModularGameplay.dylib]
UGameFeatureAction_AddWidgets::AddToWorld(FWorldContext const&, FGameFeatureStateChangeContext const&) Address = 0x4fb208834 [**************/Source/LyraGame/GameFeatures/GameFeatureAction_AddWidget.cpp, line 103] [in UnrealEditor-LyraGame-7838.dylib]
UGameFeatureAction_WorldActionBase::OnGameFeatureActivating(FGameFeatureActivatingContext&) Address = 0x4fb1fc734 (filename not found) [in UnrealEditor-LyraGame-7838.dylib]
ULyraExperienceManagerComponent::OnExperienceFullLoadCompleted() Address = 0x4fb214784 [**************/Source/LyraGame/GameModes/LyraExperienceManagerComponent.cpp, line 341] [in UnrealEditor-LyraGame-7838.dylib]
TBaseUObjectMethodDelegateInstance<false, ULyraExperienceManagerComponent, void (UE::GameFeatures::FResult const&), FDefaultDelegateUserPolicy>::ExecuteIfSafe(UE::GameFeatures::FResult const&) const Address = 0x4fb2b1934 [**************/UnrealEngines/UE_5.4/Engine/Source/Runtime/Core/Public/Delegates/DelegateInstancesImpl.h, line 654] [in UnrealEditor-LyraGame-7838.dylib]
UGameFeaturesSubsystem::ChangeGameFeatureTargetStateComplete(UGameFeaturePluginStateMachine*, UE::GameFeatures::FResult const&, TDelegate<void (UE::GameFeatures::FResult const&), FDefaultDelegateUserPolicy>) Address = 0x3f6d843cc (filename not found) [in UnrealEditor-GameFeatures.dylib]
TBaseUObjectMethodDelegateInstance<false, UGameFeaturesSubsystem, void (UGameFeaturePluginStateMachine*, UE::GameFeatures::FResult const&), FDefaultDelegateUserPolicy, TDelegate<void (UE::GameFeatures::FResult const&), FDefaultDelegateUserPolicy>>::ExecuteIfSafe(UGameFeaturePluginStateMachine*, UE::GameFeatures::FResult const&) const Address = 0x3f6de9a2c (filename not found) [in UnrealEditor-GameFeatures.dylib]
void TMulticastDelegateBase<FDefaultDelegateUserPolicy>::Broadcast<IBaseDelegateInstance<void (UGameFeaturePluginStateMachine*, UE::GameFeatures::FResult const&), FDefaultDelegateUserPolicy>, UGameFeaturePluginStateMachine*, UE::GameFeatures::FResult const&>(UGameFeaturePluginStateMachine*, UE::GameFeatures::FResult const&) const Address = 0x3f6d9bb80 (filename not found) [in UnrealEditor-GameFeatures.dylib]
UGameFeaturePluginStateMachine::UpdateStateMachine()::$_51::operator()(UE::GameFeatures::FResult const&, unsigned char, unsigned char) const Address = 0x3f6d6e860 (filename not found) [in UnrealEditor-GameFeatures.dylib]
UGameFeaturePluginStateMachine::UpdateStateMachine() Address = 0x3f6d6cca4 (filename not found) [in UnrealEditor-GameFeatures.dylib]
UGameFeaturePluginStateMachine::SetDestination(FGameFeaturePluginStateRange, TDelegate<void (UGameFeaturePluginStateMachine*, UE::GameFeatures::FResult const&), FDefaultDelegateUserPolicy>, FDelegateHandle*) Address = 0x3f6d6d988 (filename not found) [in UnrealEditor-GameFeatures.dylib]
UGameFeaturesSubsystem::ChangeGameFeatureDestination(UGameFeaturePluginStateMachine*, FGameFeatureProtocolOptions const&, FGameFeaturePluginStateRange const&, TDelegate<void (UE::GameFeatures::FResult const&), FDefaultDelegateUserPolicy>) Address = 0x3f6d7c0cc (filename not found) [in UnrealEditor-GameFeatures.dylib]
UGameFeaturesSubsystem::ChangeGameFeatureTargetState(FString const&, FGameFeatureProtocolOptions const&, EGameFeatureTargetState, TDelegate<void (UE::GameFeatures::FResult const&), FDefaultDelegateUserPolicy> const&) Address = 0x3f6d7d3bc (filename not found) [in UnrealEditor-GameFeatures.dylib]
UGameFeaturesSubsystem::LoadAndActivateGameFeaturePlugin(FString const&, TDelegate<void (UE::GameFeatures::FResult const&), FDefaultDelegateUserPolicy> const&) Address = 0x3f6d73768 (filename not found) [in UnrealEditor-GameFeatures.dylib]
ULyraExperienceManagerComponent::OnExperienceLoadComplete() Address = 0x4fb213ef8 [**************/Source/LyraGame/GameModes/LyraExperienceManagerComponent.cpp, line 269] [in UnrealEditor-LyraGame-7838.dylib]
TBaseUObjectMethodDelegateInstance<false, ULyraExperienceManagerComponent, void (), FDefaultDelegateUserPolicy>::ExecuteIfSafe() const Address = 0x4fb2b1020 [**************/UnrealEngines/UE_5.4/Engine/Source/Runtime/Core/Public/Delegates/DelegateInstancesImpl.h, line 654] [in UnrealEditor-LyraGame-7838.dylib]
FStreamableDelegateDelayHelper::Tick(float) Address = 0x1185773e8 (filename not found) [in UnrealEditor-Engine.dylib]
FTickableGameObject::TickObjects(UWorld*, int, bool, float) Address = 0x1186b0738 (filename not found) [in UnrealEditor-Engine.dylib]
UEditorEngine::Tick(float, bool) Address = 0x11066fbe4 (filename not found) [in UnrealEditor-UnrealEd.dylib]
UUnrealEdEngine::Tick(float, bool) Address = 0x1114a0f60 (filename not found) [in UnrealEditor-UnrealEd.dylib]
ULyraEditorEngine::Tick(float, bool) Address = 0x34c54bdf0 (filename not found) [in UnrealEditor-LyraEditor-5413.dylib]
FEngineLoop::Tick() Address = 0x100c6e36c (filename not found) [in UnrealEditor]
GuardedMain(char16_t const*) Address = 0x100c7b3c4 (filename not found) [in UnrealEditor]
-[UEAppDelegate runGameThread:] Address = 0x100c95364 (filename not found) [in UnrealEditor]
-[FCocoaGameThread main] Address = 0x1048a09c4 (filename not found) [in UnrealEditor-Core.dylib]
Unknown() Address = 0x1a0f98734 (filename not found) [in Foundation]
Unknown() Address = 0x19fcfb2e4 (filename not found) [in libsystem_pthread.dylib]
Unknown() Address = 0x19fcf60fc (filename not found) [in libsystem_pthread.dylib]

The log says the error is in here:
LyraHUDLayout.cpp - line 24:
RegisterUIActionBinding(FBindUIActionArgs(FUIActionTag::ConvertChecked(TAG_UI_ACTION_ESCAPE), false, FSimpleDelegate::CreateUObject(this, &ThisClass::HandleEscapeAction)));

If i comment out the LyraHUDLayout.cpp - line 24 the crash disappear, but i lose the Esc button menu.