Commit Graph

3136 Commits

Author SHA1 Message Date
marc audy
7ec196ccbe Make Subobject Class Overrides (more) const correct
#rb Ben.Hoffman
#jira UE-114303
#preflight 621d079c037be0078ca95fdf
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 19176515 in //UE5/Release-5.0/... via CL 19177706
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19179814 by marc audy in ue5-main branch]
2022-02-28 14:45:17 -05:00
benjamin fox
9565bad74b BlueprintHeaderView: Add ListView items for variables and fix function parameter type names
#jira UE-138707
#jira UE-143137
#rb phillip.kavan
#preflight 62180683e27ba405e8653eab

[CL 19175085 by benjamin fox in ue5-main branch]
2022-02-28 11:37:01 -05:00
steve robb
33c800a605 TEXT(""_SV) changed to TEXTVIEW("") for UTF-8 support.
#rb trivial

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19135062 via CL 19136099 via CL 19136620 via CL 19138526
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19155676 by steve robb in ue5-main branch]
2022-02-25 15:48:16 -05:00
martin sevigny
02fa587e82 Fix test for licensee flag in Engine content.
#rb matt.peters
#jira UE-143785
#preflight none
#lockdown simon.tourangeau

#ROBOMERGE-AUTHOR: martin.sevigny
#ROBOMERGE-SOURCE: CL 19128811 in //UE5/Release-5.0/... via CL 19129490
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19155133 by martin sevigny in ue5-main branch]
2022-02-25 15:32:09 -05:00
robert manuszewski
8a0a1ff00e Changes that somehow got lost when shelving and unshelving property setter and getter changes across streams + a few fixes
#rb Steve.Robb
#preflight 621515f40f71e491ccc7d14b

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19075982 via CL 19098326 via CL 19104715 via CL 19104912 via CL 19110027
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19147883 by robert manuszewski in ue5-main branch]
2022-02-25 10:41:34 -05:00
marc audy
cff01aa9fa Added support for native FProperty setters and getters.
Setters and getters are native functions called by FProperties when setting property values with *_InContainer functions.
Setters and getter function names can be manually specified with Setter = Func and Getter = Func keywords inside of UPROEPRTY macro but they will also be automatically parsed if the name is not explicitly specified if the setter or getter function name matches SetPropertyName and GetPropertyName pattern.
The latter behavior can be disabled in UHT's DefaultEngine.ini by setting AutomaticSettersAndGetters=False.
ImportText and ExportTextItem functions have been deprecated and should be replaced with *_InContainer or *_Direct variants.

#rb Steve.Robb
#preflight 6210a377a83e0bcefd03d9e1

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19070318 via CL 19098059 via CL 19104650 via CL 19104661 via CL 19110012
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19147839 by marc audy in ue5-main branch]
2022-02-25 10:39:39 -05:00
zousar shaker
e31a1daa85 Fix assignment between Object and ObjectPtr from property utilities methods used by blueprints.
#rb marc.audy
#jira UE-142271
#lockdown aurel.cordonnier
#preflight


#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 19093307 via CL 19093854 via CL 19094624 via CL 19096120 via CL 19105355
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19146664 by zousar shaker in ue5-main branch]
2022-02-25 09:43:44 -05:00
jeanfrancois dube
c96587db2a UPackageMapClient is now aware of incomplete PIE packages streaming external actors:
- Original fix was to prevent discovery of incomplete PIE packages from the package map client, which resulted in potential failures to resolve external actors outer chain from the incomplete package.
- Solution is to revert the original fix and make the package map aware of incomplete PIE packages to delay resolving of external actors until the package is considered complete. This cannot rely on UPackage::IsFullyLoaded since technically, the package is fully loaded and needs to be for external actors to properly resolve their outer.

#jira UE-141116
#rb patrick.enfedaque
#preflight 6214de68a97c2c3348ca296f

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 19082637 in //UE5/Release-5.0/... via CL 19097157
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19140938 by jeanfrancois dube in ue5-main branch]
2022-02-24 23:35:48 -05:00
Matt Peters
55e9f3e8ea FScopeCycleCounterUObject trace: suppress per-object timer names (using per-class instead) if AssetLoadTime channel is not enabled. This prevents poor performance due to 2million timers in insights on large cooks. Also change per-class timers to display"Blueprint" for blueprint classes, to prevent many new timers for projects with a large number of blueprints.
#rb Danny.Couture
#rnx
#preflight 6217bd47ea60a4af9d28a950

