SKK Workshop Utilities corrupt workshop lists
WORKSHOP LIST CORRUPTIONS
The master list of workshops managed by the WorkshopParent quest script can become corrupt for many and varied reasons:
(1) Mods that improperly register a new improperly configured workshop.
(2) Trying to register more than 128 workshops (a Papyrus script array limit).
(3) Mods that mess with base game workshop scripts or Workshop IDs.
(4) Moving a workshop to a different cell/location that doesn’t have the right location keywords and is different to that recorded in WorkshopScript and WorkshopParentScript.
(5) Overlapping workshop tagged world locations. A cell can only belong to one location and a location can only be assigned to one workshop, else the WorkshopParentScript.Workshops and WorkshopParentScript.Locations arrays will not align.
(6) Removing a mod that has added a script registered workshop so the WorkshopParentScript.Workshops and WorkshopParentScript.Locations arrays have holes.
(7) Overwriting workshop location information with other location/cell changes later in the load order that unflag the workshop location and/or change its name. A workshop gets it name from the Location record.
(8) Changing workshop attributes with the console when you have no actual idea what you are doing. The classic incorrect brute force [setpv OwnedByPlayer True] that is constantly cited on reddit IS WRONG, the actual command would be [cf “WorkshopScript.SetOwnedByPlayer” 1] For.Fucks.Sake.
Some symptoms are:
> Resources not being assigned or produced correctly.
> Quests and messages report […] Location.
> Workshop is not on the assign caravan, move settler or dismiss companion list.
> Base game scripts and mods that use GetWorkshopFromLocation() or IsWithinBuildableArea() fail to work, including the ultra critical WorkshopParentScript.ResetWorkshop function that manages workshop resources.
SKK Workshop Ownership Utilities mod can help expose problems if you run [ Detect Workshop Parent Issues ] holotape option. When missing or mismatched workshop ID and Location lists are detected, it will try and figure out where in the list of 30+ workshops the break or misalignment started, and report those workshop location names that seem to be causing the error:
Version 008 onwards of the mod includes a repair option which will try to clean and align the lists. As workshop IDs can not be changed (many many reasons) any holes that can not be repaired because (for example) the original mod injected workshop or location has been removed, are filled with a placeholder workshop and location generated by the repair script. FTLOG DO NOT REMOVE THIS MOD IF YOU HAVE USED THE FUNCTION.
This is not 100% accurate as the base error is a misalignment in the lists so the reported location names may be wrong. Fact is you got fundamental tech issues. To absolutely identify the problem workshops, you need to be PC (sorry consoles).
(1) Enable debug logging https://www.creationkit.com/fallout4/index.php?title=Enable_Debug_Logging
(2) Run the [ Detect Workshop Parent Issues ] option again.
(3) Using explorer or a file manager open the log file at:
..\Documents\My Games\Fallout 4\Logs\Script\User\SKK_WUTestWorkshopList_NNNNNN.log
(A) Good Records:
Workshop,GOOD,ListIndex,5,WorkshopID,5,WorkshopList,[Location < (000397DC)>],LocationList,[Location < (000397DC)>],[workshopscript < (000E0505)>]
Location,GOOD,ListIndex,5,WorkshopID,5,WorkshopList,[Location < (000397DC)>],LocationList,[Location < (000397DC)>],[workshopscript < (000E0505)>]
(B) Bad records (Workshop List and Location List misalignment):
Workshop,MISSING ,ListIndex,5,[Location < (000397DC)>]
Location,MISSING ,ListIndex,5,[Location < (000397DC)>]
(4) The most accurate way to identify problem workshops is to check the list of GOOD workshopscript ReferenceIDs and LocationIDs against the list of known Base Game + DLC workshops and see who is missing:
REFID ,LocID ,Workshop Location Name
xx047dfb,xx051bad,DLC04WorkshopHoldingCell [Starts as Type02 Outpost]
xx01C6AA,xx00f101,Echo Lake Lumber Mill
00164321,00021A7F,Egret Tours Marina
0016D28E,00178E7A,Murkwater Construction Site
xx00BCE7,xx00BCED,Nuka-World Red Rocket [Starts as Type02 Outpost]
00054BAE,00024FAB,Red Rocket Truck Stop
001654D5,00024FAD,Sunshine Tidings Co-op
xx000E4C,xx0008a4,The Mechanists lair
(xx = DLC/mod position in your load order)