Description

A Geometry Collection with Removal-On-Break, after breaking and shrinking until vanished, will reset to the original state (full-size and unbroken) if we toggle between Fullscreen and Windowed while playing as standalone or Packaged Build.
It looks like the resetting only affects the rendering part, as the "Reset" GC is no longer blocking passage.
I've also noticed that the GeometryCollectionActor is not removed after it was "Removed-On-Break" and the shrinking animation played out to the end.

Steps to Reproduce

Create a New Level using the Basic Template
Add a Cube blueprint to the level
Set scale to (1,10,1)
Select it and activate Fracture Mode (SHIFT+6)
Press New - save the new GeometryCollection(GC) preferably in your project folder
Select Fracture>Uniform
Press Fracture - that will split it in multiple fragments
Select Set Removal-On-Break Parameters
Set Remove On Break> Enabled = true; Removal Timer (5,5)
Apply removal-on-break parameters
Back to Selection Mode (SHIFT+1)
Search in the Content Browser (Show Engine Content enabled) for FS_MasterField (MF) - add one to the scene and position it around the middle of the GC
Select the FS_MasterField instance in the level and set ActivationType = Delay and DelayAmount = 5
Save the level
Play it in the Editor as a Standalone Game
Wait for it to break and shrink until it vanishes
Press F11 to toggle Fullscreen
The GC that had vanished completely now is displaying again like it was reset - that is the issue
If you try walking over it will notice it does not block your passage

Callstack

I've captured the call stack from ResetDynamicCollection:
> UnrealEditor-GeometryCollectionEngine.dll!UGeometryCollectionComponent::ResetDynamicCollection() Line 3728 C++
UnrealEditor-GeometryCollectionEngine.dll!UGeometryCollectionComponent::OnRegister() Line 3528 C++
UnrealEditor-Engine.dll!UActorComponent::ExecuteRegisterEvents(FRegisterComponentContext * Context) Line 1757 C++
UnrealEditor-Engine.dll!UActorComponent::RegisterComponentWithWorld(UWorld * InWorld, FRegisterComponentContext * Context) Line 1428 C++
UnrealEditor-Engine.dll!AActor::IncrementalRegisterComponents(int NumComponentsToRegister, FRegisterComponentContext * Context) Line 5432 C++
UnrealEditor-Engine.dll!ULevel::IncrementalRegisterComponents(bool bPreRegisterComponents, int NumComponentsToUpdate, FRegisterComponentContext * Context) Line 1755 C++
UnrealEditor-Engine.dll!ULevel::IncrementalUpdateComponents(int NumComponentsToUpdate, bool bRerunConstructionScripts, FRegisterComponentContext * Context) Line 1674 C++
UnrealEditor-Engine.dll!UWorld::UpdateWorldComponents(bool bRerunConstructionScripts, bool bCurrentLevelOnly, FRegisterComponentContext * Context) Line 2636 C++
UnrealEditor-Engine.dll!UWorld::InitializeActorsForPlay(const FURL & InURL, bool bResetTime, FRegisterComponentContext * Context) Line 5160 C++
UnrealEditor-Engine.dll!UGameInstance::StartPlayInEditorGameInstance(ULocalPlayer * LocalPlayer, const FGameInstancePIEParameters & Params) Line 529 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::CreateInnerProcessPIEGameInstance(FRequestPlaySessionParams & InParams, const FGameInstancePIEParameters & InPIEParameters, int InPIEInstanceIndex) Line 3141 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::OnLoginPIEComplete_Deferred(int LocalUserNum, bool bWasSuccessful, FString ErrorString, FPieLoginStruct DataStruct) Line 1590 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::CreateNewPlayInEditorInstance(FRequestPlaySessionParams & InRequestParams, const bool bInDedicatedInstance, const EPlayNetMode InNetMode) Line 1853 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::StartPlayInEditorSession(FRequestPlaySessionParams & InRequestParams) Line 2872 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::StartQueuedPlaySessionRequestImpl() Line 1167 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::StartQueuedPlaySessionRequest() Line 1068 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1902 C++
UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 550 C++
UnrealEditor.exe!FEngineLoop::Tick() Line 5921 C++
[Inline Frame] UnrealEditor.exe!EngineTick() Line 61 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 180 C++
UnrealEditor.exe!GuardedMainWrapper(const wchar_t * CmdLine) Line 118 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 258 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 298 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-228882 in the post.

0
Login to Vote

Unresolved
ComponentUE - Simulation - Physics - Destruction
Affects Versions5.4.4
Target Fix5.6
CreatedOct 28, 2024
UpdatedDec 4, 2024
View Jira Issue