Extended Facebook Online Subsystem


Extended Facebook Online Subsystem (for all platforms!)
Engage players in your awesome game!

Extended Facebook Online Subsystem is a plugin for Unreal Engine 4 that integrates the Facebook social network for all platforms (using embedded UMG widget) and iOS & Android (using native Facebook SDK). It implements Online Subsystem so you can use available features exposed by this and/or special functions and Blueprints nodes designed only for Facebook. Plugin covers all Facebook functionality, including login and logout, requesting permissions, users identity, users avatars, inviting friends, getting list of friends playing your game or not in order to invite, game requests, achievements, leaderboards, sharing, and Open Graph stories.

Extended Facebook Online Subsystem plugin helps you creating social and interactive games by integrating features from Facebook for Games. Use this plugin to drive more installs and further engage players in your awesome game! Native implementation guarantees seamless integration and the best user experience. Embedded UMG widget implementation makes plugin available for all platforms.

Required Unreal Engine 4.11 or above because of Android Plugin support!

Current plugin version: 2.12.0
User Guide: https://gamednastudio.com/plugins/do…_UserGuide.pdf

Buy now on Sellfy (20% OFF): https://sellfy.com/p/ajKF/
Buy now on Marketplace: https://www.unrealengine.com/marketp…line-subsystem

★ Native implementation means native features provided by Facebook SDK for iOS & Android (for example native platform dialogs).
★ Embedded UMG widget implementation makes plugin available for all platforms.
★ Supports 3D widgets for VR.
★ It exposes simple but powerful API. No more HTTP requests or JSON parsing!
★ Implements Unreal Engine Online Subsystem.
★ All features are exposed to Blueprints.
★ Supports gameDNA installer. No more downloading SDKs and creating packages on your own!
★ Out-of-the-box for all platforms.
★ No additional libraries are needed!
★ Works with Blueprint-only & source code projects.
★ Works with Launcher & GitHub UE4 versions.
★ Facebook login and logout.
★ Requesting new publish permissions.
★ Requesting new read permissions.
★ Getting Facebook users information.
★ Getting users avatars.
★ Getting list of all friends playing your game.
★ Getting list of all friends not playing your game in order to invite.
★ Inviting friends with Game Request.
★ Inviting friends with AppInvite (without login requirement).
★ Reading and writing Facebook Achievements.
★ Reading and writing Facebook Leaderboards.
★ Sharing post on the timeline (in the background without dialog).
★ Sharing image on the timeline (in the background without dialog).
★ Sharing image on the timeline via dialog (without login requirement).
★ Sharing link on the timeline via dialog (without login requirement).
★ Posting Open Graph story.

★ All needed files and SDKs
★ Full source code available on GitHub private repo!
★ Compatible with all platforms
★ Easy plugin setup
★ All future updates
★ Support via Discord & e-mail

WARNING: Facebook removed some functionalities due to Cambridge Analytica scandal and it means these functionalities also don’t work in the Extended Facebook plugin because this is not technically possible. We are working on adding new features to this plugin and have plans to release big update in the future. Confirmed functions that currently don’t work: Share Post, Share Image, Open Graph Story, Achievements, Leaderboards. Other functions work as intended including Share Link Content and Share Photo Content.

You can test this plugin in our mobile game CHASERS:


You can download example project at the following address: GitHub - gameDNAstudio/ExampleProjects: Example projects for gameDNA's plugins

Facebook: gameDNA
**Twitter: **https://twitter.com/gameDNAstudio

Join our Discord channel to receive support and subscribe latest news: https://gamednastudio.com/discord

Plugin trailer:





Ohh, nice one! Would it also work on desktop ?

Currently only iOS & Android but I’ll add Windows support in the near future :slight_smile:

This is mega-awesome. No doubt we’ll be buying this off you for our first / second update like every other plugin you’ve done :cool:

Extended Facebook Online Subsystem HOTFIX 1.0.1 released!


  • Fixed issue when FacebookAppID.xml wasn’t created on Android
  • Fixed issues with including headers in C++

This hotfix is critical so please update to the newest version as soon as possible.

You can download update from your Sellfy dashboard or GitHub repository: https://sellfy.com/p/ajKF/

Super quality as usual :).
(Plus there is no alternative unless you make it yourself hohoho!)

Sample scenario: SHARING

1. Share Post

Required permissions: publish_actions

Share Post allows to share post in the background without showing Facebook dialog. You need to send your game to App Review.


**Sample Share Post result on Facebook timeline:


2. Share Image

Required permissions: publish_actions

Share Image allows to share image in the background without showing Facebook dialog. You need to send your game to App Review.


**Sample Share Image result on Facebook timeline:


3. Share Link Content

Share Link Content allows to share post with link without Facebook login and requesting permissions!


**Sample Share Link Content Native Dialog:


4. Share Photo Content

Share Photo Content allows to share image without Facebook login and requesting permissions!


