# C++ API This section contains information about Unigine C++ API. It consists of two parts: - [Reference documentation](../../api/index.md) - [Common usage examples](../../code/cpp/usage/index.md) The Unigine engine enables exporting the C++ code to UnigineScript and vice versa, providing flexible extension of Unigine functionality. It allows to export or import [variables](../../code/cpp/usage/script/variables.md), [functions](../../code/cpp/usage/script/functions.md), and [classes](../../code/cpp/usage/script/classes.md). It is also possible to [load a custom library dynamically](../../code/cpp/plugin.md) at the engine run time. All C++ API header files are located in the `Unigine/include/` directory. ## See also For better understanding of the Unigine C++ API operation in the Engine architecture it is recommended to look through the [Engine Architecture](../../code/fundamentals/engine_architecture/index.md) article.