0 of 0

File information

Last updated

Original upload

Created by

rzkyif AKA rykz

Uploaded by

rzkyif

Virus scan

Safe to use

About this mod

An MCM equivalent for Skyrim Platform plugins.

Requirements
Permissions and credits
Donations
If you use Mod Organizer 2, read the note below!


This plugin is currently in the BETA stage.

It's mostly functional but it might still have some bugs.

Always use the latest version!
This plugin should be safe to cleanly update from any version to another.
Just remove all old files and install the new ones.


This plugin does not support Skyrim Anniversary Edition (1.6+)
This is because Skyrim Platform itself is not updated yet.



If you would like to support me in developing this plugin:




DESCRIPTION

For Skyrim Platform plugin developers, it's usually a hard thing to make user friendly configurations. The settings API provided by Skyrim Platform uses a JSON file structure, which doesn't really allow comments to help users edit their settings file. On the other hand, making an MCM menu will force the plugin they're making to include an .ESP/.ESL and some MCM Papyrus scripts, which is quite annoying for developers who want their plugins to just be very lightweight and safe to enable/disable/update throughout a playthrough.

That is why I made SPCM: An extension to Skyrim Platform's settings API which will make it easier for users to configure Skyrim Platform plugins, and for developers to make user friendly configuration menus.


FEATURES

FOR PLUGIN USERS
  • Configure your Skyrim Platform plugins from inside the game.
  • One hotkey and one menu to configure all your Skyrim Platform plugins.
  • Can also edit settings files of plugins that doesn't have an SPCM file.
  • All inputs are automatically checked in a way that makes it hard for you to make a mistake.
  • No .ESM/.ESP/.ESL/.DLL/Papyrus, so it's safe to enable/disable/update without breaking your save.
  • You can test out the latest UI live demo here. The images on this page might be outdated.

FOR PLUGIN DEVELOPERS
  • Easily setup a configuration interface for users by only adding a single, clearly structured JSON file: the SPCM file.
  • Integrated with Skyrim Platform's included settings API.
  • Supports input assistance and checking for multiple setting types: keybinds, booleans, lists, maps, and more.
  • Will be updated in a way that is as backwards-compatible as possible. (i.e. your SPCM file won't suddenly break)
  • Doesn't negatively impact users who doesn't use SPCM: they won't notice a single thing except an extra file.
  • Localization support: translators can easily provide alternative versions of your SPCM file.
  • The source code is available here, a compatibility guide is provided here, and examples can be found in the installer or here. You can also generate a template for your own SPCM file from your settings file with this tool I made.


HOW TO USE

  • Press the Home key to open the menu, edit any setting, then press Save. 
  • You can right click on any setting to revert them to their initial values (in the unedited settings file) or to their default value (provided by plugin developers).
  • You can use the menu or edit the settings file to change the menu key to anything you like.


COMPATIBILITY

  • Skyrim AE (1.6.xxx) is currently not supported.
    Skyrim Platform is currently only for SE. Once it is updated, this plugin should be instantly compatible or easy to update.
  • Skyrim Platform plugins that doesn't support hot-reloading may not compatible.
    Currently in Skyrim Platform, changing a setting for one plugin will force a reload on all plugins. If some of your plugins are poorly written or are not designed to support ingame hot-reloading, there's a chance that that plugin will have some issues. You might be able to fix these issues by saving the game and then reloading, but it really depends on the plugin.
  • Everything else should be compatible.
    This plugin doesn't touch anything in the game. It only provides a user interface for you to edit your Skyrim Platform plugins' configurations.


NOTES FOR MOD ORGANIZER 2 USERS

If you use Mod Organizer 2, this plugin has to be the first mod in your mod list that includes a Data/Platform/Plugins folder. Generally, this means that this plugin has to be put above other mods that includes a Skyrim Platform plugin in your mod list. 

If you don't do this, SPCM will still edit settings files but not initiate a global plugin reload until you edit the settings file of the first mod in your mod list that includes a Data/Platform/Plugins folder. This is due to a bug in Skyrim Platform's hot-reload detection system.


HOW DOES IT WORK?

  • The plugin scans your Data/Platform/Plugins directory for files ending with "-settings.txt".
  • For every settings file, it then checks if there are any companion SPCM file in the Data/Platform/SPCM directory.
  • IF IT FINDS ANY: It processes the settings file together with the SPCM file, producing the menus you see in the SPCM menu. This type of menu is highly detailed and only includes settings that the plugin developers want you to see.
  • IF IT DOESN'T FIND ANY: It processes the settings file alone, producing hidden non-SPCM menus in the SPCM menu. This type of menu can still be edited, but only includes settings whose value types can be guessed by SPCM.
  • While you edit some settings in the SPCM menu, it doesn't automatically save. All changes are reverted if you close the menu without pressing the Save button or if you press the Revert button.
  • Only when you press the Save button does the plugin create a backup for the related settings file in the Data/Platform/SPCM/Backups directory, get a list of all edited settings (the ones marked yellow), and apply ONLY THOSE SETTINGS to the actual settings file.
  • The plugin will then reload the modified settings file so that the menus show the latest data.


DISCLAIMER

This plugin literally only reads and writes Skyrim Platform settings files. It even creates a backup before it makes any changes. If this plugin somehow still breaks anything at all, I claim no responsibility and will provide no assistance on how to fix them.