**Sample Share Photo Content Native Dialog:




1. Login and Logout

Facebook Login is a fast and convenient way for people to create accounts and log into your game across multiple platforms.

You can simply place Blueprint nodes Facebook Login or Facebook Logout for login/logout behavior (and that’s all!). After successfully login you can immediately get Access Token, User ID and Username. CheckIfFacebookPlayerLoggedIn is useful when you want to check if player is connected to Facebook and if Access Token is valid.



Sample Facebook Login native dialog:




2. Requesting permissions

Sometimes you need to request additional permissions so FacebookRequestNewPublishPermissions and FacebookRequestNewReadPermissions can be helpful for that.

In plugin settings you can set default read permissions which are requested during first Facebook login. Permissions should be comma separated.


Read Permissions


Sample Facebook Request Read Permissions native dialog:


Publish Permissions


Sample Facebook Request Publish Permissions native dialog:


Sample scenario: USERS

1. Query Users


You can query any Facebook user but depends on user permissions and relationships it returns different results. For example for query user birthday info it requires user_birthday permission and for query e-mail it requires email permission. If user haven’t granted these permissions, result for the corresponding parameters will be empty.

2. Download User Avatar


If you queried Facebook User, you can get Cached Facebook User Info, retrieve Avatar URL and then Download Image based on URL.

Sample scenario: FRIENDS

1. Query Friends

Required permissions: user_friends

You can query friends who already play your game and get Facebook ID, Name and Avatar URL.


2. Invite Friends Simple

Required permissions: user_friends

You can simply show native invitation Facebook dialog and user can select friends to invite to your game.


Sample simple native invitation Facebook dialog:


3. Invite Friends with prefill and custom dialog

Required permissions: user_friends

You can query friends who haven’t installed your game yet and make custom invitation dialog. Then user can select friends to invite to your game and provide Facebook User IDs to FacebookInviteFriends function.



Sample custom invitation Facebook dialog:


4. App Invites

App Invites allows to invite friends without Facebook login and requesting permissions!


Sample App Invites Dialog:



Extended Facebook Online Subsystem UPDATE 1.0.2 released!


  • Huge documentation update with many sample scenarios: https://gamednastudio.com/plugins/docs/ExtendedFacebook_UserGuide.pdf
  • Added “Force Portrait Mode” option for Android
  • Fixed crash on share image which has different width and height
  • Fixed issue when native dialogs sometimes don’t open on iOS (added reference to App ViewController)
  • Refactor for UE4 Marketplace
  • Fixed ThirdParty libs paths
  • Added OnlineSubsystem public dependencies

You can download update from your Sellfy dashboard or GitHub repository: https://sellfy.com/p/ajKF/

Sample scenario: ACHIEVEMENTS

1. Write Achievement

Required permissions: publish_actions

Write Achievement lets unlock player achievement and post it to user’s timeline.


2. Query Achievements

Required permissions: publish_actions


Sample achievement unlocked post on Facebook timeline:


Sample scenario: LEADERBOARDS

1. Read Leaderboard

Required permissions: publish_actions


2. Write and Flush Leaderboards

Required permissions: publish_actions


Sample scenario: OPEN GRAPH STORY

Required permissions: publish_actions

You can post custom Open Graph story. Firstly, you should study Facebook documentation about Open Graph stories (Open Graph Stories - Sharing - Documentation - Facebook for Developers) and then create your own story on Facebook dashboard. FacebookOpenGraphPost requires Graph Path and Open Graph parameters.


Sample Open Graph story posted on Facebook timeline:


Extended Facebook Online Subsystem UPDATE 1.0.3 released!


You can download update from your Sellfy dashboard or GitHub repository: https://sellfy.com/p/ajKF/

Do you know how hard it would be to modify it so that google+ logins work?

Modify this plugin for Google+ doesn’t have any sense because it’s completely different. It could be better to make a new plugin with Google+ support.


Extended Facebook Online Subsystem available on official Unreal Engine 4 Marketplace!

Finally, Extended Facebook Online Subsystem has been released on official Unreal Engine 4 Marketplace.

Now you have a choice where you want to buy a plugin: Sellfy or UE4 Marketplace.

Marketplace: Extended Facebook Online Subsystem in Code Plugins - UE Marketplace
Sellfy: https://sellfy.com/p/ajKF/**

If you have questions, feel free to ask! :slight_smile:


All looking very good :slight_smile:

Using this am I, for example, able to get stats about friends - such as number of friends or date of birth or anything else? I’m not sure if the Facebook API allows this, but given that I can see this level of detail in Facebook itself, I would have hoped so.

Also, is there any method to develop a game between two users which allows the game engines to communicate with one another without the use of an external server. For example, could the game engine on User A indicate to the game engine on User B that it is now their turn?

Sorry for the basic questions, but I’m just trying to understand if this is what I am looking for.