Due to the dynamic nature of JavaScript CLEO Redux needs to know an interface of each native command, i.e. a number of input arguments and returned values and their types. Sanny Builder Library serves as the source of command definitions for CLEO Redux.

At start CLEO validates that a definition file is present and correct and if not tries to download it from GitHub (see the table below) into your local CLEO/.config directory. If that did not happen, or you don't want to let CLEO make network calls, manually download the required file and place it in the CLEO/.config directory.

GameFileMinimum Required Version
GTA III, re3gta3.json0.243
GTA VC, reVCvc.json0.249
GTA San Andreas (Classic) 1.0sa.json0.287
GTA IVgta_iv.json0.45
GTA III: The Definitive Editiongta3_unreal.json0.222
Vice City: The Definitive Editionvc_unreal.json0.228
San Andreas: The Definitive Editionsa_unreal.json0.249
Bully: Scholarship Editionbully.json0.29
Unknown (32-bit)unknown_x86.json0.216
Unknown (64-bit)unknown_x64.json0.220

Starting from v1.0.0 CLEO Redux uses compound definitions (a combination of the primary JSON file for the current game and a JSON file for the Unknown host). It lets SDK commands to work in JS scripts regardless of them being defined or not in the primary JSON file. You should notice that during updates CLEO downloads both <game>.json and unknown.json as well as the accompanying enums.js files. It should not affect any existing scripts.