SwitchGDX Switch

From GameBrew
SwitchGDX
Switchgdxnx.png
General
AuthorTheLogicMaster
TypeDevelopments
Version0.2
LicenseGPL-2.0
Last Updated2022/08/28
Links
Download
Website
Source

This is a Nintendo Switch Homebrew and Xbox UWP backend for the LibGDX game framework. It uses the Clearwing VM project to transpile Java to C++ along with custom native bindings for LibGDX.

It supports Nintendo Switch Homebrew builds using LibNX, and Xbox/Windows Store with UWP. See the SwitchGDX thread on the LibGDX Discord server for support.

Features

  • Full GDX Reflection support.
  • GDX Controllers support for all Switch controller layouts.
  • GDX Preferences for persistent data.
  • Desktop builds for debugging with emulated controller inputs.
  • Xbox UWP builds.
  • Supported extensions: FreeType, Controllers, and Box2D.

User guide

Compatibility

The majority of LibGDX is fully supported. A few features such as GL30 and audio recording are currently unsupported.

JVM Languages

Since Clearwing takes Bytecode as an input, it can support any JVM language. The main limitation would be the Clearwing runtime library, which is limited and may not support all required functionality, though this can typically be easily added as needed. Java and Kotlin have been tested and work.

Libraries

Pure Java libraries should work without any extra work, assuming they don't use unsupported runtime library features or JNI. Libraries compiled with a JDK version greater than 8 could also pose an issue. If a library uses JNI, custom native bindings could be provided and things should just work, the shared library loading API has no effect. See Libraries for a list of tested libraries.

Ports

These are some LibGDX games that have been ported using SwitchGDX.

Links

Screenshots

switchgdxnx3.png

switchgdxnx4.png

switchgdxnx5.png

switchgdxnx6.png

switchgdxnx7.png

switchgdxnx8.png

LibGDX library HyperLap2D's example project

switchgdxnx2.png

Changelog

v0.2

  • Multi-controller input, single-threaded Timer, Sound fixes.

v0.1

  • Fix SwitchGDX transitive dependencies.

External links

Advertising: