This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
Clean up atmospheric fog and have it instaciate a sky atmosphere by default instead
AtmosphericFog now inherits from SkyAtmosphere and looks vaguely similar. Serialisation is handled with a serialisation enum + ue5 version.
"ClassRedirects" could not be used because parameters are not compatible and also due to different serialisation on both component.
So instead Skyamtosphere now has a bool bIsAtmosphericFog (false by default).
AtmosphericFog component now inheriting from Skyatmosphere is setting that to true so that serialisation can be properly handled for both cases : pure Skyatmosphere or SkyAtmosphere replacing a AtmosphericFog with loading/saving. This also supports StaticLightingGUID once converted, see USkyAtmosphereComponent::Serialize.
SkyAtmosphere aerial perspective is now properly gated behind the base pass vertex shader designed for that using BASEPASS_SKYATMOSPHERE_AERIALPERSPECTIVE.
Removed all AtmosphericFog related render code.
Renamed a bunch of shader permutation.
UActorFactoryAtmosphericFog is removed so that the actor is no longer visible and instanciable from menu (existing actors in levels are still created correctly)
UAtmosphericFogComponent is made notplaceable.
ShooterGame compiled and ran succesfuly.
Colton Daniels (QA) will upate reference screneshot in a later CL.
#rb Charles.derousiers, Marc.Audy, Kevin.Ortegren
[CL 16455741 by Sebastien Hillaire in ue5-main branch]
LIMITATIONS:
1) Re-instancing will only update UClass instance data.
2) Adding and removing properties should only be done towards the end of a class or structure and can not be followed by complex data types.
3) Adding and removing properties from a base class should not be done if a derived class contains complex data types.
KNOWN ISSUES:
1) Changes to enumerations and structures will not be reflected in existing blueprints. However, adding new nodes to the blueprint will show the updated enumeration or structure.
2) If a class contains an enumeration or structure as a member, the class will not be re-instanced if enumeration or structure is changed.
CHANGES:
1) LiveCodingServer
1a) Modified to always execute certain static instances during load.
1b) Modified to exclude the _Statics static structures to avoid patching to old copies.
2) Added support for LiveCoding reinstancing
2a) Refactored deferred registration system for UClass, UEnum, and UScriptStruct to use a common system that works for normal game, hot reload and live coding.
2b) Type specific version check data is possible (i.e. enum doesn't have a size)
2c) Single registration static for UClass
2d) Single registration class for all types that is just a blind forward to API.
2e) Static and dynamic registrations use different API entry points to avoid having overloaded argument lists that just apply to one or the other.
2f) Shims for older API
3) New common "Reload" system to avoid using HotReload code.
3a) Support common delegates regardless of who is reloading/reinstancing.
3b) Re-instancing code moved from HotReload to Kismet2 (where the bulk of the re-instance code already existed).
3c) Modified PyWrapper to use new helper class instead of depending on HotRelaod
3d) Added WITH_RELOAD which is defined if HotReload or LiveCoding is enabled.
3e) Modifed existing code to use new #define and delegates.
Robert did the review on the changes covered by Part 2. Remaining changes are all straightforward.
#rb robert.manuszewski
#jira UE-74493
[CL 15736777 by Tim Smith in ue5-main branch]
Use the Layers icon for VariantManager temporarily;
Realign variant and variant set thumbnails;
Fix font size for struct property value editors;
Fix autocapture icon not showing up;
Update USD stage editor icon to the USD icon;
#jira UE-109289
#rb JeanLuc.Corenthin
#ROBOMERGE-SOURCE: CL 15558907 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15558915 by daniel coelho in ue5-main branch]
The details view now displays gridlines between rows, and now has 4 columns - edit condition, name, value, and reset/extensions.
Edit condition widgets are now created in SDetailSingleItemRow and are placed in their own fixed column on the left of the details view. FEditConditionParser is now in FPropertyNode rather FPropertyEditor, which allows access to it more broadly - notably in SDetailSingleItemRow.
The Reset to Default SWidget can no longer be replaced - the logic for it being visible and a handler for when it is pressed is still customizable. SPropertyEditorAsset no longer has a special slot for the reset to default widget.
All extension widgets are now placed in a resizable column on the right of the panel, including the Keyframe button.
FDetailColumnSizeData is now publicly exposed by IDetailsView, and is no longer passed around as much.
#rb matt.kuhlenschmidt
[CL 14375859 by sebastian nordgren in ue5-main branch]
Scene Outliner refactored to remove all actor-specific code.
Now uses modular modes and hierarchies to allow representation of any data model.
#rb patrick.enfedaque matt.kuhlenschmidt
#jira none
#fyi tim.gautier
[CL 13922848 by roey borsteinas in ue5-main branch]