* The details panel must be enhanced to show Components as cards
* This new Card style should be applicable to any details panel
* Subobject editor had to be hidden upon selection of entity
#jira UE-192032
#rb Brooke.Hubert
[CL 27297832 by karen jirak in ue5-main branch]
"Mode Widgets" is by default disabled in game mode. The expected behavior in this case, according to feedback from content producers, should be as follows: "Mode Widgets" should be enabled by default, but the selection outline and transform widgets should be hidden. They should reappear once the user selects an actor.
Cause:
"EngineShowFlags.SetModeWidgets(false);" when entering game mode
Fix:
When entering game mode, temporarily set LevelViewportClient->bShowWidget to false while keeping the showflag "Mode Widgets" set to true. Transform widget is hidden in this manner when entering game mode, and selecting any actor will make it visible again because of the modification in SLevelViewport::OnActorSelectionChanged. The modification to SLevelViewport::ToggleGameView() makes sure that after leaving game mode, LevelViewportClient->bShowWidget is properly reset to true.
#jira UE-191508
#rb @logan.buchy
[CL 26893130 by han chu in ue5-main branch]
* This change addesses an issue which causes the LevelEditorViewportClient to render while PIE is active on the LevelEditorViewport. This results in a frame which is never displayed and therefore reduced rendering performance.
* The issue's root cuase is due to behaviour where the GameViewportClient and EditorViewportClient swap their stat flags when PIE is started on a selected LevelEditor sceneviewport - see FSceneViewport::SwapStatCommands. When stat flags are present on the GameViewportClient before PIE is started, the EditorViewportClient will inherit the stat flags. However, this has the side-effect of pushing a 'true' RealTime override onto ViewportClient. This causes ViewportClient->IsRealtime() to return true.
* UEditorEngine::UpdateSingleViewportClient() is called by the UEditorEngine::Tick() each frame, finds the EditorViewportClient->IsRealtime() to be true and triggers LevelEditorViewportClient->Viewport->Draw() even though there is no SceneViewport to display the render.
* The fix pushes a realtime override to disable realtime mode for the LevelEditorViewportClient when a PIE session is started that takes over the LevelEditorViewport and subsequently removes the override when PIE ends.
#jira UE-168061
#rb ronald.koppers
[CL 26621251 by logan buchy in ue5-main branch]
Assumptions:
1. Selections are cleared and "Mode Widget" is disabled after switching into "Game View", based on the existing function "void FEditorViewportClient::SetGameView(bool bGameViewEnable)" in "EditorViewportClient.cpp".
2. "bAlwaysShowModeWidgetAfterSelectionChanges" being "true" under "Game View" is not the intended behavior, as "void SLevelViewport::OnActorSelectionChanged(const TArray<UObject*>& NewSelection, bool bForceRefresh)" would bring "Mode Widget" back.
#jira UE-183635
#rb @ronald.koppers
[CL 26530624 by han chu in ue5-main branch]
When the level is locked, CanSelectElement evaluates to true, causing Unreal Engine to crash in the following two scenarios:
1. After locking the level, the user clicks on an ISM
2. After locking the level, the user drags the remaining gizmo on an ISM
The cause:
1. FSMInstanceElementLevelEditorSelectionCustomization::CanSelectElement evaluates to true because GEdSelectionLock seems always be false
2. DeselectAllActors in SetLocked does not recursively deselect the ISM components
The fix:
1. Determine whether the owner level is lockedin FSMInstanceElementLevelEditorSelectionCustomization::CanSelectElement
2. Use the typed element selection APIs to clear the current level's selection
#jira UE-181821
#rb
[CL 26000790 by han chu in ue5-main branch]
* The same functionality is provided by the GizmoManipulationStarted and GizmoManipulationStopped.
* This simplifies the interface and removes the bespoke parameter added to branch between when manipulation starts and when it is ongoing to avoid expensive rendering invalidations
* There are some clients of TypedElementViewportInteractionGizmoManipulation::ApplyDeltaToActor, this CL does not address usage of this function. Doing so will require further adoption of TypedElements among those systems
#jira UE-187188
#rb Brooke.Hubert
[CL 25964466 by logan buchy in ue5-main branch]
- Avoid broadcasting OnActorEditorContextClientChanged for game worlds
- Prevent UActorEditorContextSubsystem from broacasting ActorEditorContextSubsystemChanged when running Game/PIE.
#rb patrick.enfedaque
#preflight 647a2be0f40c6565433ebde8
[CL 25789367 by richard malo in ue5-main branch]
PR #10401: Level editor place actors menu to respect Class DisplayName overrides
#contrib 10401
#Jira UE-184698
#rb brooke.hubert
#preflight 6478af138417d79259fb76ce
[CL 25727113 by brooke hubert in ue5-main branch]
#preflight 647773ab0d55081f5494ab67
#jira none
--------------------------------------------------
Add ability to add a widget inside the global window overlay
#rb Patrick.Boutot
#ushell-cherrypick of 25473883 by kristof.morva1
----------------------------------------------
Fix ensure when hiding mouse capture label after exiting PIE
#rb Vincent.Gauthier
#ushell-cherrypick of 25507685 by kristof.morva1
[CL 25709904 by ben hoffman in ue5-main branch]
#fyi han.chu
Original CL Desc
-----------------------------------------------------------------
Fix crash when interacting with a script actor containing an ISM when the level is locked
#jira UE-181821
#rb Zach.Rammell
#preflight 647666294a277ca8f023dcc4
[CL 25699655 by Patrick Enfedaque in ue5-main branch]
- Allow switching Current level from context in WP World
- Unify display of Current Level when editing Level Instance (WP and non-WP)
- Level Instance Mode will lock/unlock selection and render postprocess based on current level being the Level Instance level or not.
#rb richard.malo, jeanfrancois.dube
#preflight 647501192e05bcc330bd4059
#rnx
[CL 25674513 by patrick enfedaque in ue5-main branch]