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

How to determine which side of a buildable a line trace hit

I know I can do hitResult.ImpactNormal.Z to determine if I hit the top of a buildable, but doing hitResult.ImpactNormal.Y will give different results based on how the buildable is rotated. Is there any way I can determine "This hit the left side"?
Solution:
I do it like this, if you want to do the switch on enum thing use EFoundationSide

How to filter items from BP_Config_Property_Class?

Hey all! Using the ModConfiguration class, I created the Section Properties using the BP Config Property Class, it's limiting by the Base Class FGEquipmentDescriptor. The issue is that I couldn't find any way to filter out even more items from that list....
Solution:
For future references, basically how to achieve this: Create your own Widget Class extending Widget_CP_Base (you can copy the whole Widget_CP_Class) - Here you will edit how the widget get the data and display it in the dropdown box (In my case I prepared the data in my game instance so I could re-use to validate the user input). ...
No description

How do I get the building descriptor of a building that's not unlocked yet?

First, I used a Recipe Manager to get all recipes. I grouped them by "Get Produced In" which gives me a set of ~8 buildables (FGBuildable Class Reference). I then used the Recipe Manager's "Find Building Descriptor by Class", but it only returns Building Descriptors (FGBuildingDescriptor Class Reference) for constructor and assembler because those are the only buildings I can actually build in the game (things like the Manufacturer are not unlocked yet). However, in my mod I would like to show icons of all available machines even if they're not unlocked yet. Do you have any idea how to achieve that?...
Solution:
Use FindNativeClassesByType of class FGRecipe, it returns all recipes, unlocked or not. Note that there are still a few broken recipes in game (and possibly included with some mods), so you'll want to do IsValid checks on all recipes and descriptors before calling functions on them because they might be null or have have null data in them.
No description

How to use the Production Indicator ?

In the example, there is no production indicator So I added one, but I can't get it to light up, in any of the 3 states (it is not recognized) So I build based on a FGBuildable Manufacturer, and this Production Indicator works well, but then I can't use the included M Power Info (Set Power Info), and I don't know how to remove it If I add the PowerInfo from the example, I think there is a conflict because when I test it it shows me 'No Power' How do I add this Production Indicator?...
Solution:
the function is called GetProductionIndicatorStatus

Trying to export 3D models from Unreal to Blender

I want to import the mesh, material, and textures from a 1m foundation ficsit set (or any other foundation and buildable) to modify it for a new foundation I'm making. I've tried to export as FBX but it showed me some other weird shapes and I was unable to apply the material and textures to it. I've looked at some basic blender tutorials but I can't figure this thing out
No description

Give and Take away schematic based on session option

Is it possible to give access to and take away a possibly already unlocked schematic based on session (mod savegame setting) value? I wish to make some schematics not available when disabled in mod settings. I would prefer if the players would lose access to the unlocked schematic if the setting is toggled during play. I registered the appropriate listeners in the world module, I just don't know how I can give and take away a schematic in the event graph, which nodes to use....
Solution:
taking away arbitrary schematics is troublesome because you can't guarantee that you have actually undone all of their effects, for example, changes to the player's hand slot count or inventory slot count

Is it possible for my custom buildable to use an existing vanilla UI? Like the constructor UI?

or do I need to create the entire UI from scratch?
Solution:
I'm pretty sure you can use an existing UI. I think the machine production UIs are pretty much the same save for a decorative texture. But your buildable may need to use the same base class as the vanilla machines depending on how the UI is implemented

Help with Connect to Revision Control

So, I am working through the online documentation to learn modding Satisfactory. The breadcrumb I am on is: Satisfactory Modding Documentation / Development / Git and Modding / Creating a Mod Git Repo #_option_a_have_github_create_the_repo_for_you_via_cloning ...

Help with Actor Representation not updating on Mini Map

