Development Roadmap - adambiser/agk-steam-plugin GitHub Wiki

This page outlines the interfaces of the Steam API which will and won't be added to this plugin and reasons why.

Future additions can be categorized as follows (in order of easiest to most difficult to research and add):

  • Some more general Steam functions DONE in v1.4 and 1.4.1
  • Basic music control DONE in v1.3.1
  • Controller functions DONE in v1.6
  • Cloud support DONE in v1.5
  • Game Server support

Development will roughly follow this progression.

To be researched and implemented if possible

Interface Notes
ISteamApps Most of these will be added to the plugin. The DLC-related functions could be useful. DONE in v1.4
ISteamController The specialized controller functions like LED color and vibration would be nice to have, but if AGK ever implements this, it wouldn't be needed. DONE in v1.6
ISteamGameServer Would be nice to the ability to have a single game server within the plugin.
ISteamGameServerStats Would be the next step after ISteamGameServer.
ISteamMatchmakingServers Follows in the same line as ISteamGameServer.
ISteamMusic Not very useful, but it looks easy to implement. DONE in v1.3.1
ISteamNetworking Needed for P2P multiplayer.
ISteamNetworkingSockets ?
ISteamNetworkingUtils ?
ISteamParties ?
ISteamRemotePlay ?
ISteamRemoteStorage There are a lot of commands in this, but many are also deprecated. See what can easily be added to the plugin. DONE in v1.5
ISteamUGC Steam Workshop. This is a pretty specialized and involved interface.
ISteamUtils Many of these functions are only useful inside the plugin, but see if any can be exported. DONE in v1.4.1
steam_gameserver.h Also part of adding ISteamGameServer functionality.

Will not be implemented

Interface Reason
ISteamAppList This is a restricted interface that can only be used by approved apps.The only command this plugin has from this interface is GetAppName. It is demonstrated in the Friends List example since SpaceWar (appid 480) is an app approved for this interface.
ISteamAppTicket Docs say this should never be needed in most cases.
ISteamClient Docs say this is only needed if the app has a more complex versioning scheme, or if it implements a multiplexed gameserver where a single process is handling multiple games at once with independent gameserver Steam IDs.
ISteamGameCoordinator Deprecated.
ISteamHTMLSurface This is a pretty specialized and involved interface. Will look into it only if requested.
ISteamHTTP This is a pretty specialized and involved interface. Will look into it only if requested.
ISteamInventory This is a pretty specialized and involved interface. Will look into it only if requested.
ISteamMusicRemote This is pretty specialized and more involved than ISteamMusic. Will look into it only if requested.
ISteamScreenshots Not really needed. Will look into it only if requested. DONE in v1.10
ISteamUnifiedMessages Deprecated.
ISteamVideo This is a pretty specialized and involved interface. Will look into it only if requested.
SteamEncryptedAppTicket This is too specialized and involved.