Dear Friends at Epic,
Please see my own answer and comment below for more info
I am trying to finish my steam integration,
I need to access the Steam online subsystem, I know this goes against the general way of using generic online subsystem
but I have my own independent service for getting a list of available games, so I am not using the advertising of games with steam
#How to Access This?
OnlineSubsystemSteam.h
class ONLINESUBSYSTEMSTEAM_API FOnlineSubsystemSteam :
public IOnlineSubsystem,
public FTickerObjectBase
{
When I compile using these includes and Online in the build target
//Online
#include "Online.h"
#include "OnlineSubsystemSteamPackage.h" //doesnt get found by compiler
when I take out the steam header that is not getting found
then I get
FOnlineSubsystemSteam
as not being found by compiler
when I try #include “OnlineSubsystemSteam.h”
I get this:
1>e:\rocketvictory\victorygame\intermediate\builddata\include\victorygame\../../../../Source/VictoryGame/Classes/Player/VictoryGamePlayerController.h(7): fatal error C1083: Cannot open include file: 'OnlineSubsystemSteam.h':
#OnlineSubsystemSteamClasses
the most likeely candidate of OnlineSubsystemSteamClasses does not work either
Cannot open include file: 'OnlineSubsystemSteamClasses.h'
I am using
public class VictoryGame : ModuleRules
{
public VictoryGame(TargetInfo Target)
{
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HTTP", "OnlineSubsystem" });
#Above Part Solved Using
public class VictoryGame : ModuleRules
{
public VictoryGame(TargetInfo Target)
{
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HTTP", "OnlineSubsystem", "OnlineSubsystemSteam" });
#But how to I get FOnlineSubsystemSteam
I now have FOnlineSubsystemSteam being recognized as a class
but I still cant figure out how to access it!
I’ve tried things like:
FOnlineSubsystemSteam * VictoryOnline = InterfaceCast(OnlineSub);
//FOnlineSubsystemSteam * VictoryOnline = Cast(OnlineSub);
FOnlineSubsystemSteam is not a standard object, it has no ::StaticClass so I can’t use ObjectIterator
and OnlineSub is a interface so I’d use interface cast
but FOnlineSubsystemSteam is not an interface!
and I cant use regular Cast on OnlineSub since it’s a n interface
so how do I get FOnlineSubsystemSteam instance?
#Protected
I would use
protected:
/** Single instantiation of the STEAM interface */
static FOnlineSubsystemSteam* SteamSingleton;
buuut
its protected
Rama