Beamball Sample¶
This demo showcases how you can use the Beamable Unreal SDK's in full game project. Particularly it focus on the Store, Leaderboard, Stats and Matchmaking.
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 an
game_typescontent with the namedefault - Ensure there's an
currencycontent with the namecoins - Ensure there are 4
itemskincontent with the namesskin1,skin2,skin3,skin4 - Ensure there's an
leaderboardcontent with the nameglobal - Ensure there are 3
listingscontent with the namesskin1,skin2,skin3 - Click
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
