Dear Friends at Epic,
I am copying the code form the Shootergame example as follows, for ShooterGameSession.h, and am getting the compile error that Online.h doesnt exist:
1>e:\rocketvictory\victorygame\intermediate\builddata\include\victorygame\../../../../Source/VictoryGame/Classes/Online/VictoryGameSession.h(3): fatal error C1083: Cannot open include file: 'Online.h': No such file or directory
Of course I have to include Online.h, for all the delegales and other stuff contained below.
So, how do I include Online.h ? 
// Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
#include "Online.h"
#include "VictoryGameSession.generated.h"
USTRUCT()
struct FVictoryGameSessionParams
{
GENERATED_USTRUCT_BODY()
/** Name of session settings are stored with */
FName SessionName;
/** LAN Match */
bool bIsLAN;
/** Presence enabled session */
bool bIsPresence;
/** ControllerId of player initiating lobby */
int32 ControllerId;
/** Current search result choice to join */
int32 BestSessionIdx;
};
UCLASS(config=Game)
class AVictoryGameSession : public AGameSession
{
GENERATED_UCLASS_BODY()
protected:
/** Delegate for creating a new session */
FOnCreateSessionCompleteDelegate OnCreateSessionCompleteDelegate;
/** Delegate after starting a session */
FOnStartSessionCompleteDelegate OnStartSessionCompleteDelegate;
/** Delegate for destroying a session */
FOnDestroySessionCompleteDelegate OnDestroySessionCompleteDelegate;
/** Delegate for searching for sessions */
FOnFindSessionsCompleteDelegate OnFindSessionsCompleteDelegate;
/** Delegate after joining a session */
FOnJoinSessionCompleteDelegate OnJoinSessionCompleteDelegate;
/** Transient properties of a session during game creation/matchmaking */
FVictoryGameSessionParams CurrentSessionParams;
/** Current host settings */
TSharedPtr HostSettings;
/** Current search settings */
TSharedPtr SearchSettings;
In VictoryGame.Build.cs you’ll want to add OnlineSubsystem to the PublicDependencyModuleNames
ooh very nice thanks for that!
now though I get these errors:
1>e:\rocketvictory\victorygame\source\victorygame\private\online\VictoryOnlineGameSettings.h(9): error C2504: 'FOnlineSessionSettings' : base class undefined
1>e:\rocketvictory\victorygame\source\victorygame\private\online\VictoryOnlineGameSettings.h(20): error C2504: 'FOnlineSessionSearch' : base class undefined
I copied the shootergame code for my OnlineGameSettings
// Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
#pragma once
/**
* General session settings for a Victory game
*/
class FVictoryOnlineSessionSettings : public FOnlineSessionSettings
{
public:
FVictoryOnlineSessionSettings(bool bIsLAN = false, bool bIsPresence = false, int32 MaxNumPlayers = 4);
virtual ~FVictoryOnlineSessionSettings() {}
};
/**
* General search setting for a Victory game
*/
class FVictoryOnlineSearchSettings : public FOnlineSessionSearch
{
public:
FVictoryOnlineSearchSettings(bool bSearchingLAN = false, bool bSearchingPresence = false);
virtual ~FVictoryOnlineSearchSettings() {}
};
/**
* Search settings for an empty dedicated server to host a match
*/
class FVictoryOnlineSearchSettingsEmptyDedicated : public FVictoryOnlineSearchSettings
{
public:
FVictoryOnlineSearchSettingsEmptyDedicated(bool bSearchingLAN = false, bool bSearchingPresence = false);
virtual ~FVictoryOnlineSearchSettingsEmptyDedicated() {}
};
Any place the header for your OnlineGameSettings class is included you’ll need to have included Online.h before it. An easy, though not necessarily recommended way, of ensuring this would be to put it in the main header for your project (Victory.h probably) as that will be included for every file. The downside of doing it this way is it is generally preferable to keep includes to the necessary scope rather than slowing down compiles by including everything everywhere.
Woohooo!
Thank you Marc!
I got everything to compile now


Rama