Engine version gates — ledger

Every engine-version gate in the source, with its reason.

Assumes you have finished quick-start.

This page lists every place the kit's source compiles differently depending on the engine version, so you know exactly which code paths differ between 5.6, 5.7 and 5.8.

The rule

The core module UKInteraction is written to the 5.6 API surface with zero version gates. A 5.7-only or 5.8-only need in the core is treated as an architecture change, never an #if.

Version gates are permitted only in UKInteractionClient, UKInteractionDebug, UKInteractionEditor, UKInteractionTests and the adapter modules — and every occurrence has a row in the ledger below. The kit's release checks reject any gate that has no row here.

Scanned tokens

The kit's release checks scan Source/ for these spellings. Docs/ is excluded — prose about a gate is not a gate.

TokenForm
ENGINE_MINOR_VERSIONpreprocessor comparison
ENGINE_MAJOR_VERSIONpreprocessor comparison
ENGINE_PATCH_VERSIONpreprocessor comparison
UE_VERSION_NEWER_THANpreprocessor macro
UE_VERSION_OLDER_THANpreprocessor macro
Target.VersionBuild.cs / Target.cs (C#)
ReadOnlyBuildVersionBuild.cs / Target.cs (C#)

A new token spelling that is not in this table is itself a ledger defect: the scan cannot find what it was not told to look for.

Ledger

#FileLine rangeTokenReasonEngine-reference citationModule
1Source/UKInteractionEditor/Private/UKValidatorPIEAuthorizer.h67-74ENGINE_MINOR_VERSIONThe editor validator's Play blocker (IPIEAuthorizer) overrides a different function per engine: 5.6 / 5.7 declare RequestPIEPermission(bool, FString&); 5.8 deprecates it and marks it final, replacing it with IsPIEAuthorizedInternal(bool) + RequestPIEPermissionInternal(bool). The range is the two override declarations.Unreal Engine 5.8 deprecations › Editor (UnrealEd)UKInteractionEditor
2Source/UKInteractionEditor/Private/UKValidatorPIEAuthorizer.cpp47-103ENGINE_MINOR_VERSIONThe same surface's override bodies, and the development-only silent-query test ask on each branch.Unreal Engine 5.8 deprecations › Editor (UnrealEd)UKInteractionEditor

Module is always one of UKInteractionClient / UKInteractionDebug / UKInteractionEditor / UKInteractionTests / an adapter — never UKInteraction: the core carries no gate at all.

Both rows above belong to the editor-only UKInteractionEditor module, which never ships in a packaged game. The core module still has zero gates: the occurrence count inside Source/UKInteraction/ is exactly 0.

Adding a row

If you modify the kit's source and add your own engine-version gate, follow the same rule: keep it out of UKInteraction, and record what differs between engines and where you verified it.