Commit Graph

996 Commits

Author SHA1 Message Date
ben hoffman
6f0cd4f571 Fixed actor details not showing the properties of the root componenent if selected.
Updated the logic in SActorDetails::RefreshSubobjectTreeElements to match the logic in  SActorDetails::OnSubobjectEditorTreeViewSelectionChanged when deciding whether a component or actor is selected
[FYI] jamie.dale
#jira none
#rb trivial
#preflight 60c2bbb1b1a4a3000131e17a

#ROBOMERGE-SOURCE: CL 16635419 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16635452 by ben hoffman in ue5-release-engine-test branch]
2021-06-10 22:32:28 -04:00
matt hoffman
11740875ec Matinee: Changes required to delete matinee editor module. Removes the Interp edit mode and UnrealEds dependency on the Matinee editor module.
#rb Max.Chen, Ludovic.Chabant
#jira UE-105313
#p4v-preflight-copy 16616138
#preflight 60c1bb5eb68c700001c956d5
#preflight 60c24c03730f8a0001772aca
#preflight 60c2602f79a7fe0001785630

#ROBOMERGE-SOURCE: CL 16629318 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16629342 by matt hoffman in ue5-release-engine-test branch]
2021-06-10 16:22:51 -04:00
phillip kavan
1b6914ca4b Extends the class viewer module to support multiple custom class filters along with an optional associated view option flag.
Additional changes:
- Deprecates the previous method for specifying a singular custom class viewer filter and updates all existing occurrences of this pattern in engine code.
- Extends the property editor utilities interface to expose custom class filter(s) that can be applied to the class picker widget used for editing class property values.
- Adds an implementation of this interface to SDetailsView such that additional class filter(s) can now be configured to be applied to all underlying class property nodes.

#jira UE-108316
#rb Lauren.Barnes
#preflight 60c2102e8ae8960001110d50

#ROBOMERGE-OWNER: phillip.kavan
#ROBOMERGE-AUTHOR: phillip.kavan
#ROBOMERGE-SOURCE: CL 16623084 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)
#ROBOMERGE-CONFLICT from-shelf

[CL 16623246 by phillip kavan in ue5-release-engine-test branch]
2021-06-10 10:40:50 -04:00
matt hoffman
8e166827a8 Undo //UE5/Main/Engine/Source/... changelist 16613917
#jira None
#rb None

#ROBOMERGE-SOURCE: CL 16615633 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16615656 by matt hoffman in ue5-release-engine-test branch]
2021-06-09 19:26:30 -04:00
matt hoffman
305e2f6805 Matinee: Changes required to delete matinee editor module. Removes the Interp edit mode and UnrealEds dependency on the Matinee editor module.
#rb Max.Chen, Ludovic.Chabant
#jira UE-105313

#ROBOMERGE-SOURCE: CL 16613917 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16613923 by matt hoffman in ue5-release-engine-test branch]
2021-06-09 18:03:04 -04:00
patrick enfedaque
3f28b85413 Fix non-unity build
#rb trivial

#ROBOMERGE-SOURCE: CL 16602163 via CL 16605084
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16605188 by patrick enfedaque in ue5-release-engine-test branch]
2021-06-09 10:42:39 -04:00
jamie dale
e629562e38 Fixed some places leaving lingering element references from selection
#jira UE-116919
#rb Francis.Hurteau, Brooke.Hubert
#lockdown Simon.Tourangeau
#preflight 60c00edab68c70000182639c

#ROBOMERGE-SOURCE: CL 16599146 in //UE5/Release-5.0-EarlyAccess/... via CL 16599171
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16599172 by jamie dale in ue5-release-engine-test branch]
2021-06-08 21:22:02 -04:00
ben hoffman
8a1a6b21f9 Correctly aquire the editor component handle from an actor component when the tree selection is updated in the SActorDetails panel
#jira UE-117374
#rb justin.hare
#rnx
#preflight 60bfe225c612640001735e73

#ROBOMERGE-SOURCE: CL 16597031 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16597046 by ben hoffman in ue5-release-engine-test branch]
2021-06-08 19:54:16 -04:00
patrick enfedaque
dc80a8c0c2 Add support for Play in new window to the Play From Here actor flow
#rb jeanfrancois.dube
#preflight 60bf856a6c7ab70001086b9f


#ROBOMERGE-SOURCE: CL 16588669
#ROBOMERGE-BOT: (v828-16531559)

[CL 16588685 by patrick enfedaque in ue5-main branch]
2021-06-08 12:38:24 -04:00
Jamie Dale
c088cf85f2 Support for editing foliage instances directly in the level editor via typed elements
Note: This is disabled by default, but can be enabled by setting the "TypedElements.EnableFoliageInstanceElements" CVar to "1" (alongside setting "TypedElements.EnableSMInstanceElements" to "1").

