Beamball Sample¶
This demo showcases how you can use the Beamable Unreal SDK in a full game project. Particularly it focuses on the Store, Leaderboard, Stats and Matchmaking services.
Introduction¶
Aside from our BeamableCore Plugin, here's what the sample contains:
BEAMPROJ_BeamballUnreal Plugin.: Contains the UE implementation for the sample's client. The core code is insideLiveOpsDemoMainMenu.hand part of the implementation is done through BPs inside the folderUI_BPsfolder of theBEAMPROJ_Beamballproject.Microservice/BeamballMsMicroservice: Microservice containing code that's used by the sample for various matchmaking and stats stuff.
To set up this sample you'll need a a Beamable Account and a Realm. To configure the repo for the sample run dotnet beam unreal select-sample BEAMPROJ_Beamball.
Setting up the Project¶
To set up an organization and realm to run this sample, follow the steps below.
- Go to the Beamable Portal and create a new Beamable realm called
Beamball - Compile and open the
BeamableUnrealeditor project. - Sign into your Beamable account and go to the
Beamballrealm.- Optionally you can hit
Apply to Buildafter the realm change is done.
- Optionally you can hit
- Let's Setup the Content
- First you will need to run the command
dotnet beam content restore --pid DE_1885450253346843 --name LastPublished-globalto bring all the content from the sample to your current realm. - Open the
Contentwindow. - Ensure there's a
game_typescontent with the namedefault - Ensure there's a
currencycontent with the namecoins - Ensure there are 4
itemskincontent with the namesskin1,skin2,skin3,skin4 - Ensure there's a
leaderboardcontent with the nameglobal - Ensure there are 3
listingscontent with the namesskin1,skin2,skin3 - Select
Publishto publish those new contents to the realm. - You can read more about the content system Here
- First you will need to run the command
Running the Sample in Editor¶
Leveraging the new Beamable PIE Settings, you can run the sample in editor through two entry points: The Main Menu or the Gameplay scene.
Running from the Main Menu¶
- Open the Unreal editor.
- Open the
L_Beamball_MainScreenLevel if it's not opened yet.- You can find it inside the
BEAMPROJ_Beamball Contentfolder. - If you can't see plugin content in your content browser, you can change the settings of the UE
Content Browserto display it.
- You can find it inside the
- Go to the
Beamable -> Microservicewindow.- You should see the
BeamballMSservice there. Select it. - Click
Runand wait until you see theService ready for trafficlog line (and the running icon in the Microservice's card to change). - After you're done with the sample, don't forget to come here and stop the service.
- You should see the
- You don't need select any Play Preset, as the
Beamball_MainScreenlevel is the common entry point for the sample. So leave the Play Preset selector toNone. - Play the
L_Beamball_MainScreenin the Editor.
Running from the Gameplay Scene¶
- Open the Unreal editor.
- Open the
L_Beamball_GameplayLevel if it's not opened yet.- You can find it inside the
BEAMPROJ_Beamball Contentfolder. - If you can't see plugin content in your content browser, you can change the settings of the UE
Content Browserto display it.
- You can find it inside the
- Go to the
Beamable -> PIE Settings -> Player Managerwindow. - Create two players, one with the name
Player1and another with the namePlayer2. - Go to the
Beamable -> PIE Settings -> Play Presetswindow. - Create a new Play Preset with the following settings:
- Name:
Beamball Gameplay - Available Maps: Add
L_Beamball_Gameplayto the list. - Enable PIE Lobby: Enabled
- Game Type:
game_types.default - Add both
Player1andPlayer2to the preset.
- Name:
- Select the
Beamball GameplayPlay Preset in the main toolbar. - Select
Play as Clientin the Net Mode settings and set theNumber of playersto 2. - Play the
L_Beamball_Gameplayin the Editor.
Can I use it as a Template?¶
This sample is not meant to be used as a template directly, however, its components are free for you to copy and use in your own project. Here's what these are:
- The
BeamballMSMicroservice : located inside Microservice/BeamballMS - Beamable code and blueprints inside BEAMPROJ_Beamball plugin
