GamePlatform Usage Tips

This section includes various examples and usage tips to get you started with the GamePlatformPlugin features.

The GamePlatformPlugin itself is comprised of a management system (CryGamePlatformPlugin) and various implementations of platform services. For example, CryGamePlatformSteam). There is also an additional module that provides Flow Graph and Schematyc (Experimental) Nodes and Components to allow non-programmer development and interaction with these services via Visual Graphs (CryGamePlatformNodes).

C++ API, Flow Graph or Schematyc?

  • Flow Graph and Schematyc are implemented separately for the most part. It is hence recommended to separate the necessary logic accordingly if you are to use both systems in your project. Ideally, you would choose only one.

    For example, events triggered by the platform will be sent to both systems. Event data will then be duplicated for those events you are handling in each system. Tracking issues will be made much more difficult if both systems are handling the same events.
  • Some overhead in performance and memory will be introduced by using the Flow Graph and Schematyc methods. However, most platform service actions are not time sensitive and should not be a concern most of the time.

    However, for the most control and performant access/use of the platform service API, we always recommend using the C++ interface directly when possible.

Interaction and Response of the GamePlatform Services

There are 3 main interactions with the GamePlatform Services:

  • Direct functions - These are actions taken immediately.
  • Asynchronous functions - These actions are triggered immediately, but the result may take some time and most likely trigger an event when ready.
  • Events - These are triggered by the platform service, either due to a request via an asynchronous function, or via the platform itself.

API Throttling

Most platforms will penalize applications that over saturate the platform service unnecessarily.

  • Care should be taken about what data you pull and how often you pull that data to prevent the platform from restricting further API calls.
  • In some cases, poor throttling can even prevent a game from passing a platform viability/conformance check, and your game will not be able to be released on that platform.

In This Section