[CL 19117052 by Matt Peters in ue5-main branch]
2022-02-24 12:30:54 -05:00
charles bloom
38b1d2e51f Mark up more ParallelFor scopes for Insights
#rb none
#preflight 6216cd82647bb7debf703367

[CL 19105606 by charles bloom in ue5-main branch]
2022-02-23 19:25:03 -05:00
Dan Thompson
d412b366a3 Adding support to writing platform specific tags to the asset registry during cook by the book.
FArchive now holds a "CookData" blob that contains relevant information for cooking. The TargetPlatform has been moved to this structure, and it has a reference to a CookContext that can hold data generated during the cook that doesn't get serialized to the uasset (in this case, the asset registry tags).
#rb Matt.Peters
#preflight 62151bc4797dbbeb472af77d
#preflight 621011f6ff52bfecfc032b15
#preflight 62152777141b500e17eb24ef

[CL 19076066 by Dan Thompson in ue5-main branch]
2022-02-22 13:32:02 -05:00
Johan Torp
40758e08ce Use %llu instead of %ull as cross platform printf specifier
#rb steve.robb
#jira UE-142917
#rnx
#preflight 6214eaf8797dbbeb471bf945

[CL 19072037 by Johan Torp in ue5-main branch]
2022-02-22 09:07:01 -05:00
robert millar
5811293e2a Add TargetRules.bFNameOutlineNumber as an option to reduce the size of FName by 4 bytes by storing the number in the name table.
Adds a define UE_FNAME_OUTLINE_NUMBER.
Removes of FName, FMinimalName from memory image support. Adds of FMemoryImageName.
Removal of FMinimalName operator<<, all fields made private, size made variable.
All fields of FScriptName made private.
Added console commands for dumping numbered/unnumbered names and stats.

#rb johan.torp

#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 19058026 via CL 19058611 via CL 19058656 via CL 19061727 via CL 19061740 via CL 19064047
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19066701 by robert millar in ue5-main branch]
2022-02-21 02:35:48 -05:00
robert manuszewski
c36e03d5e3 do clause support
#rb Andrew.Scheidecker
#preflight 620f3a108863746a104d6c36

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19047989 via CL 19048186 via CL 19048197 via CL 19048203 via CL 19049414
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19065767 by robert manuszewski in ue5-main branch]
2022-02-21 00:33:13 -05:00
Matt Peters
7645a7dd38 OnEndLoadPackage: Change the arguments to a context object to avoid future need to change the function prototype. Add RecursiveDepth and bSynchronous arguments so that callers can take action only on the top-level EndLoadPackage if necessary.
BulkDataRegistry: Wait until the top-level EndLoadPackage, and wait until after OnEnginePostInit, before deleting bulkdatasize records. Deleting them sooner can make them be deleted before they're used by the EditorDomain if the EditorDomain's TrySavePackage triggers package loading and a recursive OnEndLoadPackage.
#rb Zousar.Shaker
#rnx
#preflight 620f00e7e8554a6f64f74d5a

[CL 19046732 by Matt Peters in ue5-main branch]
2022-02-17 22:02:59 -05:00
Matt Peters
6dcd01dd70 EditorBulkData: Add an Owner argument for UpdatePayload, and supply it from FTextureSource, so we can know ahead of the save which package an in-memory bulk data will be saved under.
#rb Paul.Chipchase
#rnx
#preflight 620efcb4c602491fb81538f8

[CL 19046506 by Matt Peters in ue5-main branch]
2022-02-17 21:12:20 -05:00
marc audy
9caa8eee5e Fix FObjectPtrProperty identical not respecting deep comparisons
#jira UE-38871
#rb Zousar.Shaker, Michael.Noland
#preflight 620d3926f427898d6b598bd4
#preflight 620d92cb3609e1937152f204

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 19031036 via CL 19031372 via CL 19031397 via CL 19031958
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v917-18934589)

[CL 19032182 by marc audy in ue5-main branch]
2022-02-17 03:44:36 -05:00
Matt Peters
4a1ee197f7 Move _Serialize per-class and per-object scopes into the LoadTime and AssetLoadTime channels.
#rb Danny.Couture
#rnx
#preflight 620d18ad3d541467563c027c

