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
- A new series batch scripts named
Engine/Build/BatchFiles/RunUBT
are added which will will do a bunch of checks before runningUnrealBuildTool
. One should now useRunUBT
instead ofUnrealBuildTool
otherwise it won't work in some configuration. 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.