Unreal Engine Upgrades
DataConfig is committed to support multiple UE versions with no deprecations and warnings. On this page we'll document important upgrade and migration info.
UE5.5
EAutomationTestFlags
is now aenum class
type.TIsTriviallyDestructible
is deprecated overstd::is_trivially_destructible_v
.TFieldPath(OtherPropertyType*)
constructor now checks for actual type safety.FProperty::ElementSize
deprecated overGetElementSize
.StructUtils
plugin is deprecated with all things moved in engine.PER_MODULE_BOILERPLATE
not needed anymore as UBT handles it automatically.FVerseValueProperty
renamed toFVValueProperty
, also compiled only withWITH_VERSE_VM
define.
UE5.4
- New property
Optional
andVValue
are added. We fully supportOptional
starting by addingEDcDataEntry::OptionalRoot/OptionalEnd
and then evantually it works with all DataConfig APIs including JSON/MsgPack serialization and property builder. FObjectPtrProperty/FClassPtrProperty
are deprecated. It's introduced in 5.0 now removed and alias toFObjectProperty/FClassProperty
respectively.- Defaults to MSVC
\W4
flag now which checks for unreachable code. It reports confusing locations and you can setbUseUnity = false
in your*.Build.cs
module rules to locate whereabout. FText
internal pointer changed fromTSharedRef
toTRefCountPtr
.
UE5.3
- Introduces
BuildSettingsVersion.V4
which now defaults to C++ 20. TRemoveConst
is deprecated overstd::remove_const
.FScriptDelegate
etc now has additional checkers based on threading model and debug/release build. Thus we change howFScriptDelegateAccess
works.
UE5.2
TIsSame
is deprecated overstd::is_same
.- In
Build.cs
bEnforceIWYU
is changed to enumIWYUSupport
.
UE5.1
- UE5.1 deprecates
ANY_PACKAGE
in favor of a new methodFindFirstObject
. In DataConfig we providedDcSerdeUtils::FindFirstObject
which callsFindObject(ANY_PACKAGE)
pre 5.1 and callsFindFirstObject()
for 5.1 and onwards.
UE5.0
-
New
TObjectPtr
to replace raw UObject pointers. Turns out this is mostly handled within the engine and is transparent to DataConfig. -
New property types
FObjectPtrProperty
andFClassPtrProperty
are added. They're handled the same asFObjectProperty
andFClassProperty
respectively. -
FVector
now is 3double
s, andReal
data type in Blueprint now is also double. This is also mostly transparent to DataConfig. -
FScriptArrayHelperAccess
size changes with a addeduint32 ElementAlignment
. -
TStringBuilderWithBuffer
API changes. At call sites we now doSb << TCHAR('\n')
instead ofSb.Append(TCHAR('\n'))
.
UE4
- The oldest version DataConfig supports is UE 4.25, in which it introduces a major refactor that changes
UProperty
toFProperty
. We intended to support UE4 in the foreseeable future, especially when we now have separateduplugin
for UE4 and UE5.