Notable changes:
 - AInstancedFoliageActor now implements ISMInstanceManager, and provides an implementation that works for ISMC foliage instances.
   - ISMActor foliage is not yet supported, but also not currently used.
 - ISMInstanceManager now has functions for NotifySMInstanceMovementX and NotifySMInstanceSelectionChanged, which are called from the SMInstance typed element implementation.
 - USMInstanceElementDetailsProxyObject now calls the NotifySMInstanceMovementX functions for transform edits.
 - FFoliageStaticMesh::Reapply now re-uses existing instances where possible, to avoid invalidating mapped FSMInstanceElementId values.
 - FFoliageInfo now keeps track of all moving instances, rather than if any instances are currently moving.
 - Various FFoliageInfo/FFoliageImpl functions now take their indices via TArrayView rather than TArray.
 - UEngineElementsLibrary now has public functions for ReplaceEditorXElementHandles, which exposes the previously private re-instancing logic used by UEngineElementsLibrary::OnObjectsReplaced.
   - This allows static mesh instance elements to be re-instanced if needed (eg, if moving them to an ISMC in a different world partition).

#rb Brooke.Hubert
#preflight 60b835ef6073fb00015e3cd1

[CL 16552742 by Jamie Dale in ue5-main branch]
2021-06-03 16:42:24 -04:00
patrick enfedaque
15495ca467 PlayFromHere: An actor can now be source of PlayFromHere (Location,Rotation) and get notified (bCanPlayFromHere, OnPlayFromHere)
#rb jeanfrancois.dube
#preflight 60b91e176c445400019a660c


#ROBOMERGE-SOURCE: CL 16550798
#ROBOMERGE-BOT: (v828-16531559)

[CL 16550867 by patrick enfedaque in ue5-main branch]
2021-06-03 15:03:45 -04:00
paul chipchase
6958a4faa7 Add some basic profile data to Mirage to make it easier for people to see when payloads are being pushed to or pulled from the various backends.
#rb Per.Larsson
#rnx

* VirtualizationManager
- Add method ::IsEnabled which allows the caller to poll if content virtualization is enabled or not.
- Add method ::GetPayloadActivityInfo to return profiling data
- Added a new Profiling namespace containing all of the profiling code.
-- The idea is to try and keep all profiling data contained in the virtualization manager and not require the backends to be aware of it.
- The actual pull/push operations have been moved to new private methods ::TryPushDataToBackend and ::PullDataFromBackend, by limiting the scolpe of where the actual operation occur makes it easier to add the profiling code.
- We use the cooking stats system for recording our profiling data. Currently this adds no real value and we could've implemented our own but longer term this code might get hooked into FCookStatsManager:: CookStatsCallbacks to add it to our telemetry systems and this will be easier to do if it is already in the cooking stats formats.

