Giter Club home page Giter Club logo

steamworks.net's Introduction

Steamworks.NET

Steamworks.NET is a C# Wrapper for Valve's Steamworks API, it can be used either with Unity or your C# based Application. This project relies on dynamic libraries created by CSteamworks. (Prebuilt and included for ease of use)

Steamworks.NET was designed to be as close as possible to the original C++ API, as such the documentation provided from Valve largely covers usage of Steamworks.NET. Niceties and C# Idioms can be easily implemented on top of Steamworks.NET.

Steamworks.NET currently supports Windows, OSX, and Linux in both 32 and 64bit varieties. Currently building against Steamworks SDK 1.29a.

Support via Gittip Support via Paypal

Support via Flattr

Usage

To use Steamworks.NET you must be a Steamworks developer. Steamworks.NET requires Unity Pro for the plugin functionality.

  • Clone or download a Zip Archive: Stable (3.0.0) -- Master (Cutting-edge)
  • Extract and copy Steamworks.NET's Plugins/ and Editor/ folders into your Assets/ folder.
  • Open Plugins/Steamworks.NET/redist/steam_appid.txt and replace 480 with your own AppId.
  • Launch your Unity project. It should copy steam_appid.txt (and steam_api.dll if your on windows) into the root of your project.
  • Close Unity and relaunch the project so that it loads the newly copied steam_appid.txt & steam_api.dll.
Samples

Check out these sample projects to get started:

Not using Unity?

If you are not using Unity then you have two available routes that you could take.

  • A: Copy Plugins/Steamworks.NET into your C# project. In Visual Studio open your project properties, change to the Build tab and define STEAMWORKS_WIN or STEAMWORKS_LIN_OSX globally via Conditional compilation symbols.
  • This is only recommended if your binary is not portable across platforms already. If you ship on multiple platforms you must have multiple build targets for each platforms. Please prefer the second route.
  • B: The peferable route is to build the standalone assemblies, with the project file located in Standalone/. Alternatively you can download the prebuilt binaries (2.0.0).
  • Further instructions are provided by the README.md in the Standalone/ folder.

Using Steam Encrypted App Ticket?

If you wish to use the functions from sdkencryptedappticket.dll then you will need to manually place the dll/so/dylib in the following location:

  • Windows: Next to steam_api.dll
  • OSX: In /Contents/Frameworks/MonoEmbedRuntime/osx/
  • Linux: Next to CSteamworks.so

sdkencryptedappticket.dll can be found in the Steamworks SDK.

Limitations

  • Steamworks.NET does not currently support ISteamAppTicket or ISteamGameCoordinator.
  • The following Interfaces are largely untested (but should be completely functional):
ISteamAppsList
ISteamMatchmaking
ISteamMusic
ISteamNetworking
ISteamUGC
ISteamUnifiedMessages
ISteamGameServer
  • The following are Unity specific issues and are out of our control, ALL Steamworks wrappers for Unity experience these issues.
  • When used from within the Unity Editor, Steam will think you are in game constantly. This is normal and does not effect usage.
  • The Overlay only works when launched from Steam directly. (A small number of Steamworks features (such as the Steam Controller) rely on the overlay being present. Prefer using a Local Content Server for testing.)

steamworks.net's People

Contributors

rlabrecque avatar martindevans avatar

Watchers

Andrea avatar James Cloos avatar

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.