https://github.com/flaxengine/onlineplatformsteam
Online platform implementation of Steam for games made with Flax Engine
https://github.com/flaxengine/onlineplatformsteam
flax flax-engine gamedev steam
Last synced: 7 months ago
JSON representation
Online platform implementation of Steam for games made with Flax Engine
- Host: GitHub
- URL: https://github.com/flaxengine/onlineplatformsteam
- Owner: FlaxEngine
- License: mit
- Created: 2022-01-29T17:21:44.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-03-25T12:34:37.000Z (12 months ago)
- Last Synced: 2025-03-25T13:40:21.523Z (12 months ago)
- Topics: flax, flax-engine, gamedev, steam
- Language: C++
- Homepage:
- Size: 699 KB
- Stars: 17
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Steam for Flax Engine
This repository contains a plugin project for [Flax Engine](https://flaxengine.com/) games with [Steam](https://partner.steamgames.com/) online platform implementation that covers: user profile, friends list, online presence, achevements, cloud savegames and more.
Minimum supported Flax version: `1.3`.
## Installation
1. Clone repo into `\Plugins\OnlinePlatformSteam`
2. Add reference to *OnlinePlatformSteam* project in your game by modyfying `.flaxproj` as follows:
```
...
"References": [
{
"Name": "$(EnginePath)/Flax.flaxproj"
},
{
"Name": "$(ProjectPath)/Plugins/OnlinePlatformSteam/OnlinePlatformSteam.flaxproj"
}
]
```
3. Add reference to Steam plugin module in you game code module by modyfying `Source/Game/Game.Build.cs` as follows (or any other game modules using Online):
```cs
///
public override void Setup(BuildOptions options)
{
base.Setup(options);
...
switch (options.Platform.Target)
{
case TargetPlatform.Windows:
case TargetPlatform.Linux:
case TargetPlatform.Mac:
options.PublicDependencies.Add("OnlinePlatformSteam");
break;
}
}
```
This will add reference to `OnlinePlatformSteam` module on Windows/Linux/Mac platforms that are supported by Steam.
4. Setup settings
Steam plugin automatically creates `steam_appid.txt` file with Steam AppId (for both Editor and cooked Game). You can add own settings in *Content* window by using *right-click*, then **New -> Settings**, specify name, select **SteamSettings** type and confirm.
5. Test it out!
Finally you can use Steam as online platform in your game:
```cs
// C#
using FlaxEngine.Online;
using FlaxEngine.Online.Steam;
var platform = new OnlinePlatformSteam();
Online.Initialize(platform);
```
```cpp
// C++
#include "Engine/Online/Online.h"
#include "OnlinePlatformSteam/OnlinePlatformSteam.h"
auto platform = New();
Online::Initialize(platform);
```
Then use [Online](https://docs.flaxengine.com/manual/networking/online/index.html) system to access online platform (user profile, friends, achievements, cloud saves, etc.).
## License
This plugin ais released under **MIT License**.