JASM is a skin manager for a certain game. Made using WinUI 3 with WinAppSDK. I made this for fun, for myself and to learn WinUI, but it kinda took off over time.
There may be some "GIMI-ModManager" references throughout the app, that is what I originally called this project. I'll change them eventually.
Download link and images are also available over at GameBanana
This is still in an early stage of development. Make backups and use at your own risk ⚠️
Unhandled exceptions are written to the Logs file as well. Debug logging can be enabled in appsettings.json
Latest release can be downloaded either from GameBanana or from the Releases page. To start the app run JASM - Just Another Skin Manager.exe
in JASM/
folder, I suggest creating a shortcut to it.
Latest development release can be downloaded from Actions Tab these are automatically built from the main branch and are '''usually stable''' but not necessarily ⚠️
If you don't have these downloaded the application will prompt you to download necessary dependencies and provide links.
The elevator process is a small program that can be started as an elevated process from the app. It is completely optional and is kind of a niche feature. It is used to send the F10 key to the game to refresh the mods. Enabling and disabling mods in JASM will also automatically refresh the mods. This is done through named pipes. The process does not listen for keybinds it only waits for a simple "1" command from the app. This makes it send the F10 key to the game.
The H.InputSimulator library is used to send keyboard input.
C:\Users\<username>\AppData\Local\JASM\ApplicationData
.JASM_
. When exporting mods, these files can be ignored.If you want to contribute to this project, feel free to do so. I am not a professional developer when it comes to WinUI and I am still actively learning. Contributing CONTRIBUTING.md
The code has progressively gotten more spaghettified over time ;_;
So be aware that the code is not super clean...
I believe this is due to some oddity with WinAppSdk not installing correctly. I do not know what causes this. A temporary (permanent?) solution is to use the self contained version of JASM that does not require WinAppSdk or .NET. See the releases page SelfContainted_JASM_vx.x.x.7z. Ref #72 and #171
Another potential fix if JASM used to work, is to delete the JASM user settings folder. This will wipe your settings i.e. presets, folder paths etc. However, your mods will be untouched as well as the mod settings like custom display name and images. JASM settings are stored here: %localappdata%\JASM
/ C:\Users\<username>\AppData\Local\JASM
. You can start by deleting each game settings folder to see if it helps, alternativly just delete the entire folder. Presets are stored inside the preset folder. Might be a good idea make a backup first.
JASM has basic command line support. As of now the only supported functionality is to start directly into a selected game. If you would like to see more command line options, feel free to open an issue with your suggested use case.
See --help for more information.
Powershell:
.\'JASM - Just Another Skin Manager.exe' --help
# Example: Close the current instance if it is running and start JASM with the selected game
.\'JASM - Just Another Skin Manager.exe' --switch --game genshin
For each page navigated a lot of memory is allocated and not released. This causes the app to quickly use more than 1GB of memory by quickly navigating between pages. This isn't a quick fix. I suggest restarting the app if you notice it getting slow.
From my research WinUI seems to maybe have a memory leak when navigating pages. I am not sure if this is the case or if I am doing something wrong. Most of the memory is unmanaged memory which means a memory profiler won't help much.
As the Elevator gets flagged as malware you'll need to download it manually from the Releases Page