Setup

You can write your bot in any language, as long as it can load a dynamic/shared library (.dll/.so). The shared library is distributed together with the game.

The uwapi repository contains c/c++ headers for all functions and structures provided by the library. Furthermore, it contains convenient wrappers for Python and C# for easy start.

Steam Appid Txt

Important

Copy steam_appid.txt into the bin folder.

The file steam_appid.txt tells Steam that this is developer copy of the game. It allows running multiple processes of the game simultaneously, and to start the programs directly from outside the Steam. This allows you to retain full control over your bot program - it makes it possible to develop and debug it from inside your IDE. You may also start the game client, game server, built-in AI, or any other associated programs from your terminal. You will find the steam_appid.txt in the uwapi repository. Copy it into the bin folder, next to the game executable.

It is recommended to remove the steam_appid.txt when you are done with your AI/bot program. The file may cause corruptions when the game is updated.

Game Install Path

Important

If you installed Unnatural World in non-default location, define environment variable UNNATURAL_ROOT to the directory containing the library.

Default path: C:\Program Files (x86)\Steam\steamapps\common\Unnatural Worlds\bin

Default path: ~/.steam/steam/steamapps/common/Unnatural Worlds/bin

Show Extra Information

In the game, navigate to Options, User Interface, and change Selected info level to Extra. This will show you additional information about any single thing you select in the game. For example: unit id, its state, position (both index and 3D coordinates), etc. It shows at the bottom of the left panel.