Commit Graph

2251 Commits

Author SHA1 Message Date
edwin maynard
4ca314b447 [Backout] - CL31216640 (backed out due to compile errors)
[FYI] Steven.Barnett
Original CL Desc
-----------------------------------------------------------------
Add soft collision thickness and sticky friction

#rb Benn.Gallagher, Chris.Caulfield

#changelist validated
#virtualized

[CL 31219619 by edwin maynard in ue5-main branch]
2024-02-06 12:37:00 -05:00
steven barnett
3a1992c0d3 Add soft collision thickness and sticky friction
#rb Benn.Gallagher, Chris.Caulfield

#changelist validated
#virtualized

[CL 31218280 by steven barnett in ue5-main branch]
2024-02-06 12:06:07 -05:00
maxime mercier
db87572de0 More extended support at getting override state and clearing overrides
Added new associated unittests cases

#rb kurtis.schmidt

[CL 31211628 by maxime mercier in ue5-main branch]
2024-02-06 08:39:58 -05:00
matt peters
1ac908e58b UPackage::SavedHash: Add the API that replaces UPackage->Guid. FIoHash SavedHash (or PackageSavedHash ) is now used instead on UPackage, FPackageSummary, and FAssetPackageData. Remark Guid as deprecated; we will remove it in 5.5. This replacement only applies to the editor; in the cooked game we are removing UPackage->Guid with no replacment because it is unnecessary and costs memory.
[RN] Minor, Foundation
#rb Zousar.Shaker

[CL 31174668 by matt peters in ue5-main branch]
2024-02-05 10:52:11 -05:00
matt peters
d7f1144b2e CompileTimes: Change UPackage's COREUOBJECT_API markup to include just the functions it needs to export rather than the entire class.
Formatting: add some line breaks for some long lines.
#rnx
#rb Zousar.Shaker

[CL 31129314 by matt peters in ue5-main branch]
2024-02-02 12:15:14 -05:00
aaron eady
865fca0a93 #JIRA UE-205463
Engine (map and set add item);

Implementing a way to have the map and set fill in with the next available enum value instead of always doing the default value.

Slack discussion with video: https://epicgames.slack.com/archives/C0447BVGFFZ/p1705510234620249

-- Code --
PropertyHandleImpl:
FPropertyHandleMap::AddItem() - Added a HasKey() lambda. We're then checking if the map property's key is an enum property, if so, we'll loop the enum values to see if the map doesn't already have that enum value as a key. When we find one that isn't in the map, we're adding a child node and then setting the child's key node to be the enum value that is not in the map yet. If the map property's key is not enum then we do the old check for if the default key isn't there.
FPropertyHandleSet::AddItem() - Added a HasElement() lambda. We're then checking if the set property's element is an enum property, if so, we'll loop the enum values to see if the set doesn't already have the enum value as an element. When we find one that isn't in the set, we're adding a child node and then setting the child node to be the enum value that is not in the set yet. If the set property's element is not enum then we do the old check for if the default key isn't there.

UnrealTypes:
FSetProperty::GetElementProperty() - Added this getter to return the ElementProp property.

[REVIEW] [at]guillaume.morreel, [at]matt.stone, [at]karen.jirak, [at]ronald.koppers
#tests PIE, opened a uasset that has a TMap property with enum as the key, added each enum key as I clicked the add item button, changed an entry to something out of order to make sure the add item button would add the next available entry, all the way until it wouldn't add anymore entries because all enum keys were taken. Also tried a TMap property with a gameplaytag as the key to make sure it still worked as expected. Repeated with TSet.
#rb ronald.koppers

[CL 31089421 by aaron eady in ue5-main branch]
2024-02-01 11:22:51 -05:00
jamie dale
fbd7b4f46c Moved the loaded package validation callback for the cooker to UE::Cook::FDelegates
[FYI] Matt.Peters
#rnx

[CL 31071899 by jamie dale in ue5-main branch]
2024-01-31 18:30:36 -05:00
charles lefebvre
19316f65ff UE Units: Add acceleration (cm/s2 and m/s2)
#rb Yoan.StAmant
#rnx
#tests Tested in editor, preflight

[CL 31057164 by charles lefebvre in ue5-main branch]
2024-01-31 13:59:44 -05:00
devin doucette
efa61fcca3 Added structured serialization of FPropertyTypeName
#rb Francis.Hurteau
#rnx

[CL 31050185 by devin doucette in ue5-main branch]
2024-01-31 11:21:12 -05:00
tim smith
307e11af46 Change the verse properties to either be use TWriteBarrier<VValue> or VRestValue. The former is intended for UClass definitions and the latter is used internally by verse generated classes.
#rb russell.johnston

[CL 31011719 by tim smith in ue5-main branch]
2024-01-30 12:45:18 -05:00
maxime mercier
cc5da7438a Return the added override state on an object.
#rb kurtis.schmidt

[CL 30971072 by maxime mercier in ue5-main branch]
2024-01-29 11:27:46 -05:00
devin doucette
0b42dd41a1 Fixed a crash in FPropertyBag caused by an invalid type in a property tag
#jira UE-205061
#rb Francis.Hurteau, Jordan.Hoffmann
#rnx

