steamworks4j

A thin Java wrapper for the Steamworks C++ API.

About
Getting started
Build instructions
Known issues
Showcase


View the Project on GitHub code-disaster/steamworks4j

About

The steamworks4j library enables Java applications to access the Steamworks C++ API. It can be easily integrated with other frameworks, such as libGDX or LWJGL.

Introduction

The Java wrapper is written as minimal as possible without sacrificing ease of use. Its goal is to provide just an accessible Java API to Valve’s C++ interfaces.

The public Java interfaces are - more or less - 1:1 mapped to the native API, as long as this doesn’t impede usability and type safety. In general, all public functions do simple Java to C++ type conversion only, then call their native counterparts.

Callbacks are dealt with in a similar manner. Native callbacks are received by package private callback adapters, which only do type conversion, then forward the callback to their public callback interface.

Technical limitations

Note: the requirements listed here apply to the most recent version only. Please check the change log for more information.

SDK version

The prebuilt native libraries of steamworks4j are currently compiled with Steamworks SDK v1.62.

Java version

The Java code compiles with Java language level 8.

Mac OS

MacOS 64-bit on OS X 10.9 and later. Starting with steamworks4j v1.10.0, binaries support both x86_64 and arm64 architectures.

Support for 32-bit has been dropped since steamworks4j v1.8.0.

Linux

Linux 64-bit only.

Support for 32-bit has been dropped since steamworks4j v1.7.0.

Windows

Both 32 and 64-bit.

The steamworks4j project is released under the MIT license. The steamworks4j packages do not contain any source/header files owned by Valve. The only files included from the Steamworks SDK are the redistributable steam_api runtime libraries to accompany the prebuilt native libraries.