GetSubsystem() function always return NULL when running game in PIE

This function call will always return NULL when running the game in PIE (play in editor).

const IOnlineSubsystem* OnlineSub = Online::GetSubsystem(GetWorld(), ACCELBYTE_SUBSYSTEM);

This error was also shown in the output log LogAccelByteOSS: Warning: AccelByte API disabled!

This happened because each game will have a different OSS object. The other reason is this code block in the OSS library. This code is removed from the latest version (0.4.x).

There are few solutions

  1. Run the game in standalone process instead of PIE.
  2. Update OSS library into the latest.