4 min read

Week 44: Tuesday

3349.8k lines changed
178 commits
89 modules
118 devs


Experimental

UAF EditorDataStorageFeatures EditorDataStorage Dataflow Mover MovieSceneMixedControlRig ChaosRigidAsset MessageBusTester MovieSceneAnimMixer DataflowVolumetricPlugin Workspace


Modules

Engine CoreUObject Core EngineSource EngineBuild UnrealEd Renderer MassEntity SubmitTool HordeServer.Build (+38 more)


Plugins

ControlRig PCG Metasound PixelStreaming2 IKRig MetaHumanCharacter ElectraPlayer Mutable AudioModulationInsights OnlineFramework (+7 more)


Commits

a50e7b1 DataflowNodes
Dataflow : fix potential crash with EditSkeletonBone node when double clicking on an asset laredy opened using the node

#rb trivial

[CL 47470661 by cedric caillaud in ue5-main branch]

df35fa4 UAFPoseSearch
UAF: Fixed LOD out of bounds in pose history trait.

#rb Nicholas.Frechette, samuele.rigamonti

[CL 47446783 by daniel holden in ue5-main branch]

8f9e0d3 UAFControlRig
UAF Control Rig: Refactor the control rig trait and evaluation task to be more modular so that the control rig evaluation task can be used outside of UAF in Sequencer animation mixer evaluation.

[REVIEW] [at]ue-controlrig, [at]animation-runtime
#rb jaime.cifuentes

[CL 47419608 by david bromberg in ue5-main branch]

6fac5fb MovieSceneMixedControlRig
Sequencer Control Rig: Make control rig work through the anim mixer and be able to be mixed in any order with animations.
For now, this doesn't work underneath the 'anim mixer' track- this will be the next step. But this gets it working through the anim mixer code without creating a new custom anim instance. This effectively enables Control Rig in Sequencer to work with UAF.
A few notes:
* This follows the same pattern of creating a new 'mixed control rig system' that tags existing control rig entities (just the base rig entity) so that the original control rig system doesn't process certain things, in particular, that it doesn't create a new custom anim instance or do anything having to do with cached restore state for that anim instance. However unlike the skeletal animation system refactor, this does leave the initial control rig system to do most things, since most operations there happen on the ControlRig instance itself, which is the same in both cases.
* This is implemented in a new 'MovieSceneMixedControlRig' experimental plugin, due to the dependencies on the Control Rig plugin, the experimental UAF plugin, the experimental Anim Mixer plugin, and the experimental UAF Control Rig plugin. To test this, all of those plugins must be enabled in your project. It's been tested in AnimSandbox and the ContentExamples project.
* By default the control rig is still going through the old evaluation template workflow rather than its new ECS workflow. This change requires the change to the ECS workflow via setting ControlRig.UseLegacySequencerTemplate to false.
* There are still some open questions about how layered control rigs vs. regular control rigs should work with this. Currently both are allowed to be weighted and there is always a mix step therefore added, meaning from a mixer perspective there is no real difference between them, but perhaps we want there to be, e.g. perhaps Control Rigs should always overwrite the previous pose entirely.
* It was challenging to make this 100% backwards compatible with sequences having an animation and multiple control rig layers due to ordering issues, but some magic numbers have been used in the default priorities to apply for animation vs. control rig priorities that don't have anim mixers. Long-term the true backwards compatibility path will likely be to add these automatically to an anim mixer track in postload which should help with some of that since it'll just be about order rather than magic numbers.


[FYI] greg.richardson
[REVIEW] [at]ue-controlrig, [at]ue-sequencer, [at]Mike.Zyracki, [at]andrew.rodham
#rb Mike.Zyracki, sara.schvartzman

[CL 47420907 by david bromberg in ue5-main branch]

8dbed9f TedsOutliner
TEDS UI - Fix asan error caused by accessing invalid ptr to metadata after it is destroyed

#jira UE-350668
#rb Ross.Smith

[CL 47428435 by aditya ravichandran in ue5-main branch]

3c8bb05 TedsOutliner
Hierarchy Viewer:
Add a column on the widget row and cell widget rows that can be used to access the hierarchy interface the viewer is operating on

TEDS Visibility widget:
- FIx selection only operating on level editor selection set, it operates on the same set as the target row now
- Use hierarchy interfaces instead of hardcoded logic to use Outliner tree items, but keep the latter as a fallback for now

#jira UE-231184
#rb Ronald.Koppers

[CL 47426221 by aditya ravichandran in ue5-main branch]

5f3fc1f ChaosRigidAssetEditor
Fixed crash when attempting to open a dataflow asset without setting a graph for physics assets

#rb kriss.gossart, Michael.Forot
#jira UE-348923

[CL 47431782 by benn gallagher in ue5-main branch]

4b1d4c9 DataflowVolumeCore
Dataflow:
- Added VolumeTextureTerminal node

#rb cedric.caillaud, jimmy.andrews

[CL 47470477 by gustav melich in ue5-main branch]

b4ecc2c UAFUncookedOnly
Scoped compile job changes:

> Renamed FScopedCompileJob to FCompilationScope and changed its behaviour
* Its purpose is to ensure that any modified assets within its (or child scopes) are (if required) compiled in order and relevant systems are notified of their compile start/finish
* It now holds an array for all relevant assets, and a mapping to per-object FCompilerResultsLog (created-on-demand) to differentiate/group messages according to their relevant asset
* Renamed files to UAFCompilationScope.h/cpp

> Introduced Compilation helper struct
* RequestAssetCompilation for single or set of assets, ensures a compilation scope is set-up
~ Ideally this is used by user-code rather than calling ::RecompileVM directly

> FAssetCompilationHandler no longer tracks number of warnings/errors itself, and switched RecompileVM to Compilation::RequestAssetCompilation

#rb Thomas.Sarkanen

[CL 47419324 by jurre debaare in ue5-main branch]

f91a45f UAF
UAF: Allow GetActorTransform to be used in animation graphs

#rb jack.potter, Nicholas.Frechette

[CL 47418543 by thomas sarkanen in ue5-main branch]

(+168 more)


Experimental lists all experimental plugins touched today.

Modules shows the top engine modules ranked by impact score.

Plugins shows the top plugins ranked by impact score.

Commits highlights the most significant changes ranked by impact score.

Main Radar is experimental and generated automatically from Unreal Engine's
ue5-main branch. It may make mistakes, and I'm improving it day by day. If something looks off, please let me know — feedback helps make it better.

This project is part of my broader work at
Mundus Creatus.