Satisfactory Modding

SM

Satisfactory Modding

Modding community for Satisfactory, the factory building and exploration game by Coffee Stain.

Join

help-using-mods

help-developing-mods

modding-resources

Beginner modding FModel.

Hello everyone. First of all, a thousand apologies if I do not publish in the right place and for my English. It is not my native language. I wanted to try modding on Satisfactory by translating other mods and making a reskin of the whales. I thought I understood that FMmodel was the tool I needed....
No description

Alternate Recipe dependency requirements

I have a mod with many alternate recipes, and couldn't find a way to "gate-lock" certain alternate recipes behind the tires they're unlocked in, for example, in the base game you don't get alternate recipes for Aluminum, until you have access to bauxite, however, atm, for my mod you can get aluminum alternate recipes in tier 1. How would I go about resolving this?
Solution:
Make a schematic that has a dependency on another schematic. Eg. Schematic_Alternate_ElectroAluminumScrap:

Adding content (not in docs?)

I'm trying to change some of the base content: 1. Adding/modifying the existing space elevator phases 2. Adding custom ore nodes to the existing map 3. Removing parts/recipes? idk if it is possible to do that though I tried looking through the files but i don't seem to get any idea on how to do these three things. thanks a lot in advance...
Solution:
1. Adding phases is not trivial. I think someone put out a library mod to help with that, search "phase" 2. There should be some discussion around this in the discord. There are a number of ways but the most optimal way is not quite working yet. I think the current best way is using sublevels. Rex would know more. I think there is an open source mod that adds a biomass node or something you could look at 3. Possible but not generally a good idea because other mods probably use those parts. Modify the schematics that grant the recipes for the parts...

Gamepad Analog Inputs

With a PS4 gamepad controller I can't get any analog input (-1.0 to 1.0) from the thumbsticks. In the Steam controller mappings I've set the thumbsticks to the joystick mode. For Enhanced Input: I've spawned an actor, enabled the input on it, added an input context with a high priority, removed all other input contexts, but only the keyboard/mouse events are getting through....

Best method to override existing FGMessages (ADA/Alien Lines) ?

I’m creating a Mod to replace the English voice lines with localized German voices. Currently I’m using a simple “pak hack” (RemapDirectories ) to replace the .wem files, the audio files that Wwise creates, which are stored in .pak files, not .utocs. However, I also need to adjust the subtitle timings and the actual subtitles (many translations are sub-optimal), which are stored via FGMessages within .utoc-containers. Finally, it would probably also be easier to use my own sound events instead of adapting the .wem files to the existing events, so in effect I would probably exchange most of the FGMessage’s content. I’m wondering which technique would be the best to do that. CDO manipulation I’m unsure if CDO’s even exist for DataAssets like the FGMessages and also, I’m wondering if CDO manipulation would eventually lead to all dialogue audio being held permanently in memory (not sure how Wwise would handle this if all FGMessages were loaded). ...

Returning Aspiring Modder, no clue where to get started.

For starters, I'm still trying to figure out where I'm meant to find the latest files to set up the Modding Environment. I keep hearing of the Starter Project, but no clue where to find it. Last time I tried to get into Modding, I had to go through all kinds of hoops with UE4 editor things. Beyond that, I'm trying to start (hopefully) somewhat simple by adding a fluid/packaged fluid set....

check if the main menu is open

I want to show/hide my own HUD overlay based on whether the game's main menu is open while in a save. I found a "Is in Main Menu" bp function, but it always returns true, although I'm not sure what World Context to give it anyway.

Wwise does not show correct version

kinda stuck. already checked uproject file, it is correct association
Solution:
Isn't 2022.1.10.8393 the same version the docs list?
No description

github desktop is failing to clone the branch

gives me this error, do not know what to do. cloning the master project branch
Solution:
well thx for the advice. guess ill try moving my labtop next to the router for an hour and doing that
No description

making a custom character

i want to make a mod of my avatar character but idk how to use blender or unreal and i need some help i really want my own caracter on game i am serachinng someone that can do it for mne or help me do it

Wwise not being able to load mod soundbank

I am trying to integrate sounds by following https://github.com/satisfactorymodding/Documentation/pull/359 guide draft. I've got to the point that I can successfully play AKAudioEvent in the Editor, but not in the game itself. In the log of the game I see the following (modRef: TestMod, ak event: Play_sample, : ``` [2025.01.08-20.15.27:292][ 0]LogWwiseFileHandler: FWwiseFileCacheHandle::OnSizeRequestDone (0000020D62F88780): Streamed file "../../../FactoryGame/Content/WwiseAudio/TestMod_Soundbank.bnk" could not be opened. [2025.01.08-20.15.27:292][ 0]LogWwiseFileHandler: Warning: FWwiseFileStateTools::GetFileToPtr Failed to get FileCache instance while reading ../../../FactoryGame/Content/WwiseAudio/TestMod_Soundbank.bnk...
Solution:
Are you using the latest dev branch of SML?