Hey all! Since yesterday I have been working on this code. My goal is: If a wheeled vehicle (tractor, truck or explorer) have a Path loaded in, it will show the name of the path as the name of the vehicle in the Map/Compass. This is my current C++ Code (All temporary, it's mainly for me to understand how the systems work and what the functions do)...

AppendString offset

anybody have it? Also looking for: AppendString, ToString,...
Solution:
Nobody writes their mods like that because we don't have to and it's a problematic way of doing it.

How would I go about adding new icons to the game

Adding icons to use in signs, patterns on the ground and so on?

Can't get the tutorial Item Counter Machine to work.

This is my first mod. I've followed the tutorial step by step and now I'm stuck at the Item Counter Machine. My game crashes immediately after I have plugged the output conveyor AND the power connection. The game does not crash if I have only output conveyor or only power connection. Also does not crash if I have either of those with the input conveyor. I know there is an example of this mod that comes with SML, I did an almost complete copy (by eye, not an actual Ctrl C - Ctrl V) of the things regarding this specific page of the tutorial (https://docs.ficsit.app/satisfactory-modding/latest/Development/BeginnersGuide/SimpleMod/machines/SimpleMachine.html)....
Solution:
I think I found a little difference

Custom Player Movement/Changing Sprint speed

I'm new to modding but I am starting to get familiar with UE and blueprints, I've managed to make a custom chat command that works and such, and I am just wondering if there is any way to change some values from player movement. This is mostly a learning mod and such purely for myself, so I just would like some pointers

How do I import my homemade model into my game

I want to import my homemade model into the game as a new building, what software tools do I need to operate it? So far I've only used Contentlib to make recipes😩...
Solution:
You need the right oven to bake the assets unfortunately.

Can't adjust Truck Camera relative location

I'm currently working on adding trucks to my first person vehicle mods, but I've encountered a bit of an issue. With all other vehicles the camera is directly at the end of the camera (image 1) On the truck it's attached slightly above the spring arm (image 2) I've been moving the spring arm with the function shown in image 3, which works perfectly fine. However, using the same code to adjust the camera position (image 4) does not work, and I don't really understand why....
Solution:
The truck spring arm has a socket offset, which none of the other vehicles have. The camera movement was being applied, there's just an additional offset on the springarm...
No description

Error compiling mod with AlpaKit

last few times ive tried to recompile my mod, AlpaKit will start, then immediately error out. Below is from the output log: ``` LogAlpakit: Display: [Package FoundationalExtras] Running AutomationTool... LogAlpakit: Display: [Package FoundationalExtras] Using bundled DotNet SDK version: 6.0.302 LogAlpakit: Display: [Package FoundationalExtras] Starting AutomationTool......
Solution:
A bug in Alpakit means that canceling a pack operation will prevent you from packing again until you restart the editor. This will be fixed in a later release. -# Responding to alpakitstuckaftercancel triggered by @Hazel Rose...

Cannot Bypass 240 Items Per Minute Upload Speed For New MAM Research Mod

I decided to learn how to make a mod so that I could add a new MAM tree which would allow you to increase the upload speed of the Dimensional Depot. Despite changing the speed percentage in the blueprints I've created, the upload speed remains at 240 items per minute. If anyone has figured out how to bypass this, I would greatly appreciate some help as this has been bothering me for over a week now. Thanks in advance....
Solution:
CDO and change mDefaultTimeToUpload on the FGCentralStorageSettings class which I had been looking at for ages but since I had zero results actually having my CDO's NOT crash I was not feeling lucky....

Access Violations

I started using SUBSCRIBE_UOBJECT_METHOD() as per Mircea/Rex advice, but I still get an access violation. Starting a test world with nothing in it / no other mods besides SML, everything works OK until I place a sign. The build animation plays and then there's about 1 frame where the sign tries to display something and then the game crashes. ```cpp...
Solution:
```cpp float NewEmissiveValue = 0.0f; switch (Level) { case 0:...

Nuget package problems with setup

Moving @Rainmaker 's post here
Solution:
Yeah, this is an older list. Most of them I've been able to fix with the help of Rex. The security thing might be an issue though, as the TreatWarningsAsErrors is on for some of the projects. Easiest fix is probably to set <NuGetAudit>false</NuGetAudit> in the C# project files. But, currently, this only impacts people on VS preview.

Help with GameWorld vs GameInstance

I'm working on a mod to make the Phases harder by multiplying their costs. I'm running into a bug where each time you log into a dedicated server, the multiplications will reapply. My thought is that, as a GameWorld object, it loads each time, and the client displays re-multiplied numbers. I tried using a GameInstance object, but that has no effect, despite my logging claiming it's working. Interestingly, loading in repeatedly to a singleplayer world does not have the same effect, and the mod works as intended. Am I missing something? Is there some sort of reset in between these two objects loading?...
Solution:
You probably only need to run the multiplications on the side with authority