/Universal-Updater

An easy to use app for installing and updating 3DS homebrew

Primary LanguageC++GNU General Public License v3.0GPL-3.0


An easy to use app for installing and updating 3DS homebrew
Discord Server Build status on GitHub Actions Translation status on Crowdin

Universal-Updater is a homebrew application for the Nintendo 3DS with the intention to make downloading other homebrew simple and easy. No need to manually copy files or go through installation processes, as it does that all for you.

Features

  • A store format with a concept similar to the Cydia Repositories
    • The default is Universal-DB
    • Want to add more? Go to settings, choose "Select Unistore", click the + icon and select one from the list, enter a URL, or scan a QR code
  • Customization in sorting and display
    • Several sorting keys: "Title", "Author", and "Last Updated"
    • Direction can be Ascending or Descending
    • App display can be shown in either a grid or rows
  • Background installation so you can keep using the rest of the app while installing
  • Searching and markings to make finding apps easy
  • Viewing screenshots and release notes for apps
  • Shortcuts for easily updating frequently updated apps when using the Homebrew Launcher
  • Translations for users of many languages
    • To contribute to translations, join our Crowdin project
    • To request a new language, join our Discord Server or contact a project manager on Crowdin

Compilation

Setting up your environment

To build Universal-Updater from source, you will need to install devkitARM and some libraries. Follow devkitPro's Getting Started page to install pacman, then run the following command to install everything you need:

(sudo dkp-)pacman -S 3ds-dev 3ds-curl 3ds-bzip2 3ds-liblzma

(The sudo dkp- may not be needed depending on your OS)

You will also need bannertool and makerom in your PATH.

Cloning the repository

To download the source you will need to clone the repository with submodules, this can be done by running:

git clone --recursive https://github.com/Universal-Team/Universal-Updater.git

If you've already cloned it, you can use the following command to update all of the submodules:

git submodule update --init --recursive

Building

Once you've cloned the repository (with submodules), simply run make in the root of the repository.

If you're testing in Citra, run make citra instead of just make to disable the Wi-Fi check. (Note: source/utils/download.cpp must be rebuilt for this to take affect, save the file if it's already been built)

Screenshots

Screenshots

Entry info Download list Queue menu Search menu Sorting and Filters menu Settings menu Marking menu Viewing a screenshot Viewing release notes The menu in list mode Language selection menu UniStore selection menu Recommended UniStores menu ="Auto-Update settings menu GUI settings menu Directory settings menu Directory selection menu Credits menu

Credits