It's time for another SkyTemple 1.6 pre-release. This time I present you the first beta release.
Last time I said that there were probably no more bigger features being added, but turns out that
SkyTemple now has a plugin system! It was technically already possible to install plugins before
with the development version, but now the release version of SkyTemple supports loading plugins as
well. You can find more information in our wiki.
Plugin developers will find a
guide for writing plugins
and an example plugin.
Please take this example plugin as reference for extending the UI of SkyTemple, as 1.6.0b1 also
changes how the UI is extended from modules, rendering the old mechanisms deprecated. The example
plugin already uses the new mechanism, while the majority of bundled module still use the old
mechanism. See below for more information.
Preperations for GTK 4
SkyTemple is using a UI toolkit named GTK for its interface. A few years ago GTK 4 released
and SkyTemple is still on GTK 3.
GTK 4 is a major release that has greater backwards incompatibilities with GTK 3, but it also
has some powerful new features which will improvde the usability of SkyTemple greatly.
As a prepreation some internal changes were made to how the UI is constructed. We require
your help to test this release since these changes were pretty intrusive and could potentially
break in subtle ways. However we already did some testing and so far everything seems fine, but
please report any issues you come across.
Some technical details (feel free to skip):
Previously SkyTemple modules directly modified the tree of items on the left side of the UI
(the one where you select what you want to edit). This was directly done through the
model of the
TreeView has been deprecated in GTK 4 and been replaced by more
modern widgets. In order to prepare for this modules now instead an abstracted API to add views
to the UI.
Additionally modules previously added classes of type
AbstractController to the
tree. This was quite bulky and used
Gtk.Builder manually to render UI scenes instead of
taking advantages of features like
Gtk.Template. This has now been deprecated and modules
should directly add subclasses of
Gtk.Widget. Those should preferably been initialized using
Gtk.Template. The only method still works but is expected to be removed with SkyTemple 2.0,
which will finalize the GTK 4 migration. At the moment we are slowly migrating every controller
to a widget.
Plugin authors should make sure to only use widgets present in GTK 4 to prepare for the change and
to directly add
Gtk.Widgets to the UI tree.
As a sneak peak, here's an early preview of the UI of the Randomizer running GTK 4. The Randomizer
will get its GTK 4 upgrade first.
GTK 4 and especially the extension "Libadwaita" that SkyTemple and the Randomizer will use support
adaptive/responsive window sizes, which will solve a lot of the current window siziing issues
SkyTemple and the Randomizer currently use.
Adex, Laioxy and others have taken great steps to get more support for the japanese ROM. We now
have all symbols needed and Adex is working on getting the patches working. Hopefully we will
be able to support the japanese ROM in the next release.
Additionally Laioxy and a few others have started translating the UI of SkyTemple to japanese
and japanese can now be selected as language.
Download and Changelog
You can find the changelog and downloads on our downloads page.
This is now probably really the last features added to the 1.6. release.
The only things that I expect to be added is support for the japanese ROM and
the buttons to get help from the wiki I mentioned last time. Those things
should be in the release candidate, which will likely be the next and final
Thanks everyone for making this pre-release possible, especially Adex and Laioxy
who have been working hard for getting support for the japenese ROM in the next