Releases: satisfactorymodding/SatisfactoryModLoader
SatisfactoryModLoader Release 3.9.0
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
For Users
- In multiplayer, clients now check what mods are installed on the host and will block joining if required mods are missing on the server.
- The existing
RequiredOnRemote
andRemoteVersionRange
uplugin fields control this behavior. - Note: It is still not possible to join a server with SML as a client without SML.
- The existing
- Update unlocked research trees on world load (#286)
- Previously, modded research trees could end up locked if you had already unlocked their prerequisites before installing the mod
- Fixed alignment of SML version number text in the main menu and pause menu
For Mod Developers
Mod developers, be sure to read the guide we wrote to help you update your mods and modding environment!
https://docs.ficsit.app/satisfactory-modding/latest/Development/UpdatingToNewVersions.html
- Updated project:
- Content stubs to CL382498
- Headers to CL383729
- SML Functionality
- Only mark vanilla content as EGameObjectRegistrationFlags::BuiltIn, fixing schematic registration failure when mods CDO edit vanilla schematics to on modded schematics (#319)
- Hooking
- Reworked BlueprintHookManager to better-prevent hooks from corrupting the code or each other (#320)
- Extended BlueprintHookManager functionality, additional code comment documentation (#325) (e0988f5)
- NativeHookManager: Add more "explicit" hook macros (#303)
- These changes affect mods using some old BlueprintHookManager features, see the updating guide for more info.
- Fixed SML Item tooltip feature adding to the header section instead of the description section (#304)
- Support for automatically executing Unreal console commands on game launch using Unreal Engine's
ExecCmds
launch argument (#330)
- Example Mod
- Editor utilities and functionality
- Alpakit
Full Changelog: v3.8.0...v3.9.0
SatisfactoryModLoader Release 3.8.0
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
Highlights
- Satisfactory 1.0 release support
- Updated project to CL368883
- Content Tag registry for mod content
- Fix Mod Savegame Settings not syncing on load
- Add mod game version range
- Support client/server-only mods
- Fix
VirtualQuery
crash during function hooking - Improved Alpakit UI for development and release modes
For Mod Developers
Mod developers, be sure to read the guide we wrote to help you update your mods and modding environment!
https://docs-dev.ficsit.app/satisfactory-modding/latest/Development/UpdatingFromSml37.html
Full Changelog: v3.7.0...v3.8.0
SatisfactoryModLoader Release 3.7.0
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
Changelog
Mod developers, be sure to read the guide we wrote to help you update your mods and modding environment!
https://docs-dev.ficsit.app/satisfactory-modding/latest/Development/UpdatingFromSml36.html
- Alpakit
- New "Alpakit Dev" and "Alpakit Release" functionality
- Dev will build for only the targets you have selected for your testing and run your after-package tasks
- Release will build for all targets the mod is marked as supporting and will create the multi-target upload zip
- New after-launch task type: custom. Execute a system command (such as running a batch file) after packaging completes.
- Ability to package for Linux Server and Windows Server Targets
- Added informative tooltips to most UI elements
- Updated CPPAndBlueprintBlank template's
.Build.cs
- New "Alpakit Dev" and "Alpakit Release" functionality
- SML
- Skip delivering chat messages sent too early that would otherwise crash a client, error logging them instead
- Fixed black-on-gray text in Class Selector config option widget caused by UE5 default styling changes
- Add SML_API to LogNativeHookManager (#127)
- Starter Project
- Correct missed connection in FactoryBaked material (#249)
- Content Registry
- Fixed that the IncludeNonSolid flag didn't do anything (#246)
- Update repository credits file (#247)
Full Changelog: v3.6.1...v3.7.0
SatisfactoryModLoader Release 3.6.1
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
Changelog
- Updated project to CL269772
- Content Registry
- Fix ContentRegistry callstack being requested even when log would not be printed - noticeable performance improvement for save loads, especially on Linux
- Fix crash on load when schematic that was previously registered is now not registered
- Propagate BuiltIn flag for Content Registry
- Do not add Implicit flag if the object was already explicitly registered
- Fixed EGetObtainableItemDescriptorsFlags not applying correctly
- Capture git stderr to avoid "fatal" being printed in logs, causing a crash that would prevent building the project
- Remove CheatManagerPatch since Fly is now supported in vanilla
- Alpakit
- Fix crashes when editing mod dependencies in the Alpakit wizard
- Don't write optional .pulugin fields unless their values were modified from the default
- Add a persistent button that can be used to open the Alpakit Log (previously it was only accessible by clicking the link in the busy status message)
Full Changelog: v3.6.0...v3.6.1
SatisfactoryModLoader Release 3.6.0
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
Changelog
- Updated project to CL264901
- Updated to funchook version 2.0.0 to improve error messages produced by a crash when no memory address is valid for the trampoline
- Additional editor-time checks for recipes referencing null items and schematics referencing null recipes
- Completely new implementation of the content registry, allowing removing vanilla schematics and research trees
- Improvements in editor support of SML systems
- Add support for unhooking functions
- Updated and improved material stubs
- Rework Alpakit to require no engine modifications
Full Changelog: v3.5.1...v3.6.0
For Mod Developers
Read the guide we wrote to summarize new features and help you update your mod!
https://docs-dev.ficsit.app/satisfactory-modding/latest/Development/UpdatingFromSml35.html
SatisfactoryModLoader Release 3.5.1
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
Changelog
- Updated project to CL247367
- Remember the last selected mod in the Mods menu
- Fix Mods and Mod Savegame Settings buttons making clicking sounds when opening the pause menu/main menu
- Auto-focus the category search box in the Mod Savegame Settings widget
- Auto-focus the setings search box in the Mod Savegame Settings widget after selecting a category
- Auto-select the top result when pressing enter in Mods or Mod Savegame Settings search boxes
- Fix Widget_ModList log spam in editor
- Use wrap box for node item cost display in research tree editor
SatisfactoryModLoader Release 3.5.0
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
Highlights
- Unreal Engine 5 support
- Updated project to CL240610
- Mods are now placed in the Mods folder instead of the Plugins folder
- Added per-save mod settings: Mod Savegame Settings (or "Session Settings")
- Configured at game creation, or mid-game from the pause menu's Mod Savegame Settings button
- Replaced
enableCheatConsoleCommands
by "Force Enable Cheats" Mod Savegame Setting - Added mod custom game maps support with a custom New Game menu
- Map selection only appears when there is more than one map to pick from
- 'Mods' button is now integrated in the game's pause menu list (below Server Manager) instead of below the Respawn button
- Localization support for SML, SMLEditor, and ExampleMod. If you'd like to translate, join the Discord and grab the translator role from #rules then check out the channels that grants.
- Removed
-Username
launch argument, UE5 changed the system this argument used to function and a replacement has not yet been created - Fixed VRAM leak from retrieving a mod's icon multiple times
- Added
enableFunchookLogging
config option added to enable troubleshooting rare crash
For Mod Developers
Read the guide we wrote to summarize new features and help you update your mod!
https://docs-dev.ficsit.app/satisfactory-modding/latest/Development/UpdatingFromSml34.html
- Added mod creation and uplugin editing wizard with template support in Alpakit. Use this now instead of New Plugin and editing the uplugin manually.
- Mods can offer their own templates
- New Research Tree Editor utility included in SMLEditor
- Numerous extra examples in ExampleMod, including multiplayer compatibility code samples, research trees, and a custom level
- New utility - Blueprint Simple Construction Script hooks (docs)
- New utility - Widget Blueprint hooks (docs)
- New utility blueprint nodes (docs)
- Sort Array (via comparator function)
- Find Parent Widget of Class (for use in widget blueprint hooking)
- Find Child Widgets of Class (for use in widget blueprint hooking)
- SML Debugger additions:
-WaitForDebugger
, break on ensure and error (-NoExceptionHandler
recommended when using debugger) - Added Exploration Resource Sink track DataTable support
- Fixed struct reflection passing UScriptStruct* instead of struct pointer
- Fixed generated mod config structs being unusable
- Enable bCanEverTick on blueprints implementing Factory_Tick
- Improved logging when BindOnBPFunction fails (#172)
- Fixed Alpakit support for nested mods/plugins (ex.
Mods/FolderName/Plugin1
andMods/FolderName/Plugin2
) - Updated C++ module dependencies to silence UBT warnings at build time (#164)
- Prevent UE from launching Steam VR or Oculus VR when opening the starter project
- Moved Utility textures to SMLEditor (a2f3b79)
- Added Mod Module validation (401983a)
- Save Metadata header no longer writes indents (7c58bf7)
Full Changelog: v3.4.1...v3.5.0
SatisfactoryModLoader Release 3.4.1
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
Changelog
- Updated project to CL208572
- Fix crash when toggling cheat fly while character is invalid
- Fix event research trees being added when the event is not running
- Fix SemVer pre-release comparison
- Update ExampleMod to match the new naming conventions
SatisfactoryModLoader Release 3.4.0
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
Changelog
For Users
- Inject a scrollbox to the HUB rewards section so mods that add more than 10 reward items don't cause visual problems. (#136)
- Sort loaded mods alphabetically in the mod menu (#129)
- Adjust width of mod list column to fit longer mod names (#130)
- Add 'Open on Ficsit.app', 'Open Documentation', and 'Get Support' buttons to the mod menu for mods that support it (#136) (#139)
- Remove 'Enum MAX' from displaying as an option for config dropdowns (#124)
- Better mods list placeholder text when first opened (#136)
- Add dynamic colored outline to config spinbox widget text for better readability (#136)
For Mod Devs
The directions here can help you update your mod to Update 6 and SML3.4.0.
- Update project to CL202470
- Fix Widget_CP_NumericText ignoring min/max bounds, and make it play the error value animation when you try to do so. This can break mod configs that were inadvertently relying on this bug! Now, to get an unbounded numeric text entry field, set the max equal to the min. (#136)
- Use
Log<ModReference>
for blueprint logging instead ofLogBlueprintLogging
(#136) - Add scrollbox to Alpakit Mod Entry List (#140)
- Conditionally display "Open Documentation" and "Get Support" buttons on the Mod Config screen if the mod provides DocsURL and SupportURL in their uplugin (#139)
- Copy DocsURL and SupportURL from Plugin Descriptor into Mod Info struct so blueprints can access it
- Add support for tooltips to config CP Section widget - previously the field was silently ignored (#136)
- Add HookOffsetStart bool to BindOnBPFunction (#138)
- Fix for blueprint reflection library (#119)
- Save ModMetadata and missing mod warnings (#128)
- Allow selecting null class in Widget CP Class when the config property allows it (#136)
- Display spinbox number without decimals when the property type is integer (#136)
- Fix String config property widgets not actually being disabled when requiring world reload (#136)
- Fix Enum config property widget assuming BP_ConfigPropertyInteger when CP_Integer also works (#136)
- Fix CP Section not having a space between
SectionHeaderText (SectionDisplayName)
(#136) - Remove minimum height constraints on various config widgets so that you don't have to scroll as far to reach a mod's custom config widget (#136)
Cleanup (#136)
- Add SMLEditor to the uproject file so UE doesn't always mention an update to the uproject file
- Remove build-erroring unused Prop field (#143)
- Add Alpakit exception to .gitignore
- Add plugin Crypto to .gitignore
- Use existing FactoryGame main menu check
- Better feedback + error messages when using the Set Mod Config button in MenuPreviewWidget in SMLEditor
- Replace deprecated UObjectProperty with FObjectProperty in ItemTooltipSubsystem
- Clean up unused 'EditorValueSelection' macro with bad casts and unknown function call
Changes to ExampleMod (#134) (#136)
- Fix Example Building hologram and component structure
- Fix slow build effect on Example Building
- Fix categories on Example Building and Item so they shows up in menus
- Implement PreConstruct WindowDark fix on example UI (see docs for more info)
- Improve example widget displayed info
- Better demo of the functionality of slider/spinbox widgets
- Edit default config values to no longer have them outside of config var min/maxes
- Add Example Item description info on its custom name/description implementations
- Remove crashing chat message call in Example Building code
- Remove Constructor Mk2 from ExampleRecipe builders
SatisfactoryModLoader Release 3.3.2
Install Instructions
- Don't manually install this! Use the Satisfactory Mod Manager!
Changelog
- Updated project to CL194714