Sound Effects

I would like to classify my sounds in the Factory class But I can't find it How do I get to this category?...
No description

How to detect when the player is in a hypertube and overlay a blacking-out effect on the camera

Okay, so I'm making a mod, it's my first time modding this game, and like the title says, I want to add a black-out effect, like a fighter pilot experiences, and similar to the damage vignette, whenever the player is in a hypertube. The reason for this is basically that I've discovered that hypertube launchers - and especially the type I'm designing - create a fairly serious photosensitive epilepsy risk. It turns out that dimming the screen can fix this issue, and I think that doing this with a black-out effect is a) cool, b) kinda funny that the hypertubes are so intense for the pioneer and c) makes sense in-universe. I have already made a suitable effect texture. I just need to know how to detect the hypertube and overlay the texture....

Change M Power Production

I create a generator based on the Build Generator Biomass Automated I would like to be able to modify the M Power Production (in Blueprint) But all I find (even in C++) is: - Set Dynamic production Capacity - Set Base Production...
No description

OnlineIntegration not initializing on launch

Pretty much what it says on the tin. I've followed the steps to set up the starter project, and when attempting to open it I get the message dialog in the picture. Acknowledging the message closes the dialog box and the engine just doesn't do anything. I don't see this mentioned in the documentation, and the error message just isn't giving me enough to work with. Is this a known issue that I'm not seeing a thread for? Is there some reasource I'm not finding online?...
Solution:
The only change I know I made was to swap the git clone for the zip. No issues getting it to launch this time
No description

Custom Recipe Help

I'm making a custom recipe but when I got to add "M produced in" in the index there is no box to add what you produce it in
Solution:
You just need to expand the window a little bit more

Satisfactory's blueprints

Is there a place where examples of using Satisfactory's own blueprints are posted? For example, what are they for collecting items on the ground, or on conveyors, and how to use them?...
Solution:
but I think you will have more success with "drone hub" style buildings that act as dedicated places for them to launch from, do pick up, drop off, etc

Production of items without conveyor output

I want to create items via an assembler or something else, but without them actually coming out on a conveyor It is enough not to connect a conveyor but then how: 1/ Know the number of items waiting in the output stock? 2/ decrement the number of items in this stock? ...
Solution:
I downloaded the sources, in fact everything is in the GWM
No description

Replicated variable from Actor Component

I have a Blueprint Actor Component based on a custom cpp Actor Component I'm using with a SCS Hook. The component is set to replicate and it has 1 variable I set to replicate. I populate the variable in a Blueprint and access the variable in cpp. It works fine in Single Player or for a MP host, but when I set the variable on a client and try to access it from the server it is null. Is what I'm trying just not possible or am I missing something?...
Solution:
you can just use the Server-bound RPC directly on the component

Saving per-player data on a dedicated server

Does anybody have experience saving per-player data on a dedicated server? I have a SCS hook to attach my custom save data component to AFGPlayerState on construction and it all works perfectly for local gameplay. When I join my dedicated server, none of my player-specific data is restored. I have tried taking a local save file (that I have verified works locally) and loaded it with my dedicated server, but the data does not get restored. I have tried setting up the game in a known state ON the dedicated server and waiting for autosave/leaving the game to force a save (I verified it does), but on rejoin the data does not get restored, nor on server restart and rejoin. From parsing the save file, I can see that my custom component is referenced in the save file but NONE of my custom data is in the dedicated server save file (my custom properties are just stored as arrays of uint8s - nothing fancy). Through logging, I can see that the IFGSaveInterface functions I have overridden are invoked by the dedicated server. IFGSaveInterface::PreSaveGame_Implementation IS CALLED when I expect it to be and I can see that is has the correct data in memory, but that data doesn't get saved in the save file. I notice IFGSaveInterface::PostLoadGame_Implementation is called on server startup long before a player has even joined and acts like the player data is empty, which makes sense given that the save file data is empty, but I don't know what it thinks it's doing since there would/should(?) be no AFGPlayerState with no players connected, I assume?...
Solution:
Ok, I can confirm that the issue was fundamentally about network serialization. Once I expanded the enum, everything "just worked" the way I expected and I no longer need a SCS hook for custom per-player save data.
Next