the Sim Settlements forums!

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Workshop Framework

Modders Toolkit Workshop Framework Kinggath

TLDR: Workshop Framework attempts to open up the settlement system in a way that many mod authors can contribute (and not just coders either! There are tons of things even the greenest mod author can take advantage of). It has immediate benefits to players outlined in the Player Focused Features list below.

Above is a Live Stream I did on release day which talks about some of what this framework can do. You do not have to watch this to understand the mod, the feature list below should explain enough.

If you use the Unofficial Patch - be certain that Workshop Framework comes AFTER it in your load order.

Player Focused Features

  • Faster and more stable Workshop scripts
  • Fixes Pipboy Data screen issues
  • Fixes the "Spectacle Island" problem
  • No DLC requirements
  • New Options via MCM/Holotape
    • > Auto assign controls
    • > Adjust max amount of food and defense settlers can operate
    • > Adjust base robot happiness (eliminate the penalty if you like)
    • > Make robots not count against your max population
    • > and more!

Mod Author Focused Features

  • Rewritten Workshop Scripts - faster and more open
  • Completely backwards compatible* - no property names or function signatures were altered
  • Adjust any workshop value on the fly - no more hard coded variables
  • Simple API for advanced functionality for folks who can only code a little (ex. Dynamically place workshop items like Sim Settlements does with just a few lines of code)
  • 50+ new workshop values you can apply to workshop items to create new more interesting bonuses for players
  • Add your own workshop values for production and consumption with just a single line of code
  • High-capacity, easily expandable threading system
  • New Container System to route production to more than just the Workshop Container
  • Uninstall-safe injection to change workshop production, settler pool, and more
  • Completely open-source and community driven

* Any other mods that altered workshop scripts will break this and are likely incompatible. The exception is the Unofficial Patch which should be placed before this in your load order so that the additional script changes made by Workshop Framework will overwrite the UFO4P versions.

Overall Goal

The goal of Workshop Framework is to open up the settlement system so we can do more interesting things with it.

Adjusting most of the behavior of settlements requires adjusting the Workshop scripts - and as soon as you do that, you are incompatible with all other mods that want to edit that same script. Since the Settlements are controlled with just a few scripts - many things you may have thought would be simple, basically never got made into mods because people don't want to deal with the hassle of having edited vanilla scripts.

No more! Workshop Framework completely rewrites many of the base workshop scripts and introduces tons of hooks, new options, and eliminates most hard-coded variables so that tons of mod authors can release mods editing just the part of the settlement system they want to change.

Easy-to-Use Advanced Systems

On top of opening up the scripts, I've added several advanced systems presented in a simple way, so that even people without a massive programming background can contribute new mods and functionality that add very powerful changes to settlements. For example, much of the code that makes the Sim Settlements City Plan's work is now a core system in Workshop Framework so that anyone with a little bit of coding experience can dynamically place large swathes of objects in a settlement on the fly!

Design Philosophy

When designing this, it was important to me that the core gameplay functionality of settlements is completely unaltered by this framework. If you install this in your game, you should notice no difference other than the few bugs it fixes and an overall performance increase with settlement related activities. All gameplay options are left intact, and always will be.

That said, somethings will work wildly different behind the scenes in order to open new options for adjustment, so while players can safely install this without thinking about it, if you are a mod author - you are likely very concerned about what this is doing! So to alleviate your fears, I offer the following:

- I have not altered any vanilla property or function signatures. If you are currently expecting a function or property from the existing workshop scripts - it's still there, so your code will not break.

- I will never alter property names or function signatures of anything in Workshop Framework now that it is released. Any time I'm forced to adjust a function, I will leave the original version in tact and simply point it to the updated version. This way you can be confident your mods based on WSFW will continue to work from version to version.

- I will do everything in my power to keep this code bug-free, and am open to suggestions and improvements to the code base so that we can all have a flexible, powerful core to work from.


For complete documentation, head to the Github repo.

Open Source and Permissions

While this is open-source, and anyone has permission to make use of pieces of code found inside of these scripts, please do not release new versions of the exact same named scripts, or release things based on the code that would interfere with what this mod is trying to achieve. The idea is that this framework will become a central staple we can all build on without compatibility issues.

The Future

- Continue Improving the speed and stability of the Workshop scripts.
- Flesh out and expand the API.
- Add more hooks to allow doing other things the community dreams up (drop by the Github repo to join in the discussion or even get in on the development!).
- Add additional advanced systems that more mod authors can take advantage of to add extra functionality to their mods without the need for a programming background.

Special Thanks

1000101 - For helping me develop the threading system and allowing me to use his thread locking code!
Arthmoor and the rest of the Unofficial Patch team for allowing me to use their Workshop fixes!

Woodfuzzy, Krazyhorse, and Moonbeam for testing the crap out of this so I could feel comfortable releasing it...
First release
Last update
0.00 star(s) 0 ratings

More resources from GA_Darkerside