[CL 19014940 by Matt Peters in ue5-main branch]
2022-02-16 10:42:41 -05:00
Matt Peters
d23d39ffac TraceScopes for Cooking: Add scopes for PreSave, SaveSerialize, BeginCacheForCookedPlatformData, and IsCachedCookedPlatformDataLoaded.
Rename the LoadChannel version of the Serialize scope to LoadSerialize.
Lump PreSaveRoot and PostSave into PreSave since they don't deserve a separate scope.
Change existing classname-parameterized scopes to use WriteToString instead of FStrings to remove an allocation.
#rb Zousar.Shaker
#rnx
#preflight 620bd511475fb819ddc60169

[CL 18998774 by Matt Peters in ue5-main branch]
2022-02-15 12:51:35 -05:00
jeanfrancois dube
0d527b196f Added support for override package in package text serialization:
- Text format now includes import and export tables instead of discovering import while serializating exports. This is required to have enough information about objects with an override package that have their Outer in another package.
- UObject Json formatters now export import/export indices instead of relying on the objects full paths, which index into the exported import/export tables.
- Merged code to serialize UObject* and FObjectPtr in Json formatters to avoid code duplication.

#rb francis.hurteau, steve.robb
#preflight 61fd34030a43b689e1750d28
#rnx

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 18978952 via CL 18980785 via CL 18981531 via CL 18981661 via CL 18992713 via CL 18993052
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18997360 by jeanfrancois dube in ue5-main branch]
2022-02-15 11:35:28 -05:00
paul chipchase
882c0eceed Fix mismatch in memory allocation / deletion routines
#rb Mark.Lintott
#jira UE-142281
#rnx
#lockdown Mark.Lintott
#preflight 62067f0db84973a2bb8baf05

- The TUniquePtr would allocate the buffer with new[] and we were using FMemory::Free to delete it.
- This works under our default set up thanks to REPLACEMENT_OPERATOR_NEW_AND_DELETE but it is unsafe to leave it.
- Changed the call to FSharedBuffer::TakeOwnership so that the payload will be destroyed via delete []

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 18952581 in //UE5/Release-5.0/... via CL 18952687 via CL 18952831
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18952839 by paul chipchase in ue5-main branch]
2022-02-11 10:57:24 -05:00
Matt Peters
dd95a9efd0 #jira UE-121277
SavePackage: Improve feedback and avoid crashing when the temporary file fails to write.
#preflight 620549dbb84973a2bb5fbc0b
#rb Francis.Hurteau
#rnx

[CL 18938943 by Matt Peters in ue5-main branch]
2022-02-10 12:48:23 -05:00
paul chipchase
f768450f89 Fix assert when detaching a packages linker when the package file is still being used on another thread.
#rb Francis.Hurteau
#jira UE-141755
#lockdown Mark.Lintott
#rnx
#preflight 62050a81e54ab7c24bb47853

- In the last year we have encountered an increasing number of problems where an asset is processing it's bulkdata on an async thread when it is garbage collected.
- This is caused because we detach the package's linker in UPackage::BeginDestroy but most async asset tasks are checked in UObject::IsReadyForFinishDestroy, meaning we can have async work trying to access the bulkdata in the package file up until UPackage::FinishDestroy is called
-- Usually we try and fix this problem by preventing  packages with outstanding async tasks from being garbage collected, but support for this is not universal and can lead to the above problems showing up in various commandlets.
- By moving the detachment of the packages linker to UPackage::FinishDestroy we should be able to prevent these problems in all cases.

#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 18936647 in //UE5/Release-5.0/... via CL 18937598 via CL 18937892
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18937908 by paul chipchase in ue5-main branch]
2022-02-10 12:03:54 -05:00
carlmagnus nordin
3e2f2637c9 AsyncLoading2: Fixed Async and AsyncLoading flags sometimes not being cleared
#rnx
#rb pj.kack

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 18933303 via CL 18933306 via CL 18933307 via CL 18933723 via CL 18933770
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18933772 by carlmagnus nordin in ue5-main branch]
2022-02-10 05:06:30 -05:00
Matt Peters
f76045bb7e LowLevelMemTracker - add scopes for some large allocations during cooking.
#rb Devin.Doucette
#rnx
#preflight 62047a600a1c4eb68f555ba5

[CL 18930861 by Matt Peters in ue5-main branch]
2022-02-09 21:53:31 -05:00