Nexus-Mods / game-starfield

Vortex Extension for Starfield
GNU General Public License v3.0
6 stars 3 forks source link

Vortex Extension for Starfield

This is an extension for Vortex to add support for Starfield. This is available for the PC on Xbox & Game Pass and Steam.

The Steam and Xbox versions of Starfield are both supported, although there are differences between the two.

Development

Clone repo and run yarn install

Main Scripts

Testing

Coming Soon

Features

Installation

This extension requires Vortex 1.9.10 or greater. LOOT sorting functionality requires Vortex 1.12.0 or greater.

To install, click the Vortex button at the top of the Starfield Extension page on Nexus Mods, and then click Install.

You can also manually install it by click the Manual button at the top of the page and dragging it into the drop target labelled Drop File(s) in the Extensions page at the bottom right.

Afterwards, restart Vortex and you can begin installing supported Starfield mods with Vortex.

If you've already got a previous version, the extension should auto update on a Vortex restart.

Game detection

The Starfield game extension enables Vortex to automatically locate installs from the Steam and Xbox apps.

It is also possible to manually set the game folder if the auto detection doesn't find the correct installation. A valid Starfield game folder contains:

If your game lacks this file then it is likely that your installation has become corrupted somehow.

Important note if managing the game through Xbox Game Pass:

Currently the game discovery will resolve to the game's default WindowsApps location - Vortex's access to this directory is very limited due to the game store locking the files in a system owned virtual file system. As a workaround, please install the game into an external location, e.g. C:/XboxGames/ and manually set the game folder inside Vortex to the C:\XboxGames\Starfield\Content folder. You should then be able to create the folder junction and mod your game.

Mod Management

By default, Vortex will deploy files to the game's root folder and extracts the archive while preserving the folder structure.

Starfield breaks the Bethesda-game trend by having a secondary data folder at Documents\My Games\Starfield\Data which, in most case, overrides the regular \Data folder within the game installation. This has caused quite a bit of confusion in the community with different mods providing instructions to install to the two different folders and a number of community workarounds - some that worked and some less so.

To get around this, Vortex can create a specific type of shortcut (called a folder junction) between the regular Data folder and the one in the My Games folder. This tricks the game engine into using the same Data folder and simplifies mod installation. As an added bonus, this also works for both Steam and Xbox versions. The My Games Data folder is tested on startup and if it isn't a junction already, then the user is notified about potentially enabling this feature along with documentation as to why the user may not want to.

IMPORTANT: Things aren't all perfect though. Using a file syncing\cloud drive service such as OneDrive, Google Drive or Dropbox are known to cause issues with this method due to the inconsistencies in how they handle folder junctions. The most severe of these issues can lead to the loss of data. For compatibility information about individual services, please read this page on modding.wiki for more information.

Similar to Fallout 4, Starfield requires certain INI tweaks to be set in order to properly load loose files (i.e. those not packed in BA2 archives). There are a lot of mods out there which provide instructions for users to add these tweaks to a StarfieldCustom.ini file in the Documents\My Games\Starfield folder. If Vortex detects that this ini doesn't exist or is incorrect, it will notify the user and ask to fix it. If fix is requested, it will add or adjust the "bInvalidateOlderFiles" and "sResourceDataDirsFinal" values without changing any other settings you might've added manually.

Additionally, Vortex will apply a tweak to re-route your Photo Mode captures to Data\Textures\Photos (unless you've already set it to something else) and there is now a button inside Vortex to quickly open this folder. This was removed in version 0.6.7 of the extension due to a bug in Starfield that was introduced when the game updated to approximately version 1.10.31.0.

Save Games (0.8.x)

A basic Save Games page has been added to allow users to view information regarding their save games. This functionality is unfortunately not available for Xbox game pass users as the saves themselves are inaccessible by default. Vortex will attempt to parse any existing saves within the "Documents/My Games/Starfield/Saves" directory and display information such as Character name, level, experience and more importantly, the plugins that have been loaded to the save game.

Plugin Load Ordering (0.8.x)

The current implementation allows the user to select between two different plugin management methodologies. By default the Starfield extension is configured to use the Drag and Drop functionality which has been available in previous versions of the extension, with an added "Sort via LOOT" button in the Load Order page for users of Vortex 1.12.x or greater.

Alternatively it is possible to switch to a completely automated sorting functionality controlled by LOOT; similar to the plugin management system available for other Bethesda games.

To switch between the two systems, the user needs to go to the Settings Page -> Mods Tab and choose between the Drag and Drop or Automated sorting functionalities.

Plugin Load Ordering (0.7.x)

The current implementation of the plugin management system in Starfield is temporary while we wait for the official creation kit from Bethesda. This means that we expect certain functionality to change in the future, yet we're confident enough to provide interim support. The plugin management systen in Starfield has been enabled as of 9th of June 2024; plugin enablers are no longer required.

A new "Load Order" page has been added to the extension to allow users to view their deployed mods and manage their load order. By default this system is disabled and can only be enabled through the Load Order page. The user can disable this feature at any time through the Settings -> Mods -> Starfield -> Manage Load Order Toggle.

Before enabling the plugin management system keep the following in mind:

Known Issues

Migrating this extension to 0.5

The default installer in 0.4 has been deprecated in 0.5 due to:

What to expect:

Recommendations:

Collections in 0.5 and above

Given the changes in 0.5, migration functionality has been introduced to ensure we support collections created before this update. Upon successful installation of a collection, all mods tied to said collection are checked and migrated automatically to use the new system on the user's environment.

What to expect:

Recommendations:

Addendum

Vortex 0.6.x load ordering functionality is using INI merging for global datasets defined in ASI mods. At the time of writing this addendum, the deepMerge utility function was not exported as part of the API. In order to allow users to test this extension without waiting for Vortex 1.9.9+, the extension has an identical copy of the deepMerge function included - this should be removed once we confirm 1.9.9+ is stable.

See also

Thanks

Changelog

Please check out CHANGELOG.md