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.253
GTA VC, reVCvc.json0.259
GTA San Andreas (Classic) 1.0sa.json0.299
GTA III: The Definitive Editiongta3_unreal.json0.222
Vice City: The Definitive Editionvc_unreal.json0.228
San Andreas: The Definitive Editionsa_unreal.json0.252
GTA IVgta_iv.json0.70
Unknown (32-bit)unknown_x86.json0.222
Unknown (64-bit)unknown_x64.json0.225
Bully: Scholarship Editionbully.json0.41

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.