* SVirtualizationStaticIndicator
- The widget is based on SDDCStatusIndicator for the DDC and is placed just before it in the UI.
- The widget will only be shown if the content virtualization system is enabled, so functions as an easy way to check that (maybe in the future it can be on all the time in which case we'd need the widget to reflect when the systems are disabled)
- Currently shows a green down arrow when a payload has been pulled and a green up arrow when a payload has been pushed.
- The tool tip shown on mouse over will show the total data sizes pulled and pushed from the backends.
#preflight 60b87c34ae46a100017d5334

[CL 16544645 by paul chipchase in ue5-main branch]
2021-06-03 04:35:17 -04:00
Jamie Dale
2b4fd7e927 Ensure GizmoManipulationStarted and GizmoManipulationStopped are called in pairs
The editor viewport would previously skip the GizmoManipulationStopped call if nothing had actually moved, but this causes an imbalance in the APIs which call NotifyMovementStarted and NotifyMovementEnded.

GizmoManipulationStopped is now always called, but with an extra argument saying if anything actually moved.

#rb Brooke.Hubert
#preflight 60aeb2de1db8a70001cbe077

[CL 16537833 by Jamie Dale in ue5-main branch]
2021-06-02 15:11:28 -04:00
Jamie Dale
982ac75d6b Fixed the sub-object instance editor toolbar being visible, even when non-actor elements were selected
The button bar of the sub-object instance editor would always be visible, even if there was no valid actor context to operate on. This changes it to only appear for actor contexts (ie, we can't add components to static mesh instance elements).

#fyi Brooke.Hubert, Ben.Hoffman

[CL 16526044 by Jamie Dale in ue5-main branch]
2021-06-01 20:19:16 -04:00
Patrick Boutot
fbf6261906 Slate: Add FSlotArguments as a way to create FSlot in the declarative way, similar to SWidget. It will be used to support TSlateAttribute on FSlot. TAttribute will be in the FSlotArguments and the FSlate will have a TSlateAttribute, similar to SWidget. The previous slot will be deprecated once everything is converted. Convert SOverlay to FSlotArguments.
#jira UE-114425
#rb vincent.gauthier
#preflight 60acf3a86905a60001c2170e

[CL 16447861 by Patrick Boutot in ue5-main branch]
2021-05-25 10:13:56 -04:00
Lauren Barnes
aee8534812 Updates to the in-viewport menu styling, and turning the UI on by default. Adds SWindow::MakeStyledCursorDecorator for custom styling.
#rb Matt.Kuhlenschmidt
#preflight 60abbd6b8194e70001ec9294
#jira UETOOL-3450

[CL 16436496 by Lauren Barnes in ue5-main branch]
2021-05-24 12:18:51 -04:00
ben hoffman
3fe8715470 Remove unnecssary forward declarations of SCS editor
#jira UE-114839
#rb trivial
#rnx
#preflight 60a8253f1d7849000148064b

[CL 16426524 by ben hoffman in ue5-main branch]
2021-05-21 18:58:05 -04:00
Jamie Dale
1daec400f8 Allow actors which manage ISM components to customize or disable per-instance editing
The static mesh instance (SMInstance) element type used to directly edit the data on the ISM component, which can cause issues if the ISM component is owned by an actor that has additional bookkeeping data.

To solve this there is now an extra level of indirection that the actor owning a component can use to customize the default per-instance editing behavior, or even to disable per-instance editing entirely:
 - FSMInstanceManager is a handle that replaces direct use of FSMInstanceId within the SMInstance element implementation, and promotes performing actions via the instance manager interface rather than on the ISM component directly.
 - ISMInstanceManager is an interface that actors owning an ISM component can implement in order to customize the default SMInstance editing behavior. The ISM component also implements this interface for the cases where it manages itself.
 - ISMInstanceManagerProvider is an interface that actors owning an ISM component can implement to either redirect the request to get the instance manager instance, or to disable per-instance editing entirely by returning a null instance manager instance.

The instance manager instance used is resolved from the ISM component using the following logic:
 - If the owner actor implements the ISMInstanceManagerProvider interface, then that API is used to provide the instance manager. No further fallback happens, and a null instance manager instance will disable per-instance editing.
 - If the owner actor implements the ISMInstanceManager interface, then the owner actor is used as the instance manager.
 - Otherwise the ISM component is used as the instance manager.

ALightWeightInstanceStaticMeshManager provides an example of using ISMInstanceManager to keep extra bookkeeping data up-to-date, and AISMPartitionActor provides an example of using ISMInstanceManagerProvider to disable per-instance editing.

AISMPartitionActor will be updated to correctly support SMInstance editing in a future change, by forwarding the request on to the client that owns the respective instance.

#rb Brooke.Hubert, Fred.Kimberley
#preflight 60a56a7c7370d300015f23fb

[CL 16422692 by Jamie Dale in ue5-main branch]
2021-05-21 15:02:48 -04:00
Jamie Dale
358b71289b Fixed warning when editing non-actor element types
The sub-object instance editor would warn that the given context wasn't an actor, so this limits it back to only actor contexts (like how the SCS editor used to work)

#fyi Brooke.Hubert, Ben.Hoffman

[CL 16413105 by Jamie Dale in ue5-main branch]
2021-05-20 20:14:19 -04:00
ben hoffman
c8a3710ffb Remove unused SCS editor inclues
#jira none
#rb trivial
#rnx
#preflight 60a6cee47d6b06000191e5b7

[CL 16411633 by ben hoffman in ue5-main branch]
2021-05-20 18:23:10 -04:00
Jamie Dale
1e8124423f Removed redundant element selection helpers
#fyi Brooke.Hubert
#preflight 609ebf6ccbf9a4000127a842
#rnx

[CL 16333920 by Jamie Dale in ue5-main branch]
2021-05-14 15:47:41 -04:00
Lauren Barnes
d935df8223 Minor update to how the default modes icon is pulled in
#jira UE-112199
#rb Brooke.Hubert
#preflight 609ea4c49ef36f000184ace1

[CL 16332040 by Lauren Barnes in ue5-main branch]
2021-05-14 13:45:42 -04:00
BorMor
2a2b00c159 PR #7885: Use ShouldShowMouseCursor() instead of direct variable access (Contributed by BorMor)
#rb trivial
#jira UE-115170

[CL 16278453 by BorMor in ue5-main branch]
2021-05-11 15:33:49 -04:00
luc eygasier
dfc915a297 Adds "Show Actor History" contextual action.
#jira UETOOL-3331
#rb Sebastien.Lussier, Patrick.Enfedaque

#changelist validated

[CL 16251595 by luc eygasier in ue5-main branch]
2021-05-10 14:30:23 -04:00
Lauren Barnes
39f1923ed0 Deprecating .Icon() as a slate attribute on SDockTab. By default, tab icons fall back to using the one for the tab spawner's menu item. SetTabIcon can be used in the edge cases where an icon needs to be set that doesn't match the default. Updating all found cases of .Icon() usage on SDockTab.
#jira UETOOL-3429
#preflight 60996a2bdd2e00000126ff25
#rb Matt.Kuhlenschmidt

[CL 16251489 by Lauren Barnes in ue5-main branch]
2021-05-10 14:19:15 -04:00