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.
| Token | Form |
|---|---|
ENGINE_MINOR_VERSION | preprocessor comparison |
ENGINE_MAJOR_VERSION | preprocessor comparison |
ENGINE_PATCH_VERSION | preprocessor comparison |
UE_VERSION_NEWER_THAN | preprocessor macro |
UE_VERSION_OLDER_THAN | preprocessor macro |
Target.Version | Build.cs / Target.cs (C#) |
ReadOnlyBuildVersion | Build.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
| # | File | Line range | Token | Reason | Engine-reference citation | Module |
|---|---|---|---|---|---|---|
| 1 | Source/UKInteractionEditor/Private/UKValidatorPIEAuthorizer.h | 67-74 | ENGINE_MINOR_VERSION | The 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 |
| 2 | Source/UKInteractionEditor/Private/UKValidatorPIEAuthorizer.cpp | 47-103 | ENGINE_MINOR_VERSION | The 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.