The goal of this project is to greatly simplify the way that Steam Multiplayer is implemented in Godot. This project is a Godot Package that provides a simple API for creating and joining lobbies, and sending and receiving messages between players.
The example project shown above should give a good example on how to start up. A couple key things to note
Nuget Packaging is not working fully. Some nuance with the multi-platform builds. I will get to it sometime.
dotnet
dotnet add package SteamMultiplayerPeer
package manager
Install-Package SteamMultiplayerPeer
In the meantime, you can copy the code in the Steam Folder to your project, as well as the dll's, and follow the instructions below.
Once the package is installed you will have to add the following to the csproj:
<ItemGroup>
<Reference Include="Facepunch.Steamworks.Win64" Condition="'$(Configuration)' == 'Debug' and $([MSBuild]::IsOSPlatform('Windows'))">
<HintPath>.godot\mono\temp\bin\Debug\Facepunch.Steamworks.Win64.dll</HintPath>
</Reference>
<Reference Include="Facepunch.Steamworks.Win64" Condition="'$(Configuration)' == 'Release' and $([MSBuild]::IsOSPlatform('Windows'))">
<HintPath>.godot\mono\temp\bin\Release\Facepunch.Steamworks.Win64.dll</HintPath>
</Reference>
<Reference Include="Facepunch.Steamworks.Win64" Condition="'$(Configuration)' == 'Debug' and ($([MSBuild]::IsOSPlatform('Linux')) or $([MSBuild]::IsOSPlatform('OSX')))">
<HintPath>.godot\mono\temp\bin\Debug\Facepunch.Steamworks.Win64.dll</HintPath>
</Reference>
<Reference Include="Facepunch.Steamworks.Win64" Condition="'$(Configuration)' == 'Release' and ($([MSBuild]::IsOSPlatform('Linux')) or $([MSBuild]::IsOSPlatform('OSX')))">
<HintPath>.godot\mono\temp\bin\Release\Facepunch.Steamworks.Win64.dll</HintPath>
</Reference>
</ItemGroup>
The above snippet will add the Facepunch.Steamworks.Win64.dll to the project. This is the library that is used to connect to the Steam API.
public SteamManager SteamManager { get; set; } = new SteamManager();
public override void _Ready()
{
SteamManager._Ready();
}
"It is not working locally"
This Project is Licensed under MIT License. See the LICENSE file for more information.