Setup Beamable SDK¶
This guide will walk you through the process of setting up Beamable in your Unreal Engine project
Signing Up Account¶
To start using Beamable in your project you need to have a valid Account in our Platform. you can sign-up an account in our portal.
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
- Run the
prepare_repo.sh
script.- On Windows, use the GitBash that your
git
install contains.
- On Windows, use the GitBash that your
- Generating Project Files.
- On Windows, you can right-click the
.uproject
file and selectGenerate Visual Studio project files
.
- 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 one of the next section to set up the SDK in your project.
Set up the Beamable SDK - Fast Path¶
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 running in your project directory, run the copied script 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're planning to use theOnlineSubsystemBeamable
.
- 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)
- Some OS-specific things:
- On MacOS, you'll have to manually regenerate project files.
- On Windows, this was done by
beam_init_game_maker.sh
script.
- Verify that your project is set up correctly:
- Check there is a
.beamable
folder in your project root directory. - Check there is a
.config/dotnet-tools.json
file in your project directory. - 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 Rider/VS and compile your editor.