Setup Beamable SDK¶
This guide will walk you through the process of setting up Beamable in your Unreal Engine project
Signing Up Account¶
Please remember your Alias as it'll be used to log into the SDK in your editor or via the Beamable CLI.
Cloning and Installing Dependencies¶
Start by getting our repo, then installing .NET and Docker Dekstop.
- Clone UnrealSDK repo (make sure you have
git-lfs
installed). - Check out the a tagged release version (in the form
X.X.X
).- Most
git
clients will allow you to checkout a specific tagged commit via their UI. - At Beamable, we're partial to Fork.
- Most
- Ensure Git LFS downloaded the binary assets in the repo.
- On Windows, you likely installed it along with
git
. On Mac, ifgit-lfs
is not installed on your machine, you can runbrew install git-lfs
. - Run
git lfs install
from the repository root - Run
git lfs checkout
from the repository root.
- On Windows, you likely installed it along with
- Run the
prepare_repo.sh
script.- On Windows, use the GitBash that your
git
install contains. - On Mac, you'll need to run
chmod +x ./prepare_repo.sh
.
- On Windows, use the GitBash that your
- Optional - Generating Project Files (if you want to open the SDK's own project).
- On Windows, you can right-click the
.uproject
file and selectGenerate Visual Studio project files
. - On Mac, run
sh "/Users/Shared/Epic Games/UE_5.5/Engine/Build/BatchFiles/Mac/GenerateProjectFiles.sh" "/Users/Path/To/Your/Project/YourProject.uproject" -game
.
- On Windows, you can right-click the
- Optional - Verify things are working by compiling the editor of our SDK project.
Next up, install our dependencies.
Once you have our repo and dependencies set up in your machine, follow along the next section to set up the SDK in your project.
Set up the Beamable SDK - Fast Path - Windows¶
Setting up the SDK in your project is done by manually copying over a set of files from our Unreal SDK repo to your project.
Unreal Project Requirements
Beamable requires your Unreal project to be a C++ project. That being said, we do provide an entire suite of Blueprint nodes that can be used to achieve most of the same functionality.
Please, follow along these instructions:
- Copy the
beam_init_game_maker.sh
script into the root of your Unreal Project. - From a terminal (on windows, GitBash) running in your project directory, run
beam_init_game_maker.sh
passing in the path to the UnrealSDK in your machine.. beam_init_game_maker.sh "E:/Path/To/UnrealSDK"
- For each of your
Target.cs
files, add the following lines to their constructor:MyProject.Target.cs => Beam.ConfigureGame(this, Beam.OssConfig.Disabled())
.MyProjectEditor.Target.cs => Beam.ConfigureEditor(this, Beam.OssConfig.Disabled())
.MyProjectServer.Target.cs => Beam.ConfigureServer(this, Beam.OssConfig.Disabled())
, if you have dedicated server builds.
- In each of the Modules you want to use Beamable's SDK, add this to their
Build.cs
files:RuntimeModule.Build.cs => Beam.AddRuntimeModuleDependencies(this);
EditorModule.Build.cs => Beam.AddEditorModuleDependencies(this);
UncookedOnlyModule.Build.cs => Beam.AddUncookedOnlyModuleDependencies(this);
- Pay attention to the type of module you're adding the SDK to and call the proper function. (You can see the module type in your
uproject
file)
- Regenerate project files.
- This should've been done by
beam_init_game_maker.sh
script. You can also right-click the.uproject
file and selectGenerate Visual Studio project files
.
- This should've been done by
- Verify that your project is set up correctly, go to your project's root directory:
- Check there is a
.beamable
folder there. - Check there is a
.config/dotnet-tools.json
file. - Run
dotnet beam --version
from inside your project root directory and see that it outputs a validX.Y.Z
string.
- Check there is a
- Open your IDE and compile your editor.
Set up the Beamable SDK - Fast Path - MacOS¶
- Copy the
beam_init_game_maker.sh
script into the root of your Unreal Project. - From a terminal, running in your project directory, run
beam_init_game_maker.sh
passing in the path to the UnrealSDK in your machine.- Run
chmod +x ./beam_init_game_maker.sh
before running the script. . beam_init_game_maker.sh "/Users/Me/Path/To/UnrealSDK"
- Run
- For each of your
Target.cs
files, add the following lines to their constructor:MyProject.Target.cs => Beam.ConfigureGame(this, Beam.OssConfig.Disabled())
.MyProjectEditor.Target.cs => Beam.ConfigureEditor(this, Beam.OssConfig.Disabled())
.MyProjectServer.Target.cs => Beam.ConfigureServer(this, Beam.OssConfig.Disabled())
, if you have dedicated server builds.
- In each of the Modules you want to use Beamable's SDK, add this to their
Build.cs
files:RuntimeModule.Build.cs => Beam.AddRuntimeModuleDependencies(this);
EditorModule.Build.cs => Beam.AddEditorModuleDependencies(this);
UncookedOnlyModule.Build.cs => Beam.AddUncookedOnlyModuleDependencies(this);
- Pay attention to the type of module you're adding the SDK to and call the proper function. (You can see the module type in your
uproject
file)
- Regenerate project files.
- From a terminal, run
sh "/Users/Shared/Epic Games/UE_5.5/Engine/Build/BatchFiles/Mac/GenerateProjectFiles.sh" "/Users/Path/To/Your/Project/YourProject.uproject" -game
.
- From a terminal, run
- Verify that your project is set up correctly, go to your project's root directory:
- Check there is a
.beamable
folder there. - Check there is a
.config/dotnet-tools.json
file. - Run
dotnet beam --version
from inside your project root directory and see that it outputs a validX.Y.Z
string.
- Check there is a
- Open your IDE and compile your editor.
Upgrading the SDK¶
- Check out a tagged release version (in the form
X.X.X
). - Copy the
beam_init_game_maker.sh
script into the root of your Unreal Project. - From a terminal (on windows, GitBash) running in your project directory, run
beam_init_game_maker.sh
passing in the path to the UnrealSDK in your machine.. beam_init_game_maker.sh "E:/Path/To/UnrealSDK"
. beam_init_game_maker.sh "E:/Path/To/UnrealSDK" true
(if you are still using theOnlineSubsystemBeamable
plugin)
- If you had any custom changes made to the SDK, leverage Git to re-apply them as needed.
- When making custom changes to the SDK, don't for get to flag it with a comment so searching for them is easier in this step.
- Fix any compilation errors that happened due to breaking changes.
- Don't forget to look fix any blueprints as well after you get the editor to compile.
- Run
dotnet tool restore
from your project root.- Verify that the CLI was updated to the proper version by running
dotnet beam version
and seeing that it matches the version inE:/Path/To/UnrealSDK/.config/dotnet-tools.json
.
- Verify that the CLI was updated to the proper version by running
- If you have microservices:
- From your microservice project's directory, run
dotnet restore
. - Verify that the CLI was updated to the proper version by running
dotnet beam version
from the microservice directory. - Run
dotnet beam checks scan --fix all
.- Our CLI can fix some breaking changes automatically with this command.
- From your microservice project's directory, run