- modify versioning mechanisms to use UEMETADATA pragmas
- update commands which generate version.ush files to generate such pragmas instead of comments
- include the above pragma-driven version(s) in the input hash when preprocessed job cache is enabled (not needed for the disabled case since as before the entire contents of the version files are hashed)
- fix bug in stb_preprocessor that was causing it to stop expanding macros if any diagnostic was encountered (and rename the array field storing diagnostic messages to diagnostics, since it contains more than just errors)
#rb Yuriy.ODonnell
[CL 27515060 by dan elksnitis in ue5-main branch]
Added the capacitity to the AssetImportData to resolve a source file name without a loaded package.
This also fixes the issues where the editor is not able to find the source file during a reimport or simply navigating to that file via the content browser.
#jira UE-180553
#rb Kerim.Borchaev
[CL 26609365 by julien stjean in ue5-main branch]
- Added logic to detect that an asset was part of a level import and not an asset import
- Added properties on the level pipeline to allow the user to control the handling of deleted assets and actors
- Added logic to delete actors and assets on a level re-import
#jira UE-175145
#rb alexis.matte
#rnx
[CL 26572898 by jeanluc corenthin in ue5-main branch]
High Level Vision:
https://docs.google.com/document/d/13R4nJ2UNMJZlf6JCjYssFMSY-5CrURazE4tqxW77yBw/edit#heading=h.bpycydduomgi
Details of changes:
Removed "most" references to FStudioAnalytics from Engine code.
Deprecated use of FStudioAnalytics::FireEvent_Loading(), will deprecate FStudioAnalytics in due course.
Added FAnalyticsFlowTracker to the engine code base based on the flow system used in UEFN.
Added explicit DDC Resource and DDC Summary events to track DDC usage by resource type.
Moved common Editor analytics callbacks into EpicStudioAnalytics plugin
Added a variety of delegates to the engine code to so that analytics capture can be defined in the plugin code or within the game code instead of the engine code ( eg. load map, editor initialization, cooking, slow task )
Added JSON serializer for analytics events to provide facility to capture analytics in restriced environments ( eg. UEFN CookWorker ). Though this fetaure is not enabled yet.
This will temporarily break Loading and Cooking analytics for Lyra, ShooterGame, CitySample but not Fortnite or UEFN. The remainder will need to be "fixed up" in UE5/Main once the changes have propogated (stakeholders have been notified)
[FYI] zousar.shaker, devin.doucette, eric.knapik, francis.hurteau
#rb wes.hunt
#preflight 643e45150a5a4b944e603be8
[CL 25083739 by mark lintott in ue5-main branch]
Make AssetManager required; engine startup gives a fatal error if AssetManager is not present.
#rn Minor, Cooking
#rb Zousar.Shaker
#preflight 63ffd322df66ed5fc11d963e
[CL 24493164 by Matt Peters in ue5-main branch]
FORT-570648 - Closing the 'compile errors' dialog leaves you unable to interact with editor
Editor team related changes:
- added 'OnPreMapOpen' delegate to Editor.h, used in FEditorFileUtils::LoadMap to trigger a build check if it is bound. If it returns false we don't open the map
Validation changes:
- Moved build errors check to trigger on 'OnMapLoad' instead of just on project open as this consolidates validation code into the same module and is more reliable (We want to validate devices as close to when they are loaded into memory and offer users a chance to fix)
- Added dialog for validation triggered by 'OnMapLoad' which offers user option to recompile which now fixes issues and is faster than the previous option of reloading the entire project.
- If either dialog chooses to 'cancel' the map is not loaded. The project is opened and the user can attempt to open the level/map again after fixing errors. This seems better than the previous behaviour of closing the project and being forced back to the project open menu.
Minor Changes:
- All related dialog's had their 'close' buttons removed
- This fixes error reported by Phillip Kavan in which a cached 'last successful open' of a project lead to skipping these warning dialogs
#rnx
#rb yiliang.siew
#rb dave.belanger
#rb rex.hill
#rb conan.reis
[FYI] marcus.wassmer
#preflight 63fffd80f43e53f681756e99
[CL 24486810 by jared cotton in ue5-main branch]
AssetDefinition - Changing how getting the SourceFiles works a bit, wanted it to be easier to just get the real data and not have to wrap it myself, and also to not need to needlessly put it into a container if it's not needed.
#jira UE-165574
[CL 23686064 by nick darnell in ue5-main branch]
Several amounts of effort went into the newer design of UAssetDefinition to make it easier to change over time, more things are structs now for input and output so additional parameters can be added.
AssetDefinition module is an editor module instead of being a developer module.
AssetDefinition does not include a myraid of things it shouldn't such as the blueprint module and UnrealEd.
#jira UE-165574
#preflight 636c0ec4d0174259cca85e37
[CL 23083536 by nick darnell in ue5-main branch]
[FYI] Nick.Darnell
Original CL Desc
-----------------------------------------------------------------
AssetDefinition - This is the seed of a long term replacement of IAssetTypeActions. IAssetTypeActions is woefully inadiquit now. It puts a lot of functionality in one place, which wouldn't be a terrible thing, except for the GetActions, and some of the menu stuff being built into this class. We need to make an effort to not have to load every single asset just to open the context menu you have selected, to-wit, a previous CL made it so that summoning the menu no longer *Had* to load the assets, however several remaining issues remained with the Blueprint Utility Actions, and the fact that we don't "KNOW" if we need to call GetActions for an asset. We could introduce a replacement in the class, but that would just get inherited, causing other issues. So instead the parallel UObject based AssetDefinition now exists. In large part it will probably be very similar to the other one, but several things in it probably need to chnage. For now there is a bridging concept in the form of the AssetDefinitionAssetTypeProxy.
Several amounts of effort went into the newer design of UAssetDefinition to make it easier to change over time, more things are structs now for input and output so additional parameters can be added.
AssetDefinition module is an editor module instead of being a developer module.
AssetDefinition does not include a myraid of things it shouldn't such as the blueprint module and UnrealEd.
#jira UE-165574
#preflight 636c0ec4d0174259cca85e37
[CL 23072024 by bob tellez in ue5-main branch]
Several amounts of effort went into the newer design of UAssetDefinition to make it easier to change over time, more things are structs now for input and output so additional parameters can be added.
AssetDefinition module is an editor module instead of being a developer module.
AssetDefinition does not include a myraid of things it shouldn't such as the blueprint module and UnrealEd.
#jira UE-165574
#preflight 636c0ec4d0174259cca85e37
[REVIEW]
[CL 23072002 by nick darnell in ue5-main branch]