:octocat: Free LibGDX Scene2D GUI skins.
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
.github/images Added more info about third-party GUI tools. Jun 13, 2017
arcade Added Arcade UI. #8 Jan 5, 2017
biological-attack Added Biological Attack UI. Dec 12, 2016
clean-crispy Added Clean Crispy UI. Oct 10, 2016
cloud-form Added Cloud Form UI. Aug 29, 2016
comic Added Comic UI. Jul 26, 2016
commodore64 Extracted missing raw assets. Jun 25, 2016
craftacular Added Crafticular skin. Close #2. Jul 19, 2016
default Added note about official libgdx-skins. Jul 3, 2016
expee Extracted missing raw assets. Jun 25, 2016
extras Added Chronos UI to extras. Feb 19, 2017
flat-earth Added Flat Earth UI. Close #7 Nov 11, 2016
flat Added Android warning. May 9, 2016
freezing Added Freezing UI. Nov 14, 2016
gdx-holo Added gdx-holo skin. Close #1 Jun 18, 2016
glassy Added Glassy UI skin. Jul 15, 2016
golden-spiral Added Golden Spiral skin. Aug 8, 2016
holo Added Kenney pixel theme. Apr 27, 2016
kenney-pixel Extracted missing raw assets. Jun 25, 2016
level-plane Added Level Plane UI. Jan 10, 2017
lgdxs Added LDGXS UI. Jan 5, 2017
lml Added initial skins. Apr 23, 2016
metal Added Metal UI. Aug 1, 2016
neon Added Neon UI. Close #3. Aug 15, 2016
neutralizer Added Neutralizer UI. Feb 19, 2017
number-cruncher Added Number Cruncher skin. Close #5. Sep 26, 2016
orange Extracted missing raw assets. Jun 25, 2016
pixthulhu Added Pixthulhu UI skin. Sep 14, 2016
plain-james Updated preview. Jun 28, 2016
quantum-horizon Added Quantum Horizon UI. Oct 4, 2016
rainbow Added Rainbow UI. Close #6. Oct 24, 2016
rusty-robot Added Rusty Robot UI. Aug 25, 2016
sgx Added SGX UI. Apr 26, 2017
shade Extracted missing raw assets. Jun 25, 2016
skin-composer Added Skin Composer UI. Nov 25, 2016
star-soldier Updated preview. Jun 28, 2016
terra-mother Added Terra Mother UI. Oct 16, 2016
tracer Added Tracer UI. Close #8. Jan 5, 2017
tubular Fixed Tubular license. Sep 14, 2016
vhs Added VHS UI. Nov 28, 2016
vis Added initial skins. Apr 23, 2016
.gitignore Added initial skins. Apr 23, 2016
README.md Added more info about third-party GUI tools. Jun 13, 2017

README.md

LibGDX skins

LibGDX comes with a cool Scene2D module, which allows you to easily create your GUIs and customize them with Skin instances. However, most beginners struggle with a problem: there is no default skin attached. Not even a simple one.

One could argue that it's the right approach, as it keeps framework's core jar smaller - but when you're trying to learn a new thing, something is generally better than nothing.

This repository contains something.

DOWNLOAD. ALL OF THEM.

Free assets

You've probably stumbled upon the default LibGDX skin, which was originally created to test Scene2D API in the official LibGDX repository. It's alright, if you want to test things out - but by the time you're making an actual LibGDX application, you're probably better off with something less programmer-art-ish.

This repository collects free skins contributed by various users at some point. The author thought that it would be a good idea to keep this kind of stuff in one place - and not sharing these assets would be pretty selfish, so this one place turned out to be a public GitHub repository.

So here there are: you're free to check out and use some of the free skins created and uploaded by nice people. Some of them might be a helpful base for your custom skin, if you don't like starting from scratch. Hell, some can be used as they are.

Note that the maintainer of this repository does NOT plan to track every single skin out there and post updates as soon as they are available. Most README files include links to the sources - if you're interested in a particular skin, make sure you're using up-to-date assets by yourself. This repository includes skin files for two reasons: original uploads might expire (or be moved) and it's very convenient to download them all at once to try each one out.

Additional resources

Using some skin found in the web is one thing, but customizing it - or creating a new one from scratch - is another. If you're learning Scene2D API, make sure to check out these resources.

Unofficial tools you might not know about

LibGDX Texture Packer GUI

Texture Packer GUI allows to create texture atlases from multiple images. It provides a graphical interface for the official texture packer tool.

IntelliJ LibGDX plugin

IntelliJ LibGDX plugin adds multiple useful LibGDX code inspections and editors for Scene2D-related files (atlases, skins, fonts).

VisUI

VisUI library extends Scene2D with custom widgets and some default skins. Even if you don't like its default theme (or flat design in general), consider including this library for its useful new actors.

Skin Composer

Skin Composer is a graphical application that allows you to create and edit custom Scene2D skins.

gdx-setup

Unofficial gdx-setup application allows to create LibGDX projects. Additionally to most features provided by the official setup application, it allows to include other JVM languages, more third-party libraries and use one of predefined project templates.

Useful links

  • Official Scene2D article. Scene2D UI and Table pages are worth your time as well.
  • Official Skin article.
  • Official texture packer and Hiero tool articles, both of which are useful when preparing Skin assets.
  • Official ninepatches article might help you understand how to make skins that look well when resized.
  • KTX library contains Kotlin utilities for building Scene2D styles and widgets. It can be a great alternative to error-prone .json skin files and overly verbose Java GUI building code.
  • USL library allows you to quickly create JSON files thanks to its simplified, less boilerplate-ish and more powerful syntax. .usl files are meant be compiled to LibGDX .json skin definitions before deploying the application - there is no runtime overhead.
  • LML library makes it easier to create your Scene2D views. Instead of verbose Java syntax, LML allows you to create your GUIs with HTML-like templates packed with powerful macros. With LML, you can separate your GUI layer from application's core logic, and quickly use some easily overlooked LibGDX features (like i18n support) without the usual Java boilerplate. VisUI is also supported in LML thanks to an extension.
  • This article is an amazing introduction into LibGDX GUI tools.
  • GamesFromScratch blog includes a multi-part Scene2D tutorial.
  • Pimentoso Software blog contains a simple Scene2D tutorial.
  • This thread contains TiledNinePatchDrawable, which might be necessary for some GUIs.
  • Apparently, LibGDX team decided to maintain their own similar community-driven project (finally!). It currently contains far less skins, but allows to download them individually and features a live preview. If you want to contribute a new skin here, I strongly suggest you also create a pull request to the official libgdx-skins project.

Tools you might have stumbled upon, but should not use

  • Do NOT use graphical texture packer, unless dealing with legacy LibGDX version: it is not up-to-date and can produce corrupt atlases due to its texture packer version. You're much better off setting up a Gradle task using the latest gdx-tools to pack your atlases (see official texture packer article for more info how to do this) or using the new Texture Packer GUI.
  • gdx-skineditor is a graphical tool that allows to create Skin files. It is not actively maintained, seems to be missing a few features and is known to crash. Use Skin Composer instead.
  • This thread includes JSON highlighter for IntelliJ/Android Studio IDEs. Since LibGDX JSON parser accepts files with optional quotation (and so on), valid Skin files might appear as corrupted JSON files - this highlighter attempts to fix that. However, unofficial IntelliJ LibGDX plugin addresses this problem and provides far more additional features, so you might want to use it instead.

Contributing

Maintainer will gladly accept any pull requests with additional resources - not only new skins, but also useful links and texts. Helping with keeping skin files up-to-date is also appreciated: don't hesitate to leave an issue or create a pull request if any resources are outdated.