[CL 30940473 by devin doucette in ue5-main branch]
2024-01-26 16:13:18 -05:00
kevin macaulayvacher
4897f8726b - Separates FFrame::ReadObject and FFrame::ReadProperty to rely on a new method, FFrame::ReadPointer(), which returns a bare ScriptPointerType.
- Changed codepaths reading FProperty objects using ReadObject() to now use ReadPropertyUnchecked(), since FProperty is not a child of UObject (ReadObject was also an unchecked implementation so validation has been lost).

These changes allow ReadObject to return a UObject fetched from a constructed TObjectPtr<UObject> which enables UObject access tracking. This corrects the previous implementation of ReadProperty which would return an FProperty from a temporarily constructed TObjectPtr<UObject>. This had the effect of running TObjectPtr tracking handlers (if any are registered) on the FProperty object which is not actually a UObject type. Using the intermediate TObjectPtr<UObject> in a handler could corrupt the underlying FProperty data as many codepaths in TObjectPtr lazily initialize UObject member variables upon calling UObject methods.

#jira UE-204533
#rb Francis.Hurteau, Robert.Manuszewski

[CL 30924162 by kevin macaulayvacher in ue5-main branch]
2024-01-26 10:27:20 -05:00
maxime mercier
3ed09569c4 Added clear overides API to the Overridable Manager.
#rb kurtis.schmidt

[CL 30888982 by maxime mercier in ue5-main branch]
2024-01-25 11:31:40 -05:00
devin doucette
308d762eb7 Updated FPropertyTypeName to make it more convenient to use
#rb Francis.Hurteau
#rnx

[CL 30862617 by devin doucette in ue5-main branch]
2024-01-24 16:37:36 -05:00
ben zeigler
a847428a94 Add new IsTemplateForSubobjects function that correctly handles querying for all types of subobject templates
Add comments warning against use of IsDefaultSubobject due to the historically inconsistent behavior, and deprecate CollectDefaultSubobjects for being redundant and incorrect
Improve general comments related to subobject functions to better match the current behavior
#jira UE-201046
#rb dan.oconnor

[CL 30858830 by ben zeigler in ue5-main branch]
2024-01-24 15:22:15 -05:00
robert manuszewski
b53c4d6840 GC stats for analytics.
Added GarbageCollectComplete event that gets fired after GC is truly done (existing events were inconsitent in that manner)

#rb Johan.Torp

[CL 30845256 by robert manuszewski in ue5-main branch]
2024-01-24 10:55:23 -05:00
maxime mercier
5d628a7021 Fix default CDO value not being serialized in cooked server content when using Overridable Serialization.
#rb kurtis.schmidt, Tom.Noonan

[CL 30802134 by maxime mercier in ue5-main branch]
2024-01-23 09:05:28 -05:00
aris theophanidis
7192b9d0a2 Remove text.h from script.h (script.h is included by object.h)
#rb Yoan.StAmant

[CL 30776575 by aris theophanidis in ue5-main branch]
2024-01-22 11:52:48 -05:00
steve robb
66266c6a11 Fixed up DerivedDataCache, DesktopPlatform, ApplicationCore, AssetRegistry, Core, CoreUObject, Projects, Sockets code to use EAllowShrinking instead of bools.
[CL 30676428 by steve robb in ue5-main branch]
2024-01-17 19:51:06 -05:00
marc audy
19e84555b3 Silence PVS warnings
[CL 30653812 by marc audy in ue5-main branch]
2024-01-17 01:34:02 -05:00
devin doucette
f0b3f1f627 Updated FPropertyPathName to use FPropertyTypeName
#jira UE-197352
#rb Francis.Hurteau
#rnx

[CL 30646449 by devin doucette in ue5-main branch]
2024-01-16 16:49:05 -05:00
maxime mercier
1729d7d681 Query object property override state from FEditPropertyChain
#rb kurtis.schmidt

[CL 30646326 by maxime mercier in ue5-main branch]
2024-01-16 16:45:25 -05:00
maxime mercier
48d7dd4c02 Fix for subobjects overrides not always be consistent
#rb kurtis.schmidt

[CL 30622281 by maxime mercier in ue5-main branch]
2024-01-15 13:52:33 -05:00
robert manuszewski
3f219e2bdd Fast MarkObjectsAsUnreachable. Slightly faster on the client AND SIGNIFICANTLY FASTER on the server where everything runs single-threaded (down from up to 20ms to < 1ms so no need to make it incremental).
- Introduced UE::GC::GReachableObjectFlag which makes flipping all objects from Reachable -> MaybeUnreachable a single Swap() function call.
- Roots and clustered objects are then marked back as Reachable (instead of MaybeUnreachable) but there's significantly fewer of these than all objects that previously needed to be marked as MaybeUnreachable.
- ReachabilityAnalysis now clears MaybeUnreachable AND marks as Reachable (no observable perf regression because of that)

TestClient ReplayRun results (MOAU - MarkObjectsAsUnreachable, RA - ReachabilityAnalysis)

Before:

Min MOAU Time: 0.367427
Max MOAU Time: 1.21097
Avg MOAU Time: 0.709261134146342

Min RA Time: 3.46
Max RA Time: 16.03
Avg RA Time: 11.2565957446808

After:

Min MOAU Time: 0.250281
Max MOAU Time: 1.280585
Avg MOAU Time: 0.692970346153846

Min RA Time: 3.72
Max RA Time: 13.97
Avg RA Time: 11.0717777777778

#rb Johan.Torp

[CL 30615034 by robert manuszewski in ue5-main branch]
2024-01-15 03:22:32 -05:00