ComponentVersions
Tracking Issue: #765
Both the Highlander and mods using it may be interested in whether replacements for base game packages ("components") are installed, and if, which version. This can be used to
- Behave differently depending on whether a HL feature is available
 - Provide more targeted error messages when a certain HL version is required
 
For example, if you are interested in whether version 1.19.0 of the Highlander is correctly enabled, you can use the following:
if (class'CHXComGameVersionTemplate' != none
    && (class'CHXComGameVersionTemplate'.default.MajorVersion > 1
        || (class'CHXComGameVersionTemplate'.default.MajorVersion == 1
            && class'CHXComGameVersionTemplate'.default.MinorVersion >= 19)
        )
    )
{
    // Installed, do thing A
}
else
{
    // Not installed or wrong version, do thing B
}
For other classes, see Source code references below.
Note that you can employ feature-based detection if the feature
can be distinguished by the presence of a certain function or property.
For example, OverrideUnitFocusUI can be detected with
the following trick:
if (Function'XComGame.CHHelpers.GetFocusTuple' != none)
{
    // Feature present
}
else
{
    // Feature absent
}