Having issues with quick switch groups

I'm making a custom foundation type but I'm having issues incorporating in the existing foundations. It just appears in every group, and if I switch material it just disappears. I'm also having issues with the material (for now I just have the concrete type)
No description
169 Replies
Spokloo
SpoklooOPā€¢3mo ago
I put it in the swapgroup 5 hoping it would give it it's own group, while it seems to work, it doesn't really. If I put it in swapgroup 3, it shows up in a separate group when swapping materials but is in the same group in the grip metal material, which considering this wheel above makes sense since it appears to be in group 3 How can I put it in a different group as full foundations and half foundations? And make it switch material when clicking to switch material?
D4rk
D4rkā€¢3mo ago
The parts that show up on the quick switch wheel are parts that all share the same Category and Subcategory in their descriptors and they are separated by the customizer buildable map they are assigned to. If your part is not assigned to a buildable map then it belongs to the "no filter" group, which is why it shows up in all materials.
Spokloo
SpoklooOPā€¢3mo ago
Hmm, what's a buildable map exactly? Where is it referenced? I probably didn't touch it then
D4rk
D4rkā€¢3mo ago
FGFactoryCustomizationDescriptorMaterial->mBuildableMap The games descriptors are in this folder /FactoryGame/Buildable/-Shared/Customization/Materials/ You will need to add your parts to these maps via CDO if you want them to use the material
D4rk
D4rkā€¢3mo ago
Like so. Note that the map entries have to be unique
No description
D4rk
D4rkā€¢3mo ago
BlueprintReadWrite=(Class="/Script/FactoryGame.FGFactoryCustomizationDescriptor_Material", Property="mBuildableMap")
Spokloo
SpoklooOPā€¢3mo ago
I see, thanks, I'll take a look at this and let you know if it worked I assume this should be in the buildable descriptor?
D4rk
D4rkā€¢3mo ago
No, you would run that code from a mod module or subsystem. The CDO edit should only be done once and sometime early in loading. Use Module->EventOnLIfeCycle or Subsystem->BeginPlay
Spokloo
SpoklooOPā€¢3mo ago
I'm not really familiar with those, where can I find this? Is it in a specific blueprint or something else entirely?
D4rk
D4rkā€¢3mo ago
Your mod should already have a GameWorldModule so you can put the code in there. You will also need the access transformer I posted to expose the property. (read the docs thoroughly) https://docs.ficsit.app/satisfactory-modding/latest/Development/ModLoader/AccessTransformers.html https://docs.ficsit.app/satisfactory-modding/latest/Development/ModLoader/ModModules.html https://docs.ficsit.app/satisfactory-modding/latest/Development/ModLoader/Subsystems.html
Access Transformers :: Satisfactory Modding Documentation
UE-CSS 4.25.3 build 42 adds a new feature: the ability to make accessors for fields, add friend classes, and make properties BlueprintReadWr...
Mod Modules :: Satisfactory Modding Documentation
Mod Modules are a system provided by SML that allows for simple hooking into the engine life-cycle at key locations important for Satisfacto...
Subsystems :: Satisfactory Modding Documentation
If youā€™re looking for the subsystems that SML provides by default, check out the Registry page. Subsystems are actors that exist...
No description
Spokloo
SpoklooOPā€¢3mo ago
Ok thanks so much! So if I understood correctly, the root game world module calls a subsystem each time a save is loaded which adds to the buildable map right?
D4rk
D4rkā€¢3mo ago
No, you dont need a subystem at all. Do all of your CDO edits in the GameWorldModule and that should be all you need
Spokloo
SpoklooOPā€¢3mo ago
Ooh ok And do I need a BeginPlay or EventOnLifeCycle to start or since it's the root game module it's automatic?
Rex
Rexā€¢3mo ago
GameWorldModule uses the latter
D4rk
D4rkā€¢3mo ago
Modules are not actors and they don't have BeginPlay Use OnLIfeCycleEvent
Spokloo
SpoklooOPā€¢3mo ago
Alright thanks What's that Target node called? I can't find it
D4rk
D4rkā€¢3mo ago
That is a property that you have to expose with access transformers. https://discord.com/channels/555424930502541343/1296535306123874376/1296551116997398599
Spokloo
SpoklooOPā€¢3mo ago
Aaaah I see And how do I know which buildable map it is targetting? Oh nevermind that's the CDO getter
Spokloo
SpoklooOPā€¢3mo ago
Hmm, might have broken some things
No description
Spokloo
SpoklooOPā€¢3mo ago
Clicking it crashes my game
Robb
Robbā€¢3mo ago
what is the crash you get? it can give some hints about what went wrong
Spokloo
SpoklooOPā€¢3mo ago
Rex
Rexā€¢3mo ago
Something is null
Robb
Robbā€¢3mo ago
seems like there is somehow a bad entry for the building in that collection now add some logs to your code to make sure you aren't adding anything invalid to those arrays you are modifying
Spokloo
SpoklooOPā€¢3mo ago
Hmmm could be that I switched my build_foundation asset from FGBuildableFoundation to FGBuildableFoundationLightweight. I haven't found a way to tell the latter one which mesh to take so I think that's the issue But I don't know how to fix this
Spokloo
SpoklooOPā€¢3mo ago
It is set to Holo_Foundation
D4rk
D4rkā€¢3mo ago
If you're using lightweight classes, you need a data object in the builder
No description
Spokloo
SpoklooOPā€¢3mo ago
Oooh that's probably it. What is the difference between lightweight and non lightweight classes? I just copied one foundation from the base game without putting in much thought but I don't actually know the difference
Rex
Rexā€¢3mo ago
I have this and it works
No description
D4rk
D4rkā€¢3mo ago
Upgrading from SML 3.7.0 to 3.8.x :: Satisfactory Modding Documenta...
The contents of this page will change frequently! Keep your eyes on the #modding-info-feed discord channel to be notified when updates are m...
D4rk
D4rkā€¢3mo ago
Are you 100% sure that your parts are lightweights? The only way to know is to hit it with a trace and resolve the handle owner
Rex
Rexā€¢3mo ago
Though this is NOT using the new lightweight buildable system, so I expect it to be not-great w.r.t. performance I am 100% sure they're not, this is some mod I inherited šŸ˜…
Spokloo
SpoklooOPā€¢3mo ago
It still crashes Thanks I'll give that a read
Spokloo
SpoklooOPā€¢3mo ago
Pretty sure that's the same error but posting it anyways
Rex
Rexā€¢3mo ago
What did you change?
Spokloo
SpoklooOPā€¢3mo ago
Added this and gave a foundation mesh with the ficsitset material
Spokloo
SpoklooOPā€¢3mo ago
No description
D4rk
D4rkā€¢3mo ago
Remove the override material
Spokloo
SpoklooOPā€¢3mo ago
Oh why? How can I tell it its material then?
D4rk
D4rkā€¢3mo ago
The material you want to use has to be already assigned to the mesh
Spokloo
SpoklooOPā€¢3mo ago
Ooooh got it
D4rk
D4rkā€¢3mo ago
also, set NumCustomDataFLoats to 20 or you wont be able to customize it
Spokloo
SpoklooOPā€¢3mo ago
Why 20 in particular? Does it mean anything?
Rex
Rexā€¢3mo ago
It's how it works
Spokloo
SpoklooOPā€¢3mo ago
Alright x) It still crashes It still has the "nullpeter" name though, maybe something else is the cause
D4rk
D4rkā€¢3mo ago
Data floats are how the game sends information to the materials, like paint color or has power, https://docs.ficsit.app/satisfactory-modding/latest/Development/Satisfactory/Paintable.html
Paintable Materials & Tintable Lights :: Satisfactory Modding Docum...
Making things paintable is not as difficult as it may seem. You can use the existing materials, or create your own implementation. Ma...
Rex
Rexā€¢3mo ago
Revise the recipe and the descriptor, see if they reference the descriptor and the buildable respectively
Spokloo
SpoklooOPā€¢3mo ago
Indeed one reference was missing somehow It doesn't crash anymore and it seems to work for the ficsit set but the concrete set doesn't show up
D4rk
D4rkā€¢3mo ago
Compare working to broken and figure out what is different
Spokloo
SpoklooOPā€¢3mo ago
The only difference I found is in the schematic, the concrete variant is not in the Unlocks array. I already tried that before but it showed the concrete variant in the list of unlocked buildables when hovering over the Awesome shop schematic (the other foundations only show ficsit set) I see thanks
Spokloo
SpoklooOPā€¢3mo ago
This is what I mean
No description
Rex
Rexā€¢3mo ago
Not sure how it works, but I think there's some interdependencies between customizer schematics and foundation/wall schematics
D4rk
D4rkā€¢3mo ago
I'm not sure either, compare your classes to what the game has set up?
Rex
Rexā€¢3mo ago
The idea is that you can only unlock the Concrete Quarter Pipe (for example) if you've unlocked the Concrete Customizer Material and the Quarter Pipes Pack It's probably implemented using groups of 3 schematics: - sink shop schematic for the customizer material - sink shop schematic for the foundation shape - hidden schematic that depends on the first 2 schematics The sink shop schematics are reused
Spokloo
SpoklooOPā€¢3mo ago
That makes sense
Spokloo
SpoklooOPā€¢3mo ago
I found that
No description
Rex
Rexā€¢3mo ago
Ah, it's shaped like a lattice
Rex
Rexā€¢3mo ago
Mx (horizontal lines) are sink shop schematics for customizer materials Fx (vertical lines) are sink shop schematics for foundation shapes The points where two lines cross are hidden schematics that depend on the two lines that cross (one material schematic, one shape schematic)
No description
Spokloo
SpoklooOPā€¢3mo ago
Hmm and how do I add this hidden schematic? Is this the CBG schematic?
Rex
Rexā€¢3mo ago
Look at the existing schematics to see how they're implemented
Spokloo
SpoklooOPā€¢3mo ago
I'm even more confused
No description
Spokloo
SpoklooOPā€¢3mo ago
Why is it only foundations and ramps? Oh there are multiple, my bad
Rex
Rexā€¢3mo ago
That looks like a hidden schematic, yes
Spokloo
SpoklooOPā€¢3mo ago
Might have understood, gonna try some stuff It's almost working, when the concrete customizer is already unlocked, my concrete foundation does show up, but when it's not unlocked yet and I unlock my foundations first, then the concrete type doesn't show up I think it might only try to unlock the concrete foundation once at the beginning
Spokloo
SpoklooOPā€¢3mo ago
That's what I put in my CBG
No description
Spokloo
SpoklooOPā€¢3mo ago
Oh, I need to add my CBG to the concrete customizer schematic I think
Spokloo
SpoklooOPā€¢3mo ago
No description
Spokloo
SpoklooOPā€¢3mo ago
I suppose I have to add it the same way I did with the buildable map right? I tried adding that BlueprintReadWrite=(Class="/Script/FactoryGame.FGSchematic", Property="mSchematics") but I'm not sure that's right šŸ¤” I do have a M Schematics getter but I don't think I can specify ResourceSink_Customizer_Concrete_FoundationMaterial to it, so I don't actually know what the array of schematics contains
Spokloo
SpoklooOPā€¢3mo ago
Tried something like that
No description
Rex
Rexā€¢3mo ago
You should get the M Schematics variable from that CDO And this should be done in something like a game world module or game instance module
Spokloo
SpoklooOPā€¢3mo ago
Isn't this what I have? Yeah that's my root game world module
Rex
Rexā€¢3mo ago
I can't tell from a partial screenshot With a screenshot of the entire editor window, I can see the parent class in the top right corner
Spokloo
SpoklooOPā€¢3mo ago
My bad that's a bit of a mess that's why
Spokloo
SpoklooOPā€¢3mo ago
No description
Rex
Rexā€¢3mo ago
For future reference
No description
Rex
Rexā€¢3mo ago
Okay, you should save the CDOs to a variable so that they remain referenced. If you have many CDOs to edit, I'd suggest using an array
Spokloo
SpoklooOPā€¢3mo ago
How would you do that?
Rex
Rexā€¢3mo ago
Something like this (above is variable, below is array)
No description
Rex
Rexā€¢3mo ago
Ignore types and variable names, I used whatever I had in the blueprint šŸ˜…
Spokloo
SpoklooOPā€¢3mo ago
Hmm what's the purpose of this exactly? It seems to work fine without it
Rex
Rexā€¢3mo ago
It's to make sure the edited CDO remains in memory Otherwise, it's possible for the CDO to be unloaded and then loaded again from disk, effectively undoing any CDO edits
Spokloo
SpoklooOPā€¢3mo ago
Shouldn't it be unloaded only when a save is unloaded? Since it's the Game world module Also I can't find the Tool Modes nodes
Robb
Robbā€¢3mo ago
Ignore types and variable names, I used whatever I had in the blueprint
Spokloo
SpoklooOPā€¢3mo ago
ooooh
Robb
Robbā€¢3mo ago
you will need to make your own array of type object
Spokloo
SpoklooOPā€¢3mo ago
Ok ok Got it
Robb
Robbā€¢3mo ago
not necessarily, UE has a garbage collector, anything not being referenced could get collected
Spokloo
SpoklooOPā€¢3mo ago
Ah I see
Rex
Rexā€¢3mo ago
And the GC runs every 60 seconds or so by default, IIRC
Spokloo
SpoklooOPā€¢3mo ago
Ok I think I finally managed to store the CDOs in variables, it took me way took long xD Now about this, I don't think the access transformer is correct, I think the M Schematics I found is something else
Rex
Rexā€¢3mo ago
Ah yes, it's probably mUnlocks
Spokloo
SpoklooOPā€¢3mo ago
Hmm, mUnlocks is an array of arrays, I tried getting FGUnlockSchematic part of the array with a getter but that returns a copy so I can't modify it
Rex
Rexā€¢3mo ago
It returns a copy of a pointer, you can modify that
Spokloo
SpoklooOPā€¢3mo ago
It seems to return me the wrong type
Spokloo
SpoklooOPā€¢3mo ago
No description
Spokloo
SpoklooOPā€¢3mo ago
Shouldn't it be an FGUnlockSchematic?
Rex
Rexā€¢3mo ago
No A schematic can unlock a bunch of other things What did you need to do this CDO edit for? I forget
Spokloo
SpoklooOPā€¢3mo ago
For this I need to add the hidden schematic I created to this array
D4rk
D4rkā€¢3mo ago
The FGUnlock object needs to be casted to the type, I.E. FGUnlockRecipe, and you'll need to expose it's properties as well. BlueprintReadWrite=(Class="/Script/FactoryGame.FGUnlockRecipe", Property="mRecipes") Whichever type and property you are trying to set
Rex
Rexā€¢3mo ago
Find the element that is a FGUnlockSchematic and then operate on it
Spokloo
SpoklooOPā€¢3mo ago
Ok so something like that?
No description
Rex
Rexā€¢3mo ago
Yeah
Spokloo
SpoklooOPā€¢3mo ago
Damn that would have been so much easier in C++ Not a fan of blueprints, I find them harder to work with
Rex
Rexā€¢3mo ago
I find them faster to iterate with
Spokloo
SpoklooOPā€¢3mo ago
I guess, maybe it's because I'm not used to blueprints Which file should I have modified if I wanted to do that same thing in C++? Well that made my schematic disappear it seems
Spokloo
SpoklooOPā€¢3mo ago
Connecting that link in yellow makes my schematic disappear
No description
Spokloo
SpoklooOPā€¢3mo ago
Any ideas why it does that?
D4rk
D4rkā€¢3mo ago
Sorry, I don't. You're doing stuff that I have never attempted. My advice would be to log as much as possible and see where things are going wrong.
Spokloo
SpoklooOPā€¢3mo ago
Hmm, ok thanks anyways Where do the logs show up? I don't see anyting in the output log and nothing in the logs files
Robb
Robbā€¢3mo ago
>files_logs
Spokloo
SpoklooOPā€¢3mo ago
Thanks I'm going to sleep so if anyone has an idea to fix this, I'll gladly take it. I tried for a while but with 0 progress so far
Spokloo
SpoklooOPā€¢3mo ago
After a bit of debugging, it seems the culprit is that red link
No description
Spokloo
SpoklooOPā€¢3mo ago
Maybe the mSchematics it targets is wrong and causes my schematic to disappear from the awesome shop somehow But it looks like my schematic is correctly added to the array though
[2024.10.19-09.19.17:163][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Foundations_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Ramps_Corners_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Ramps_Double_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Ramps_InvCorners_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Ramps_Inverted_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_QuarterPipes_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Colour_ConcreteSwatch_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Half_Foundations_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_ExtensionQuarterPipes_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Stairs_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Quarter_Foundation_Concrete_C
[2024.10.19-09.19.17:163][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Foundations_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Ramps_Corners_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Ramps_Double_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Ramps_InvCorners_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Ramps_Inverted_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_QuarterPipes_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Colour_ConcreteSwatch_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Half_Foundations_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_ExtensionQuarterPipes_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Stairs_Concrete_C
[2024.10.19-09.19.17:164][391]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: CBG_Quarter_Foundation_Concrete_C
And it looks like it's the correct class as well
[2024.10.19-09.19.17:163][391]LogSatisfactoryModLoader: Warning: Blueprint /MoreBuildables/RootGameWorld_MoreBuildables, owned by MoreBuildables, is accessing CDO of class /Game/FactoryGame/Schematics/ResourceSink/Customizer/ResourceSink_Customizer_Concrete_FoundationMaterial.ResourceSink_Customizer_Concrete_FoundationMaterial_C, owned by FactoryGame
[2024.10.19-09.19.17:163][391]LogSatisfactoryModLoader: Warning: Blueprint /MoreBuildables/RootGameWorld_MoreBuildables, owned by MoreBuildables, is accessing CDO of class /Game/FactoryGame/Schematics/ResourceSink/Customizer/ResourceSink_Customizer_Concrete_FoundationMaterial.ResourceSink_Customizer_Concrete_FoundationMaterial_C, owned by FactoryGame
Found that in the logs, could that be the issue?
[2024.10.19-09.19.02:174][ 0]LogStreaming: Warning: Missing Dependency, missing script import 0x318504F35575864F for package /MoreBuildables/Buildables/Building/Foundation/Concrete/Build_Quarter_Foundation_Concrete_4m
[2024.10.19-09.19.02:174][ 0]LogStreaming: Error: CreateExport: /MoreBuildables/Buildables/Building/Foundation/Concrete/Build_Quarter_Foundation_Concrete_4m (0xAB97CD623B7CF62E) /MoreBuildables/Buildables/Building/Foundation/Concrete/Build_Quarter_Foundation_Concrete_4m (0xAB97CD623B7CF62E) - Could not find template object for BuildingMeshProxy
[2024.10.19-09.19.02:174][ 0]LogStreaming: Warning: Missing Dependency, missing script import 0x318504F35575864F for package /MoreBuildables/Buildables/Building/Foundation/FICSIT/Build_Quarter_Foundation_4m
[2024.10.19-09.19.02:174][ 0]LogStreaming: Error: CreateExport: /MoreBuildables/Buildables/Building/Foundation/FICSIT/Build_Quarter_Foundation_4m (0xEDBF1186693A670A) /MoreBuildables/Buildables/Building/Foundation/FICSIT/Build_Quarter_Foundation_4m (0xEDBF1186693A670A) - Could not find template object for BuildingMeshProxy
[2024.10.19-09.19.02:174][ 0]LogStreaming: Warning: Missing Dependency, missing script import 0x318504F35575864F for package /MoreBuildables/Buildables/Building/Foundation/Concrete/Build_Quarter_Foundation_Concrete_4m
[2024.10.19-09.19.02:174][ 0]LogStreaming: Error: CreateExport: /MoreBuildables/Buildables/Building/Foundation/Concrete/Build_Quarter_Foundation_Concrete_4m (0xAB97CD623B7CF62E) /MoreBuildables/Buildables/Building/Foundation/Concrete/Build_Quarter_Foundation_Concrete_4m (0xAB97CD623B7CF62E) - Could not find template object for BuildingMeshProxy
[2024.10.19-09.19.02:174][ 0]LogStreaming: Warning: Missing Dependency, missing script import 0x318504F35575864F for package /MoreBuildables/Buildables/Building/Foundation/FICSIT/Build_Quarter_Foundation_4m
[2024.10.19-09.19.02:174][ 0]LogStreaming: Error: CreateExport: /MoreBuildables/Buildables/Building/Foundation/FICSIT/Build_Quarter_Foundation_4m (0xEDBF1186693A670A) /MoreBuildables/Buildables/Building/Foundation/FICSIT/Build_Quarter_Foundation_4m (0xEDBF1186693A670A) - Could not find template object for BuildingMeshProxy
I don't think so, it show up in logs even when I remove the problematic link So it seems my schematic is in the game world module event after adding the link that makes it disappear
[2024.10.19-12.41.55:797][490]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: ResourceSink_Quarter_Foundations_C
[2024.10.19-12.41.55:797][490]LogMoreBuildables: Display: [/MoreBuildables/RootGameWorld_MoreBuildables]: ResourceSink_Quarter_Foundations_C
So it is present, but it doesn't show up. Also if I load a save where I already unlocked my recipe, I can actually build the foundation, so it does exist What can cause a schematic to not show up despite it begin in the root game world module? I'm really stuck on this one, it's such a weird behaviour. I know you said you don't know how to help but do you guys know someone that I could ask that might know something? Wait, I think I actually fixed it
Spokloo
SpoklooOPā€¢3mo ago
I just swapped the link from Initialization to post initialization
No description
Spokloo
SpoklooOPā€¢3mo ago
Though I can't seem to be able to change the foundation material, is it some other stuff?
Rex
Rexā€¢3mo ago
Change the foundation material?
Spokloo
SpoklooOPā€¢3mo ago
Yeah like this
No description
Spokloo
SpoklooOPā€¢3mo ago
Using customizer
Rex
Rexā€¢3mo ago
I think it needs to be set up accordingly, but I don't know the details
D4rk
D4rkā€¢3mo ago
Check your recipe and make sure it has a replacement cost. Also verify that your builder map additions actually got added. I can't think of anything else that would prevent it from working.
No description
Spokloo
SpoklooOPā€¢3mo ago
Everything seems to be set so that's weird It seems I can modify the material but only on the same material; like if the foundation is the default material I can only customize it with the ficsit set, not the concrete one Same goes for the concrete variant
Rex
Rexā€¢3mo ago
Can you show what the material customization recipe is set to, for your foundations?
Spokloo
SpoklooOPā€¢3mo ago
That's the recipe for the concrete foundation
No description
Spokloo
SpoklooOPā€¢3mo ago
And for the default foundation the material customization is the default material
D4rk
D4rkā€¢3mo ago
Sounds like your builer map additions are backward. Try swapping them.
Rex
Rexā€¢3mo ago
I found this interesting
No description
Rex
Rexā€¢3mo ago
Recipes
No description
Spokloo
SpoklooOPā€¢3mo ago
The top row is all default materials and the bottom row is all concrete materials
No description
D4rk
D4rkā€¢3mo ago
swap the add nodes and try it
Rex
Rexā€¢3mo ago
You have to add all the entries concrete build ---> ficsit recipe, asphalt build ---> ficsit recipe, metal build ---> ficsit recipe
Spokloo
SpoklooOPā€¢3mo ago
Oooooh That actually makes a lot of sense Damn that blueprint will be massive Is there a way to make functions in blueprints?
Rex
Rexā€¢3mo ago
Yes, also you should probably use loops
Spokloo
SpoklooOPā€¢3mo ago
That seems so tideous with blueprints, is there a way to do that in C++? I guess so but I have yet to setup C++ for this project so I'm not sure how to get started Is it possible to replace that whole thing with C++?
Rex
Rexā€¢3mo ago
Then you'd have to find a way to reference the blueprint assets from C++ Which is a pain anyway
Spokloo
SpoklooOPā€¢3mo ago
Ah
Rex
Rexā€¢3mo ago
One sec, let me try something
D4rk
D4rkā€¢3mo ago
I don't think it is required that you add them to every buildermap to make them work in one of them. The problem has something to do with the classes you are adding.
D4rk
D4rkā€¢3mo ago
Look over the source for Beavers Christmas Booster https://github.com/DavidHGillen/Satisfactory-AB_XMASBooster
GitHub
GitHub - DavidHGillen/Satisfactory-AB_XMASBooster: The Satisfactory...
The Satisfactory mod AB_XMASBooster. Contribute to DavidHGillen/Satisfactory-AB_XMASBooster development by creating an account on GitHub.
Spokloo
SpoklooOPā€¢3mo ago
Hmm what do you mean exactly?
D4rk
D4rkā€¢3mo ago
What classes are being added to these buildermaps?
Spokloo
SpoklooOPā€¢3mo ago
For now, to the default material buildmap I'm only adding the concrete foundation build with the default material foundation recipe and for the concrete material buildmap, the default material foundation build with the concrete foundation recipe But I thought I had to do that for every material like Rex said in this message For now I only have concrete and default so that's why I only add one thing to each buildmaps
D4rk
D4rkā€¢3mo ago
What are the full names for these
No description
Spokloo
SpoklooOPā€¢3mo ago
At the top: Build_Quarter_Foundation_Concrete_4m Recipe_Quarter_Foundation_4m At the bottom: Build_Quarter_Foundation_4m Recipe_Quarter_Foundation_Concrete_4m
D4rk
D4rkā€¢3mo ago
And both of those recipes have the correct material recipe assigned? This https://discord.com/channels/555424930502541343/1296535306123874376/1297231723972792444
Spokloo
SpoklooOPā€¢3mo ago
Yeah but it works now I think I was just wondering why you said it wasn't required to add them for every material
D4rk
D4rkā€¢3mo ago
You only need to add them to the buildermaps you want to use. For example, if you dont have a grip metal variant, you dont have to add something in that map to make it work with the other maps. That's all I meant
Spokloo
SpoklooOPā€¢3mo ago
Oooh ok I misunderstood Is there something on the documentations for this? Like to go from a blueprint to C++?
D4rk
D4rkā€¢3mo ago
C++ Modding :: Satisfactory Modding Documentation
Utilizing Cā€+ā€+ code in your mod allows access to a much wider variety of game systems and features. Furthermore, Cā€+ā€+ code is often compil...
Spokloo
SpoklooOPā€¢3mo ago
Thanks I'll take a look at that Well thank you everyone for your patience and help, I got it working now! Now I understand so much more than at the beginning of this thread, this was really helpful
Rex
Rexā€¢3mo ago
Sorry, never got around to doing that
Spokloo
SpoklooOPā€¢3mo ago
No worries I'll figure it out
Rex
Rexā€¢3mo ago
My idea was to make a function which takes a list of your custom recipes and automatically sets up the material customization stuff
AngryBeaver
AngryBeaverā€¢3mo ago
There's too many typos for this to be anything other than a giant hand made list
Rex
Rexā€¢3mo ago
I'm confused, I would only need the custom assets to have something in common to know they're the same shape
AngryBeaver
AngryBeaverā€¢3mo ago
yeah and the naming isn't consistent, typo free, or organized enough for the list to be much other than just a giant list of edge cases. Unless you were to do what Ben has been hoping to do and assign ShapeIDs to each individual item so that you can do a bi directional lookup without the need for the dual maps there's no good way to automate a simplification
Rex
Rexā€¢3mo ago
I mean custom assets, i.e. the ones made by Spokloo Vanilla assets can do whatever they want
AngryBeaver
AngryBeaverā€¢3mo ago
Right but the problem is the work of greating the multiple maps necesary to go in every direction right? so what the vanilla assets did matters
Rex
Rexā€¢3mo ago
That's what I want to automate And I'm pretty sure I can do that, let me try
AngryBeaver
AngryBeaverā€¢3mo ago
and I'm telling you it's not organized enough to automate without just making a giant list
Rex
Rexā€¢3mo ago
It only needs to be a list of your custom assets, grouped by shape Specifically, I'd reference recipes and resolve stuff through properties
AngryBeaver
AngryBeaverā€¢3mo ago
and then how does that know what it applies to on the vanilla assets?
Rex
Rexā€¢3mo ago
Ah, gotcha I was thinking about new shapes, not new materials. That's what this thread is about after all
AngryBeaver
AngryBeaverā€¢3mo ago
ah that might be my bad for not reading the hundreds of messages but my new material was brought up
Rex
Rexā€¢3mo ago
For new materials, it might be easier: you'd only need to match the custom material recipe to the same-shape recipe for e.g. ficsit material So you'd have a map
AngryBeaver
AngryBeaverā€¢3mo ago
yeah both me and D4rk would love a betetr system of doing material replacements and Ben was working on one
Spokloo
SpoklooOPā€¢3mo ago
I'm not familiar enough with the code base to understand all that but I think I'm gonna stick with what I have for now, maybe I'll change that in the future once I understand better
Want results from more Discord servers?
Add your server