- 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
- Update the version of funchook used on Linux which should mitigate
Failed to execute VirtualQuery
crashes - 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)
- Update the version of funchook used on Linux which should mitigate
- 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)
- 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
- Remove CheatManagerPatch since Fly is now supported in vanilla
- 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
- 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
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 (401983a2414a6a8463501ce9d971ab78b9819b1c)
- Save Metadata header no longer writes indents (7c58bf736947d0f18d0083e482d9206f4a7c3849)
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
- Update 5 (CL173618) compatibility
- Placeholder assets updated to Update 5 content
- Placeholder meshes, textures, animations
- Updated Factory materials
- Show display name for enums in configs
- Make config tooltips multiline
- Config slider fixes
- Add RequiresWorldReload to config properties, defaults to true
- Mods can handle the property change without reloading and set RequiresWorldReload to false if needed
- Center Alpakit item buttons vertically
- Rename
Alpakit All
toAlpakit Selected
- Add
Check All
andCheck None
buttons to Alpakit
- Fixed multiplayer crash
- CL151773 compatibility
- Correctly initialize world modules on clients
- Fixed "Skip Tutorial" option not working correctly
- Added more descriptive error messages to content registry
- Fixed asset selection in asset dumper
- Reworked Modded Subsystems API
- Fixed a crash occuring when closing the game sometimes
- Fixed Mod Config Widget ScrollList
- Fixed Config Widget saving
- Fixed SML version in main menu
Install Instructions
- Don't manually install this! Use the new automatic launcher!
Changelog
- New module system
- New mod loading
- Content registry
- And more!
Install Instructions
- Don't manually install this! Use the new automatic launcher!
Changelog
- mod subsystems
- chat command system
- hooking fixes
- serialization fixes
- fixed for latest experimental
Install Instructions
- Don't manually install this! Use the automatic launcher!
Changelog
- Added asset dumper + generator
- Added default values for all classes
- Added ability to add research trees
- Updated for Experimental
- Fixed dependencies
- Alpakit generates data.json
Install Instructions
- Don't manually install this! Use the new automatic launcher!
Changelog
- New and improved SML!
- Proper UE4 coding, no need for the old c++ modding!
- Better interface from C++ to paks!
- And so much more!
Thank you everyone for sticking with us for the last 8 months as we release this brand new version of SML with far more functionality!
~ The SML Team
- Added new config for toggling the crash report disabler
- If you disable the crash report disabler, make sure that you alt+F4 out of the crash reporter so Coffee Stain Studios don't get your modded crash.
- Added new config for unsafe mode
- Unsafe mode allows you to bypass all crashes. You can't report any bugs with this on!
- Added more logging to debug mode
- Added new hooks
- Added events for loading for DLL mods to do things as SML is loading
- Added a new actor to the pak loader,
InitMenu
. InitMenu allows you to run code when Satisfactory is in the menu level. - Added new events to the pak loader
DebugModeEnabled
: Called if SML's debug mode is enabled. For both InitMod and InitMenu.FirstMenuLoad
Called if this is the first time that the main menu is shown (When the user loads the game for the first time). For InitMenu only!
- Optimized the pak loader
- Added ensures when the game quits to alert if coremods are present, memory editing happened, or if unsafe mode is active.
- You cannot submit bug reports if any of these 3 things are active.
- Fixed the log file
- Fixed the major bug causing SML to be delayed by 6 months
- Added Functions::setDependsOnPak() scans the Paks folder to make sure that the user has the specified pak installed
- Added functionality for automatically creating .sig files on startup
- Added functionality for automatically disabling the crash reporter upon startup and enabling it upon exit.
- Fixed delayed coremod loading
- Removed the future version checker because it was causing more issues than it was fixing
- Updated SDK
- Integrated SPL into SML. Any mods that used SPL can now use SML. Do note that any schematic loading that you may wish to do needs to be done in PostInit instead of PreInit now.
- Added basic memory editing functionality for advanced mod authors who wish to directly modify the game memory. Do note that directly modifying the memory may lead to the game becoming unstable.
- Got things ready for a 1.0.0 release
- Fixed issue where the game didn't load at all (hotpatched into pr6)
- Fixed a lot of bugs
- Added even more bugs
- Added coremod support. Any dll in the coremods folder will be loaded at launch. Adding coremods will invalidate any SML bug report because it's hard to determine if SML or the coremod has the problem.
- Added new version checking code so people stop bothering me whenever the game is out of date. Now it only throws an error when you install a version of SML that is updated beyond your Satisfactory version.
- Added warning and error macros for ExampleMod.
- Added wrappers for addRecipe and loadObjectFromPak.
- Changed spawn actor commands to return the object that they spawned.
- Updated the SDK.
- Shortened compile times dramatically. The first time you compile the project it will take 5 mins, but after that it will take shorter than 2 mins.
- Made the executable 7 times smaller (3800KB to 500KB)
- Fixed chat commands and hooks not working.
- Fixed a bunch of typos in ExampleMod.
- Added asset loading from paks!
- Added utilities around asset loading such as the ability to give the player items, load new recipes, and place new entities.
- Added new math functions and constructors for FVector and FRotator
- Added Doxygen documentation for easy use! Find the stable docs here and the cutting edge docs here!
- Made SML store common variables such as the global world, player character, and player controller for easy use and access.
- Updated the SDK version
- Updated to the latest experimental version of satisfactory
- Refactored a lot of the code
- Removed the submodule from the code and just added it to the repo to make it easier to clone.
Remarks
With this huge new update, you are able to create custom buildings in Unreal Engine and add them directly to the game! I really hope this brings modding to new heights as we work together with creating something incredible.
- Added namespaces to make it clear where everything was coming from
- Update version checking code to allow for usage with experimental versions of satisfactory
- Add parameters to command functions so mods can detect the parameters after a command
- Fixed configs for SML
- Added UWorld::Tick() function for modders to use (Use with caution!)
Features
- Automatic mod loading when the game is started
- Simple to understand mod environment included with the SML source
- Redirection of Satisfactory functions to mods as events
- Easy command registration
- Mod dependencies and relationships through the mod function registry
Note: SML has not been tested in multiplayer and unexpected behavior might occur.
Notable issues
- Logs are still broken
- Configs for mods are not functioning properly
Items per page:
1 – 31 of 31