Coder Social home page Coder Social logo

GodotSteam for Godot Engine

An open-source and fully functional Steamworks SDK / API module and plug-in for the Godot Game Engine (version 4.x). For the Windows, Linux, and Mac platforms.

Additional Flavors

Pre-Compiles Plug-ins Server Examples/Demos
Godot 2.x GDNative Server 3.x Godot 3.x
Godot 3.x GDExtension Server 4.x Godot 4.x
Godot 4.x --- GDNative Server 3.x
Multiplayer Peer --- GDExtension Server 4.x

Documentation

Documentation is available here. You can also check out the Search Help section inside Godot Engine after compiling it with GodotSteam.

Feel free to chat with us about GodotSteam on the CoaguCo Discord server.

Current Build

You can download pre-compiled versions of this repo here.

Version 4.8 Changes

  • Added: Steam Matchmaking response handlers, thanks to jeremybeier
  • Added: all missing Messages and Sockets constants
  • Changed: Networking Messages, Sockets, and Utils now use Steam IDs instead of identity system
  • Changed: UserUGCListSortOrder enums for readability
  • Changed: UGCContentDescriptorID enums for readability
  • Changed: getResultStatus() now returns the integer / enum
  • Changed: cleaned up addItemPreviewFile(), check_file_signature, and showGamepadTextInput()
  • Changed: various bits and pieces
  • Changed: IP logic for all related functions
  • Changed: addFavoriteGame(), initiateGameConnection(), terminateGameConnection(), and removeFavoriteGame() now take strings for IP
  • Changed: getAuthSessionTicket() now defaults to 0 for Steam ID
  • Changed: IP address now accepted instead of IP references
  • Fixed: getFriendCount() has correct bit-wise value
  • Fixed: server browser functionality, thanks to jeremybeier
  • Fixed: wrong string IP conversions, thanks to jeremybeier
  • Fixed: server list request filters, thanks to jeremybeier
  • Fixed: typo with UGC_MATCHING_UGC_TYPE_ITEMS enum
  • Fixed: minor case issue with Workshop enums
  • Fixed: playerDetails(), requestFavoritesServerList(), requestInternetServerList(), requestSpectatorServerList(), requestFriendsServerList(), requestHistoryServerList(), and pingServer(), thanks to jeremybeier
  • Fixed: regressions caused by minor update
  • Fixed: typo with NETWORKING_CONFIG_TYPE_STRING enum
  • Fixed: typo with LOBBY_COMPARISON_EQUAL_TO_GREATER_THAN
  • Fixed: in-editor docs
  • Removed: Networking Types identity system and related bits
  • Removed: P2P Networking constants as they are duplicates of the P2PSend enum
  • Removed: previous, non-functioning Matchmaking Server call results
  • Removed: getIdentity() as it is redundant now

You can read more change-logs here.

Compatibility

While rare, sometimes Steamworks SDK updates will break compatilibity with older GodotSteam versions. Any compatability breaks are noted below. Newer API files (dll, so, dylib) should still work for older versions.

Steamworks SDK Version GodotSteam Version
1.59 or newer 4.6 or newer
1.58a or older 4.5.4 or older

Versions of GodotSteam that have compatibility breaks introduced.

GodotSteam Version Broken Compatibility
4.8 Networking identity system removed, replaced with Steam IDs

Known Issues

  • Steam overlay will not work when running your game from the editor if you are using Forward+ as the renderer. It does work with Compatibility though. Your exported project will work perfectly fine in the Steam client, however.
  • Using MinGW causes crashes. I strongly recommend you do not use MinGW to compile at this time.

"Quick" How-To

For complete instructions on how to build the Godot 4.x version of GodotSteam scratch, please refer to our documentation's 'How-To Modules' section. It will have the most up-to-date information.

Alternatively, you can just download the pre-compiled versions in our Releases section and skip compiling it yourself!

Donate

Pull-requests are the best way to help the project out but you can also donate through Github Sponsors!

License

MIT license

GodotSteam's Projects

godotsteam icon godotsteam

An open-source and fully functional Steamworks SDK / API module and plug-in for the Godot Game Engine.

godotsteam-server icon godotsteam-server

The dedicated server builds for GodotSteam, an open-source and fully functional Steamworks SDK / API module and plug-in for the Godot Game Engine.

skillet icon skillet

The development repo for the GodotSteam open-source game, Skillet. Designed to showcase the features of GodotSteam.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.