diff --git a/cspell.json b/cspell.json index b0f722d8..15e5d9b9 100644 --- a/cspell.json +++ b/cspell.json @@ -29,6 +29,7 @@ "crowdsource", "crowdsourcing", "customizer", + "CVAR", "Deantendo", "devcontainer", "Digby", @@ -40,6 +41,7 @@ "FACTORYGAME", "favorited", "Feyko", + "FFGCondReplicatedProperty", "fgcheck", "fgrecipe", "FGUnlock", @@ -48,7 +50,6 @@ "FORCEINLINE", "Forsythe", "furtue", - "FFGCondReplicatedProperty", "Headlift", "HKEY", "hoverpack", @@ -88,6 +89,7 @@ "Quixel", "redirectors", "Robb", + "RTPC", "SCBP", "Schem", "SCIM", @@ -144,4 +146,4 @@ "destory", "conveneint" ] -} \ No newline at end of file +} diff --git a/modules/ROOT/images/Development/UpdatingGuides/SpawnLightweightBuildable.png b/modules/ROOT/images/Development/UpdatingGuides/SpawnLightweightBuildable.png new file mode 100644 index 00000000..2fee207b Binary files /dev/null and b/modules/ROOT/images/Development/UpdatingGuides/SpawnLightweightBuildable.png differ diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 4e7e45d1..8204d2f1 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -1,7 +1,6 @@ * xref:index.adoc[Introduction] * xref:faq.adoc[FAQ - Frequently Asked Questions] * xref:SMLChatCommands.adoc[Commands] -* xref:ManualInstallDirections.adoc[Manual Installation] * Playing with Mods ** xref:ForUsers/Welcome.adoc[Welcome to the Community] @@ -10,6 +9,7 @@ ** xref:ForUsers/Tags.adoc[Tags and Tag Search] ** xref:ForUsers/DedicatedServerSetup.adoc[Installing Mods on Dedicated Servers] ** xref:ForUsers/CoreRedirectMigration.adoc[Migrating Modded Content with Core Redirects] + ** xref:ManualInstallDirections.adoc[Manual Installation] * xref:Development/index.adoc[Development] ** xref:Development/UpdatingFromSml37.adoc[Updating from SML 3.7.0] @@ -72,6 +72,7 @@ **** xref:Development/Satisfactory/AdaMessages.adoc[ADA Messages] **** xref:Development/Satisfactory/CheatBoard.adoc[Cheat Board] *** Game Systems + **** xref:Development/Satisfactory/Audio.adoc[Audio] **** xref:Development/Satisfactory/PowerNetwork.adoc[Power Network] **** xref:Development/Satisfactory/BuildableHolograms.adoc[Buildable Holograms] **** xref:Development/Satisfactory/CustomLevels.adoc[Custom Levels] diff --git a/modules/ROOT/pages/CommunityResources/AssetToolkit.adoc b/modules/ROOT/pages/CommunityResources/AssetToolkit.adoc index 071f9273..7d302460 100644 --- a/modules/ROOT/pages/CommunityResources/AssetToolkit.adoc +++ b/modules/ROOT/pages/CommunityResources/AssetToolkit.adoc @@ -2,7 +2,7 @@ [WARNING] ==== -The Asset Toolkit has not yet been fully tested on UE5. +The Asset Toolkit has not yet been fully tested on UE5 or the 1.0 release. ==== [NOTE] @@ -52,7 +52,7 @@ Regardless, make sure the copy you obtain is of the `dev` branch. [NOTE] ==== Note that the link above points to the *dev branch of Mircea's fork* of the https://github.com/Archengius/UEAssetToolkit[original project]. -Said fork is the one that the https://github.com/mircearoata/satisfactory-modding-actions/blob/master/.github/workflows/updateSML.yml#L178[CI scripts] +Said fork is the one that the https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/.github/workflows/updateSML.yml#L178[CI scripts] use to semi-automatically generate the starter project, and as such is usually kept more up to date. ==== @@ -67,7 +67,7 @@ UE will still be able to discover them. After the plugins have been moved into your modding project, re-xref:Development/BeginnersGuide/project_setup.adoc#_generate_visual_studio_files[Generate Visual Studio project files] -and build for Development Editor and Shipping. +and build for Development Editor. While you wait for it to compile, here's some info about the roles of each plugin. @@ -98,6 +98,8 @@ To install the Asset Dumper in your copy of the game, build it with Alpakit like you would any other mod. Be sure you have "Copy Mods to Game" enabled and the "Game Path" set correctly. +Make sure to not have any server targets enabled; the asset toolkit does not work on dedicated servers. + == Dumping Game Assets [WARNING] @@ -151,7 +153,7 @@ inside your game install directory. ==== Asset dumping is also used to create the stater project stubs when the game updates. If you're interested in how this works, check out the -https://github.com/mircearoata/satisfactory-modding-actions/blob/master/.github/workflows/updateSML.yml#L209[CI scripts], +https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/.github/workflows/updateSML.yml#L209[CI scripts], or contact us on the discord for more info. ==== @@ -232,10 +234,10 @@ function CleanupTempFiles { # Clean up the temp files, in case the script was exited or crashed earlier for some reason CleanupTempFiles -# Force generated package names from https://github.com/mircearoata/satisfactory-modding-actions/blob/master/ForceGeneratePackages.txt +# Force generated package names from https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/ForceGeneratePackages.txt Write-Output "/Game/FactoryGame/Buildable/-Shared/Widgets/Widget_Output_Slot" >> $ForceGenerateFile -# Skip save package names from https://github.com/mircearoata/satisfactory-modding-actions/blob/master/SkipSavePackages.txt +# Skip save package names from https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/SkipSavePackages.txt Write-Output "/Game/FactoryGame/Interface/UI/BPI_ShoppingList" >> $SkipSaveFile Write-Output "/Game/FactoryGame/Unlocks/BPI_UnlockableInterface" >> $SkipSaveFile Write-Output "/Game/FactoryGame/Interface/UI/InGame/Graph/BPW_Graph" >> $SkipSaveFile @@ -312,7 +314,7 @@ you'll need to grab multiple files from your backup copy of the starter project' and bring some in to replace the ones in your current copy. The list of files to move is -https://github.com/mircearoata/satisfactory-modding-actions/blob/master/CustomAssets.txt[here], +https://github.com/satisfactorymodding/UnrealProjectUpdater/blob/master/CustomAssets.txt[here], except skip any texture assets (usually those starting with `TX_`) mentioned in the list, because the generator's copy of textures is more accurate. diff --git a/modules/ROOT/pages/Development/BeginnersGuide/StarterProjectStructure.adoc b/modules/ROOT/pages/Development/BeginnersGuide/StarterProjectStructure.adoc index 41d51007..b1f1ce2d 100644 --- a/modules/ROOT/pages/Development/BeginnersGuide/StarterProjectStructure.adoc +++ b/modules/ROOT/pages/Development/BeginnersGuide/StarterProjectStructure.adoc @@ -107,6 +107,10 @@ either as code examples for you to look at, or because they are required to get They appear in the `All` > `Plugins` section of the Content Browser (for those that contain assets) and are located in the `Mods/` folder on disk. Later on, your own mods' folders will appear in this section as well. +You might need to click on `View Options` -> `Show Plugin Content` +in a Content Browser to see the `Plugins` section in the Unreal Editor. +image:BeginnersGuide/simpleMod/ShowPluginContentInViewer.png[Show Plugin Content in Viewer] + * xref:Development/ModLoader/AccessTransformers.adoc[Access Transformers] ** Editor-only mod to enable other mods to access extra information without modifying the auto-generated C++ stubs. * Alpakit diff --git a/modules/ROOT/pages/Development/BeginnersGuide/dependencies.adoc b/modules/ROOT/pages/Development/BeginnersGuide/dependencies.adoc index 48a39e03..450d6469 100644 --- a/modules/ROOT/pages/Development/BeginnersGuide/dependencies.adoc +++ b/modules/ROOT/pages/Development/BeginnersGuide/dependencies.adoc @@ -68,7 +68,7 @@ Next, press `Review details` and continue with the installation. === Option 2: Manually Select Components From the "Workloads" tab, select: -` + - `Desktop & Mobile` > `Desktop development with {cpp}` - `Gaming` > `Game development with {cpp}`. @@ -288,21 +288,27 @@ or asking for help on the Discord. Once presented with options on what to install, select: +// Inline HTML to make checkmarks green +// https://docs.asciidoctor.org/asciidoc/latest/pass/pass-block/ +// https://docs.asciidoctor.org/asciidoc/latest/pass/pass-macro/ +[pass] + + * _Packages_ -** ✔ Authoring -** ✔ SDK (C++) +** pass:[] Authoring +** pass:[] SDK (C++) * _Deployment Platforms_ -** ✔ Linux +** pass:[] Linux ** _Microsoft_ *** _Windows_ -**** ✔ Visual Studio 2019 -**** ✔ Visual Studio 2022 +**** pass:[] Visual Studio 2019 +**** pass:[] Visual Studio 2022 If anything is selected by default, do not uncheck them. They are required for Visual Studio to work. Click `Next` (you may need to scroll down to see the button). You don't need to add any plugins, -so press `Deselect All` in the top right then `Install` in the bottom left to begin the installation process. +so press `Select None` in the top right then `Install` in the bottom left to begin the installation process. Accept the terms and conditions prompts that appear along the way. == Satisfactory Mod Manager diff --git a/modules/ROOT/pages/Development/BeginnersGuide/project_setup.adoc b/modules/ROOT/pages/Development/BeginnersGuide/project_setup.adoc index f5254838..7c822bad 100644 --- a/modules/ROOT/pages/Development/BeginnersGuide/project_setup.adoc +++ b/modules/ROOT/pages/Development/BeginnersGuide/project_setup.adoc @@ -339,6 +339,15 @@ How to access the Content Browser, including adding multiple Content Browser pan - https://docs.unrealengine.com/5.3/en-US/content-browser-interface-in-unreal-engine/[Content Browser Interface] - How to use the various features offered by the Content Browser. +[NOTE] +==== +You may see error messages in the editor's Level `Viewport 1` tab such as +"LANDSCAPE: 64 ACTORS WITH PHYSICAL MATERIALS NEED TO BE REBUILT". + +It is usually safe to ignore errors in the Level Viewport tab +because errors displayed there are unrelated to typical mod content. +==== + == (Optional) Modify Editor Color Scheme The Unreal Engine 5 editor is very dark by default. diff --git a/modules/ROOT/pages/Development/Satisfactory/Audio.adoc b/modules/ROOT/pages/Development/Satisfactory/Audio.adoc new file mode 100644 index 00000000..39a5e47a --- /dev/null +++ b/modules/ROOT/pages/Development/Satisfactory/Audio.adoc @@ -0,0 +1,52 @@ += Audio + +[NOTE] +==== +This page is a work in progress. +==== + +== Wwise + +TODO + +Coffee Stain uses the Wwise audio system to play sounds in Satisfactory. + +At the time of writing it is very difficult for modders to interface with Wwise systems, +so you should use Unreal's built in sound system instead. + +The SML team is working on enabling modders to interface with Wwise. + +== ADA + +See the xref:Development/Satisfactory/AdaMessages.adoc[dedicated page on ADA Messages] for more information. + +== Volume Options + +To retrieve the user's volume options, use "Get FGGame User Settings" and "Get Float Option Value". + +To find out what CVARs to use in, +adjusting your own user setting for the value then checking your +xref:faq.adoc#Files_GameConfig[GameUserSettings.ini file] to see what they are saved as. + +As of the 1.0 release update, these are the CVARs for the main volume categories: + +// cspell:ignore Menu_Volume_Vehicules +``` +RTPC.Menu_Volume_Master +RTPC.Menu_Volume_Dialogue +RTPC.Menu_Volume_SoundEffects +RTPC.Menu_Volume_UI +RTPC.Music_Bus_Volume +RTPC.Menu_Volume_Ambience +RTPC.Consumables_Bus_Volume +RTPC.Menu_Volume_Creatures +RTPC.Menu_Volume_Equipment +RTPC.Menu_Volume_Factory +RTPC.Menu_Volume_Foley +RTPC.Menu_Volume_Vehicules +RTPC.Menu_Volume_Weapons +``` + +These values are on a scale of `0.0` (off) to `1.0` (full volume). +If multiple categories apply, multiply them together to reach the final volume value. +For example, the Chainsaw's volume is probably Master multiplied with Equipment multiplied with the chainsaw's specific category. diff --git a/modules/ROOT/pages/Development/TestingResources.adoc b/modules/ROOT/pages/Development/TestingResources.adoc index 968088e8..35fcc073 100644 --- a/modules/ROOT/pages/Development/TestingResources.adoc +++ b/modules/ROOT/pages/Development/TestingResources.adoc @@ -364,33 +364,48 @@ $Args2 = "-EpicPortal", "-NoSteamClient", '-Username="'+$Username2+'"', "-WinX=9 == Multiplayer Testing -[WARNING] +Locally testing multiplayer functionality requires one of the following approaches: + +[id="MultiplayerTesting_Launch2Copies"] +=== Approach A: Launch 2 game clients + +You can run two copies of the game client at once and join one from the other +using the game's host and play multiplayer system. +Normally the Steam and Epic Games launchers don't allow you to do this, +but the link:#LaunchScript[launch script] in the previous section can detach your game from the launcher so you can run two copies. +Note that doing so breaks "normal" multiplayer functionality and only allows using IP multiplayer sessions. + +[NOTE] ==== -Update 8 has recently changed how local multiplayer testing works. -This page has not yet been updated to reflect these changes. -You must load with the `-offline` flag and use a Map Travel URL with the `?listen` argument to be able to connect. -For example, `open Persistent_Level?loadgame=NameOfYourSaveGame?listen`. -Remember that Session Settings are stored in the Map Travel URL as well -so the defaults will be used if you don't specify them directly in the travel URL here. - -Consider locally hosting your own dedicated server for multiplayer testing instead. +If you own the game on both Epic and Steam you can join one client "normally" from the other. +Note that this requires you to compile your mod for both the Epic and Steam targets which can slow down development. ==== -Locally testing multiplayer functionality requires running two copies of the game at once. -Normally the Steam and Epic Games client don't allow you to do this, -but the link:#LaunchScript[launch script] in the previous section will allow you to do so. +To do this: -=== Instructions +1. Run the link:#LaunchScript[launch script] to open 2 copies of the game client. +2. On the copy you designate as the host, select a save file to load. +Before loading it, click the "Load Settings" button and change the "Session Type" to `IP`. +3. On the copy you designate as the client, open the "Join Game" menu and enter the ip `127.0.0.1`. +Alternatively, use the `open 127.0.0.1` xref:SMLChatCommands.adoc#ConsoleCommands[console command] from anywhere. -1. First, run the launch script with the `-multiplayer` flag to open two copies of the game. +[IMPORTANT] +==== +There is currently a bug in Satisfactory itself causing the host to crash when a client joins in this manner. +Until this is resolved, either use an Epic and Steam copy or Approach B. +==== + +[id="MultiplayerTesting_LocalDedicatedServer"] +=== Approach B: Launch Client and a Dedicated Server -2. Open up your save file in either copy of the game - this one will be the host, the other copy is the client. +You can run a dedicated server locally and connect to it with a game client. +This has the downside of needing to compile your mod for both the client and server targets every time you want to test, +which will slow down development. -3. Once you've loaded in, go to the client game instance and open the in-game console. -Learn how to do this -xref:SMLChatCommands.adoc#ConsoleCommands[here]. -Then type in `open 127.0.0.1` and hit enter. -The second instance will now connect to the game hosted by the first instance. +Dedicated servers will automatically load a save file on launch, +which may or may not speed up your testing process depending on what behaviors you are testing. + +To use this approach, check out the link:#TestingDedicatedServers[dedicated server section of this page]. [id="LoadCustomLevel"] == Load a Custom Level on Launch @@ -417,6 +432,8 @@ While you're at it, there are a few other flags you can use to customize the loa FG Map Options Switches from Archengius: +++
+++ .... +NOTE: These are from 2021 and may be outdated. + Switches found in AFGGameMode::InitGame: ?skipOnboarding (skip landing animation) @@ -492,6 +509,7 @@ Note that in order to perform the first time server claiming process you will need to use a client of the game that was launched normally (ex. through Steam or Epic). After the server claiming process is complete you can return to using a copy launched with the launch scripts described elsewhere on this page. +[id="TestingDedicatedServers_LocalServer"] ==== Option 1: Locally Installed Dedicated Server You can install the dedicated server on your own computer and run it locally. @@ -513,6 +531,7 @@ through the normal server browser or with the `open` console command, for example, `open 127.0.0.1`. +[id="TestingDedicatedServers_RemoteServer"] ==== Option 2: Remote Dedicated Server You can also set up the dedicated server on another computer on your network. @@ -524,6 +543,7 @@ meaning that Alpakit will handle copying and replacing the files on the remote s You'll still need to restart it after every package for the server to reload file changes. +[id="TestingDedicatedServers_AskNicely"] ==== Option 3: Ask Nicely on Discord A community member may have a dedicated server they can give you access to in order to test mods on. @@ -531,6 +551,7 @@ Ask in the modding help channels and see if anyone speaks up, but you may not ge You will likely have to manually transfer each testing build of the mod to the server. +[id="TestingDedicatedServers_CrossFingers"] ==== Option 4: Cross your Fingers The option of last resort: you can compile your mods for dedicated servers and release them without testing them. @@ -553,6 +574,7 @@ or follow the process outlined in the Option section you selected above. // From https://discord.com/channels/555424930502541343/562722670974599227/1044575456659259472 Additional information about the Online Subsystem. +This info is from 2023 and may be out of date. +++
+++ True offline mode information from Archengius: diff --git a/modules/ROOT/pages/Development/UpdatingFromSml37.adoc b/modules/ROOT/pages/Development/UpdatingFromSml37.adoc index 9bad346a..9cf973d3 100644 --- a/modules/ROOT/pages/Development/UpdatingFromSml37.adoc +++ b/modules/ROOT/pages/Development/UpdatingFromSml37.adoc @@ -320,6 +320,20 @@ These buildings do not actually exist as buildings unless the player is using th This may interfere with traces collision checks that expected them to be abstract instances in the past. The system is not currently very modder friendly and you will likely have to wait for future game updates to improve it. +Here is some more information about the various types of performance-optimized buildables over the game's updates: + +* Abstract Instances = Static Meshes managed by Abstract Instance Manager. They do not have to be lightweights, normal buildings use them too, non-buildings can use them as well. +* Lightweight Buildables (1.0) = buildings managed by Lightweight Buildable Subsystem. They are abstract instances belonging to the AFGLightweightBuildableSubsystem, there are no individual actors for these buildings, as they are simple enough to just be represented as one or multiple abstract instances grouped together. +* Lightweight Buildables (Update 8 and earlier) - AFGBuildables that do not have a root component. Traces against them would resolve to Abstract Instance Manager, but if you resolve the trace through the manager you would get the actual buildable actor. THESE ARE GONE NOW. + +Spawning lightweight buildables from script requires a bit of extra work. + +- Construct an FGBuildableSpawnStrategy +- Set its `Built with Recipe` and `Play Build Effect` properties to the desired values +- Call its "Spawn Buildable from Class" method providing the class and transform + +image:Development/UpdatingGuides/SpawnLightweightBuildable.png[Screenshot of blueprint code to spawn lightweight buildables] + === Replication Detail Actor Removal The Replication Detail Actor system has been removed and replaced with the @@ -327,6 +341,14 @@ xref:Development/Satisfactory/ConditionalPropertyReplication.adoc[Conditional Pr See that page for some info from Arch on the usage of the new system. +=== UFGLocalPlayer::GetPlayerId Removal + +`UFGLocalPlayer::GetPlayerId` has been removed but is still accidentally present in the headers. +This header mismatch will be fixed in a future update. + +Use ULocalUserInfo instead. +See Online Integration overall for more info. + === Add Tags to Relevant Content in your Mod If your mod adds any item descriptors that serves a special non-crafting purpose, diff --git a/modules/ROOT/pages/Development/UpdatingToNewVersions.adoc b/modules/ROOT/pages/Development/UpdatingToNewVersions.adoc index 2ca7fdd8..d7ba607f 100644 --- a/modules/ROOT/pages/Development/UpdatingToNewVersions.adoc +++ b/modules/ROOT/pages/Development/UpdatingToNewVersions.adoc @@ -583,7 +583,7 @@ You'll want to do the following things: 3. Update the version range of your mod's dependencies. For example, every mod depends on SML, and the version of SML it depends on determines what game versions it is considered compatible with. Find the latest SML version number by checking its Alpakit Edit Mod wizard in your editor - or by checking the https://ficsit.app/sml-versions[SML releases page]. + or by checking the https://ficsit.app/mod/SML[SML releases page]. You probably want to be using the caret range specifier here (ex. `^3.6.1`) whose functionality is described in the xref:Development/BeginnersGuide/ReleaseMod.adoc#_special_fields[Plugins > SemVersion section of the Releasing Your Mod page]. diff --git a/modules/ROOT/pages/ForUsers/DedicatedServerSetup.adoc b/modules/ROOT/pages/ForUsers/DedicatedServerSetup.adoc index 1b5f67e8..1fe5adf9 100644 --- a/modules/ROOT/pages/ForUsers/DedicatedServerSetup.adoc +++ b/modules/ROOT/pages/ForUsers/DedicatedServerSetup.adoc @@ -50,9 +50,10 @@ regardless of what their websites and marketing pages claim: - low.ms - Does not allow executables - nitroserv.games - Allows creating but not deleting dot files, which bricks the server - Shockbyte - Doesn't show the root executable -- gportal - Doesn't show the proper game file tree, just the Saved folder +- gportal - Doesn't show the proper game file tree. You may have success with manual mod installation, but we offer no support for that process. - 4netplayers - Doesn't show the root executable, as well as other game files - GTXGaming - Doesn't show the proper game file tree, just the Saved folder +- Supercraft - Doesn't show the game files, only save files It is also worth noting that AMP causes SFTP to throw weird errors, but mods can be installed if pointing SMM to a network mount or local path as described link:#FileTransferMethods_SMB[here]. diff --git a/modules/ROOT/pages/ManualInstallDirections.adoc b/modules/ROOT/pages/ManualInstallDirections.adoc index 694d4ea8..23d8a0ef 100644 --- a/modules/ROOT/pages/ManualInstallDirections.adoc +++ b/modules/ROOT/pages/ManualInstallDirections.adoc @@ -25,7 +25,7 @@ in which case you should either update your Starter Project or follow the steps below instead. ==== -First, you need to download a version of SML compatible with your game from https://ficsit.app/sml-versions[SMR]. +First, you need to download a version of SML compatible with your game from https://ficsit.app/mod/SML[SMR]. If you want to download the latest development version of SML, you can build them yourself with the Unreal editor, or get them from the CI artifacts diff --git a/modules/ROOT/pages/SMLChatCommands.adoc b/modules/ROOT/pages/SMLChatCommands.adoc index f47ef9f8..ddff7021 100644 --- a/modules/ROOT/pages/SMLChatCommands.adoc +++ b/modules/ROOT/pages/SMLChatCommands.adoc @@ -62,13 +62,14 @@ Some of they may not function due to code removed from the distributed version o Cheats must be enabled in the game save for a majority of console commands to function. To enable cheats: -1. Use SML's "Enable Cheats" Mod Savegame Setting. +1. Install the link:https://ficsit.app/mod/SML[SML] mod if you haven't already. +2. Use SML's "Enable Cheats" Mod Savegame Setting. .. Option 1: Enable the setting from the xref:ForUsers/ConfiguringMods.adoc#_mod_savegame_settings[in-game menu]. .. Option 2: Run the `SML.ForceAllowCheats 1` to directly adjust the session setting value directly from the console. -2. Run the `EnableCheats` console command to activate SML's hook on the cheats system. +3. Run the `EnableCheats` console command to activate SML's hook on the cheats system. Because of how the command is implemented, the game will claim that the command is not recognized when you run it. This is expected behavior. -3. Cheats should now be enabled for this game session. +4. Cheats should now be enabled for this game session. You will have to enable them again later if you load a save. [TIP] diff --git a/modules/ROOT/pages/faq.adoc b/modules/ROOT/pages/faq.adoc index e2da17b1..e8a20cb9 100644 --- a/modules/ROOT/pages/faq.adoc +++ b/modules/ROOT/pages/faq.adoc @@ -395,20 +395,6 @@ You can work around this by downloading the mod files mentioned in the error mes The process for doing this changes if you're using SMM2 or SMM3 and is described below. You can also try using a different proxy, VPN, or hotspot to download the mod instead. -[id="ManualDownloadForCache_SMM2"] -=== If using SMM2 - -Once you have downloaded the mod file(s) from ficsit.app, -rename the file to `[ModName].smod` if it was named `[ModName].zip`. - -Then, put the file into SMM's download cache. -For SMM2, this is `%localappdata%\SatisfactoryModManager\downloadCache\mods`, -unless the mod you downloaded is SML, -in which case place the file into `%localappdata%\SatisfactoryModManager\downloadCache\smlVersions\[the SML version number]`. - -[id="ManualDownloadForCache_SMM3"] -=== If using SMM3 - Once you have downloaded the mod file(s) from ficsit.app, place the zips into `%localappdata%\ficsit\downloadCache`. Make sure to rename them to the `ModReference_version_target.zip` format, for example, @@ -457,20 +443,6 @@ https://forums.unrealengine.com/t/can-you-change-graphics-settings-with-console- == Can I put the Mod Manager on a drive other than my C drive? -[id="MoveCache_SMM2"] -=== If using SMM2 - -In order to change the location where SMM2 caches the downloaded mod files you need to create a symlink for the SMM cache folder. - -// cspell:ignore mklink -1. Close SMM -2. Move the folder `%localappdata%\SatisfactoryModManager` to a drive that has enough space. You can rename the folder to something like SMMCache if you want to make it easier to remember what that folder is. -3. Open Command Prompt as admin and run this command `mklink /D "%localappdata%\SatisfactoryModManager" "The\New\Location"`, replacing `The\New\Location` with the path of the new folder location (for example `D:\SMMCache`). -4. Open SMM and download a mod to test and make sure the change has taken effect. - -[id="MoveCache_SMM3"] -=== If using SMM3 - SMM3's cache location can be changed via `Mod Manager Settings` > `Change cache location`. == Why are my game's textures blurry or low resolution? @@ -724,12 +696,12 @@ If you cannot find your steam save folder (probably because you have owned the g === Linux -Using Steam Play: +Using Steam (Native): // cspell:ignore steamapps compatdata steamuser valvesoftware `~/.local/share/Steam/steamapps/compatdata/526870/pfx/drive_c/users/steamuser/Local Settings/Application Data/FactoryGame/Saved/SaveGames/{YOUR STEAM ID}` -Using Steam: +Using Steam (Flatpak): `~/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/compatdata/526870/pfx/drive_c/users/steamuser/AppData/Local/FactoryGame/Saved/SaveGames/{YOUR STEAM ID}`