Facebook Gameroom for PC Gaming

Overview

Facebook Gameroom for PC gaming is a Windows-native client available as a free download for players worldwide. Within the new Facebook Gameroom, players can experience both web games and also native games built exclusively for the platform.

Building native games for Facebook Gameroom brings many benefits for you and your players:

  • Gameroom focuses on gameplay for players, ensuring an exclusive and immersive gaming experience.
  • Developing Gameroom native games takes less time: it's easier compared to HTML5 and gives better solutions around threading, debugging, networking and memory management.
  • Gameroom provides better performance in terms of app launch timings and memory consumption in native games.

Only games built in Unity (version 5 or newer) and Unreal are supported.

Download Unity with Facebook Games

Download and install the Unity with Facebook build support (available from 5.6 onwards):

Visit Unity Store to Download

Must Haves

For your game to be approved for Gameroom, it must:

Utilize the keyboard and/or mouse, with an in-game tutorial to explain usage.

Open links to FB Pages or external websites correctly in a browser.

Comply with the Facebook Platform Policy.

If your game is cross-platform and also available on Facebook Web, you need to detect and support the Gameroom client by detecting an additional user-agent string (e.g., FacebookCanvasDesktop [FBAN/GamesWindowsDesktopApp; FBAV/1.3.0.0]).

Do not allow “Guest mode” for players.

Do not allow players to Log Out of Facebook within your game.

Best Practices

These are recommended best practices that we have compiled from top performing titles:

Utilize the Login permissions requested by your game.

Continue the player's progress on different platforms. (e.g., mobile, Facebook.com and Gameroom)

Maximize the graphics area in the Gameroom client.

Allow the player to choose between low, medium and high quality graphics.

Keep the loading time under 10 seconds.

Build a skippable and replayable tutorial with an easy learning curve.

Configure all required Permissions under App Center.

Upload all creative assets in App Center.

Promote your Gameroom page from your FB Page and website.

Check whether your game is 18+, and fill in the System Requirements.

FAQ

All of the above. The Gameroom client supports many different formats:
  • HTML5 or Flash content that is hosted on your game server
  • Standalone Windows .exe that is generated in Unity, then manually zipped and hosted on Facebook's hosting (which we term as Gameroom native)
  • Unity WebGL that is zipped and hosted on Facebook's hosting
Yes, if you are using Unity 5.0 and above. You may download the latest Facebook SDK for Unity and import the FacebookSDK.unitypackage into the version of Unity that you are using.

If it’s a native Windows game, then the Facebook Unity SDK is required.

If you already use the Facebook Unity SDK for mobile games, you need to update the SDK to have Facebook Gameroom support. However, to get both mobile and Gameroom integration, you will need to configure your game manually, see sections 4-6 for details.

Mac and Linux platforms are currently not on our immediate roadmap, but we will consider it based on player demand.
Currently, we have 60+ Windows-native games on Gameroom and many more in the pipeline:
  1. Sandstorm Pirate Wars
  2. Empires And Allies
  3. Critical Ops
  4. Oz: Broken Kingdoms
  5. Might and Mayhem
  6. Path of War
  7. Pirate Kings
  8. Cooking Adventure
  9. Battle of Gods
  10. My Konami Slots
Developers have given us feedback that it was an easy integration, with efforts ranging from 1-2 weeks and with resources varying from 1-2 engineers.
No, the Gameroom installation process does not install any .NET frameworks, although the client targets the .NET 4.0 Client Profile, which is part of the automatic updates for Windows 7.
Yes. You should refer to Unity's documentation on IAP here: https://docs.unity3d.com/Manual/UnityIAPSettingUp.html
No, you do not have to use the Audience Network SDK. Currently, the Audience Network SDK only supports mobile platforms. In the future, we have plans to support the desktop platform.
Before calling a Facebook dialog (e.g., Login, Sharing, API, Payments, etc.), you can start showing your progress indicator. Once the Facebook callback is completed, you can hide your progress indicator.
// show your progress indicator
        
FB.ShareLink(
  new Uri("https://developers.facebook.com/"),
  callback: ShareCallback
);

private void ShareCallback (IShareResult result) {
  // hide your progress indicator
}
        
You may call Application.Quit(0) to return to the Gameroom homepage.
Follow these steps:
  1. Download devtools_resources.pak from here. After downloading, extract the zip and copy devtools_resources.pak to the Gameroom installation directory at %AppData%\..\Local\Facebook\Games.
  2. Close Gameroom, and exit the process from the Windows taskbar.
  3. Launch Gameroom with "/debuglog" as an argument.
  4. Bring up the Windows State Menu (with Close, Maximize, Minimize) by clicking the top left icon in the title bar.
  5. Select Debug.
  6. Type "devtools" into the console to open Chrome Developer Tools Console where you can check console messages.

For Flash titles, you can enable the debug version of Flash by using the "/debugflash" command line argument. The PPAPI version of Flash debugger must be installed and properly configured. See Adobe's developer center for details.

For Gameroom-native games, you would need to print the logs to files or overlay as a developer console on top of your game UI.
You may use the following code to programatically create a Gameroom Native build of your Unity project:
BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
buildPlayerOptions.scenes = new [] {"Assets/Scene1.unity", "Assets/Scene2.unity"};
buildPlayerOptions.locationPathName = "GameroomBuild";
buildPlayerOptions.target = BuildTarget.StandaloneWindows64;
buildPlayerOptions.targetGroup = BuildTargetGroup.Facebook;
buildPlayerOptions.options = BuildOptions.None;
BuildPipeline.BuildPlayer (buildPlayerOptions);
      
For more information on BuildPlayerOptions, please refer to Unity's documentation at https://docs.unity3d.com/ScriptReference/BuildPipeline.BuildPlayer.html

Contact Us

You may report any issues via our developer bug reporting tool below, with Gameroom under the following categories:

  • API and SDK
  • Developer Tools > App Dashboard

If you have Business Manager access and need support for integration issues, please report them via Direct Support. You can find out more about Direct Support via the Direct Support Information Guide.

Once your Gameroom integration is completed, please submit your game to our platform by completing the submission form.

Report Developer BugDirect Support on IntegrationSubmit your game

For your game to show up on Gameroom, please note that the following is required:

  1. App Details reviewed and approved by us.
  2. Game submitted for review and approved by us.
  3. You have set the App status to live.
  4. You have set the zip assets to be in push to production status.