Overwolf Game Events SDK
Switch branches/tags
Nothing to show
Clone or download
tom.wolf styling
Latest commit e921040 Jul 31, 2018
Failed to load latest commit information.
Samples/CPP removing suo Aug 2, 2015
libowgameevents update version Jul 19, 2018
.gitignore adding suo to ignore Aug 2, 2015
README.md styling Jul 31, 2018



Overwolf Game Events SDK

  • libowgameevents\include - contains the C language include files (relevant for C/CPP developers)
  • libowgameevents\lib - contains the per-platform DLL file (libowgameevents.dll) - you'll need this DLL file as part of your deployment
  • libowgameevents\csharp - contains the OwGameEventsDllWrapper.cs file, which is a CSharp wrapper (p-invoke) around libowgameevents.dll
  • libowgameevents\bin - contains utilities that help the development process:
    • consumer.exe - a consumer application that shows real-time triggered events and info key changes
  • libowgameevents\samples - contains CPP and CSharp sample applications and code

API basics

  1. owgame_events_create - creates an owgame_events_handle object with pre-defined info categories structure
  2. owgame_events_set_info_key - update a specific key in the info database
  3. owgame_events_trigger_event - trigger a non-persistent events
  4. owgame_events_begin_info_transaction - begin an info database transaction (allows updating multiple keys without triggering an update for individual owgame_events_set_info_key calls)
  5. owgame_events_commit_info_transaction - commit the info database transaction
  6. owgame_events_close - close the owgame_events_handle object
  7. owgame_events_turn_on_logger - set a local logging file (good for debugging)

General guidelines

  1. Use owgame_events_set_info_key for persistent game information (across the match/session) - for example: player health or player name
  2. Use owgame_events_trigger_event for "volatile" game events (which are only relevant for when they happen)
  3. When defining the info_categories structure (see owgame_events_create): it is better to use discrete key-values (as opposed to json values). This is good for performance (i.e. not having to constantly serialize JSON text blocks) and easier to consume by the Overwolf apps (i.e. not having to parse a JSON and figure out what changed).

For example - if you have a "player_info" category - it is better to declare the following:

// keys owgame_info_key player_keys[] = { { "user_name", 1024 }, { "level", 11 }, { "xp", 11 } };

// categories owgame_info_category categories[] = { { "player_info", MACRO_ARRAYSIZE(player_keys), player_keys } };

owgame_events_create(id, 1, categories, &owgameevents);

Rather than declaring 1 key ("data") that holds JSON data: { "user_name": "...", "level": 3, "xp": 55 }

  • Internal stability fixes

  • Improve closing/reopening communications channel (internal)

  • Improve producer disconnection detection

  • Memory allocation bug fix

  • Added internal memory pools for better performance

  • Added owgame_events_turn_on_logger for debugging