I know is a outdated post.
I am in UE 4.27.2 and i use this way for use “FOnlineSubsystemBPCallHelper” struct.
#include "OnlineSubsystemUtils/Private/OnlineSubsystemBPCallHelper.h"
After include this Header i realize that the declaration and implementation are spit in two file.
Declaration → “OnlineSubsystemUtils/Private/OnlineSubsystemBPCallHelper.h”
Implementation → “OnlineSubsystemUtils/Private/OnlineSubsystemUtils.cpp”
So…next i copied what was there in the Implementation and paste in the Declaration.
After that, in the Implementation side i Comment the duplicate code, instead in the Declaration i include the Header “OnlineSubsystemUtils.h”
You can encounter problem with the module linker because this struct is inside a Private folder, so i advise you to add “OnlineSubsystemUtils” in the Private Module of your “Project.Build.cs”
P.S. I also try include “OnlineSubsystemUtils/Private/OnlineSubsystemUtils.cpp” but without success. (Console Error: [C1083] ‘VoiceModule.h’ not such file or directory.)