A thin Java wrapper for the Steamworks C++ API.
About
Getting started
Build instructions
Known issues
Showcase
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.
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.
Note: the requirements listed here apply to the most recent version only. Please check the change log for more information.
The prebuilt native libraries of steamworks4j are currently compiled with Steamworks SDK v1.62.
The Java code compiles with Java language level 8.
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 64-bit only.
Support for 32-bit has been dropped since steamworks4j v1.7.0.
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.