SML3.11 and 5.3.2-CSS-68

Hi, I have been struggeling with sml3.11-dev and the 3.5.2-CSS-68 engine... i can't get it to work. Get stuck in the build everytime after adding some cpp code to a alpakit created project. I add files in VS and rebuild, then it makes errors on varies issues, automation script missing... but several others too. Updated VS , regenerate VS files. Chdck wwise and audio files, ... should it work or is it still depending on certain parts not covered in the dev docs I also tried copying the header and cpp in their rspective folders in the source dir of my mod, then regenerate VS files and start rebuild in VS of factorygame, but again errors... i am doing something wrong, it should at least rebuild. The cpp files also never show up in the UE editor browser #SML3.11
78 Replies
Rex
Rex5d ago
You should post the build log, in the Output tab (the Errors tab is not particularly useful to understand why something is an error)
xpsion
xpsionOP5d ago
the build log is massive... let me look for relevant section Init section: Build started at 00:03... 1>------ Build started: Project: FactoryGame (Games\FactoryGame\FactoryGame), Configuration: Development_Editor x64 ------ 1>Using bundled DotNet SDK version: 6.0.302 1>Running UnrealBuildTool: dotnet "....\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" FactoryEditor Win64 Development -Project="F:\Modding\SatisfactoryModLoader-dev\FactoryGame.uproject" -WaitMutex -FromMsBuild 1>Log "https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html">https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html. (Previously: PCHUsageMode.UseSharedPCHs). 1>[Upgrade]     bLegacyParentIncludePaths = false                 => Omits module parent folders from include paths to reduce compiler command line length. (Previously: true). 1>[Upgrade]     CppStandard = CppStandardVersion.Default          => Updates C++ Standard to C++20 (Previously: CppStandardVersion.Cpp17). 1>[Upgrade]     WindowsPlatform.bStrictConformanceMode = true     => Updates MSVC strict conformance mode to true (Previously: false). 1>[Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.V4;' in FactoryEditor.Target.cs, and explicitly overriding settings that differ from the new defaults. 1>[Upgrade] 1>Determining max actions to execute in parallel (4 physical cores, 8 logical cores) 1>  Executing up to 4 processes, one per physical core 1>------ Building 424 action(s) started ------ Relevant?? >[275/424] Compile [x64] Module.SML.6.cpp 1>F:\Modding\SatisfactoryModLoader-dev\Mods\SML\Source\SML\Private\Configuration\Properties\ConfigPropertySection.cpp(81): warning C4996: 'UObject::IsDataValid': Please use IsDataValid(FDataValidationContext&) const as the FDataValidationContext will allow distinguishing between Warnings and Errors. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. 1>F:\Modding\SatisfactoryModLoader-dev\Mods\SML\Source\SML\Private\Kismet\RuntimeBlueprintFunctionLibrary.cpp(16): warning C4996: ANY_PACKAGE has been deprecated. Either use full path name of objects (including classes) or provide a valid Outer for FindObject functions Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. 1>F:\Modding\SatisfactoryModLoader-dev\Mods\SML\Source\SML\Private\Kismet\RuntimeBlueprintFunctionLibrary.cpp(19): warning C4996: ANY_PACKAGE has been deprecated. Either use full path name of objects (including classes) or provide a valid Outer for FindObject functions Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. 1>F:\Modding\SatisfactoryModLoader-dev\Mods\SML\Source\SML\Private\Kismet\RuntimeBlueprintFunctionLibrary.cpp(290): warning C4996: 'USpinBox::Font': Direct access to Font is deprecated. Please use the getter or setter. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. F:\Modding\SatisfactoryModLoader-dev\Mods\Alpakit\Intermediate\Build\Win64\x64\UnrealEditor\Development\Alpakit\UnrealEditor-Alpakit.sup.lib and object F:\Modding\SatisfactoryModLoader-dev\Mods\Alpakit\Intermediate\Build\Win64\x64\UnrealEditor\Development\Alpakit\UnrealEditor-Alpakit.sup.exp 1>Total time in Parallel executor: 702.81 seconds 1>Total execution time: 706.95 seconds 1>e:\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command ""F:\Unreal Engine - CSS\Engine\Build\BatchFiles\Build.bat" FactoryEditor Win64 Development -Project="F:\Modding\SatisfactoryModLoader-dev\FactoryGame.uproject" -WaitMutex -FromMsBuild" exited with code 6. 1>Done building project "FactoryGame.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== ========== Build completed at 00:15 and took 11:47,495 minutes ==========
FICSIT-Fred
FICSIT-Fred5d ago
Note: the "exit code 6" message which appears in build logs is very vague - it indicates that building C++ failed for some other reason. If you'd like help with this error, make sure that you also share the rest of the build output as described here (or from the Alpakit Log tab if you're getting this at mod package time) https://docs.ficsit.app/satisfactory-modding/latest/Development/BeginnersGuide/project_setup.html#_the_command_exited_with_code_6 -# Responding to exitcode6moreinfoneeded triggered by @xpsion
xpsion
xpsionOP5d ago
Here is a fatal error : 1>[402/424] Link [x64] UnrealEditor-FactoryEditor.dll 1>   Creating library F:\Modding\SatisfactoryModLoader-dev\Intermediate\Build\Win64\x64\UnrealEditor\Development\FactoryEditor\UnrealEditor-FactoryEditor.sup.lib and object F:\Modding\SatisfactoryModLoader-dev\Intermediate\Build\Win64\x64\UnrealEditor\Development\FactoryEditor\UnrealEditor-FactoryEditor.sup.exp 1>EditorDebugSubsystem.cpp.obj : error LNK2019: unresolved external symbol "declspec(dllimport) public: struct FWorldContext & cdecl UEditorEngine::GetEditorWorldContext(bool)" (imp_?GetEditorWorldContext@UEditorEngine@@QEAAAEAUFWorldContext@@_N@Z) referenced in function "private: void cdecl UEditorDebugSubsystem::DebugDrawCanvas(class UCanvas *,class APlayerController *)" (?DebugDrawCanvas@UEditorDebugSubsystem@@AEAAXPEAVUCanvas@@PEAVAPlayerController@@@Z) 1>EditorDebugSubsystem.cpp.obj : error LNK2019: unresolved external symbol "declspec(dllimport) class UEditorEngine * GEditor" (imp?GEditor@@3PEAVUEditorEngine@@EA) referenced in function "private: static void cdecl UEditorDebugSubsystem::ClearAllEditorDebugStrings(void)" (?ClearAllEditorDebugStrings@UEditorDebugSubsystem@@CAXXZ) 1>F:\Modding\SatisfactoryModLoader-dev\Binaries\Win64\UnrealEditor-FactoryEditor.dll : fatal error LNK1120: 2 unresolved externals 1>[403/424] Link [x64] UnrealEditor-ReliableMessagingEOSP2P.lib 2 unresolved externals???? Mmm, i think i maybe start to understand it. *The Core Problem:** EditorDebugSubsystem.cpp.obj : error LNK2019: unresolved external symbol "declspec(dllimport) public: struct FWorldContext & cdecl UEditorEngine::GetEditorWorldContext(bool)" (imp?GetEditorWorldContext@UEditorEngine@@QEAAAEAUFWorldContext@@_N@Z) referenced in function "private: void __cdecl UEditorDebugSubsystem::DebugDrawCanvas(class UCanvas *,class APlayerController *)" (?DebugDrawCanvas@UEditorDebugSubsystem@@AEAAXPEAVUCanvas@@PEAVAPlayerController@@@Z) EditorDebugSubsystem.cpp.obj : error LNK2019: unresolved external symbol linker error (LNK2019 Something i initiated with my c++ adding method caused something to look for the UnrealEd module or??? I think better to cteate empty cpp class inside UE and not via explorer or VS, it creates bugs as the doc indeed advised....
Robb
Robb5d ago
Weird indeed, maybe it's having trouble resolving an include or something as well? In the future, if you were to paste the entire build log, discord will turn it into a text file upload because it's so long. And you can use triple backtick fences for code formatting of text
Like this
Like this
(``` on each end) I guess create a file with the new class wizard and then compare its contents with the one you wrote manually?
Rex
Rex4d ago
You can also upload the log as a file I would need to see your code to know what's going on But sounds like you might be calling a method from a module that you don't list as a dependency. It also seems to be an editor-only method?
xpsion
xpsionOP4d ago
LNK2019 I checked the factory.build.cs but dependency to UnrealEd is in Now further digging as the FactoryEditor.Build.cs did not have it
xpsion
xpsionOP4d ago
Gist
gist:5d07d2c2a8c3e7f13238a0bab66effdb
GitHub Gist: instantly share code, notes, and snippets.
xpsion
xpsionOP4d ago
Yes. I will do that. Cpp that was in private #include "TruckNameHook.h" // Static storage for truck names TMap<FString, F String> FTruckNameHook::TruckNames; void FTruckNameHook::Initialize() { UE_LOG(LogTemp, Log, TEXT("xpsion's Truck Manager: Initializing truck name hook"));
// need to add hook UE_LOG(LogTemp, Log, TEXT("xpsion's Truck Manager: Hook initialized successfully")); } void FTruckNameHook::Shutdown() { UE_LOG(LogTemp, Log, TEXT("xpsion's Truck Manager: Shutting down truck name hook")); // Hooks are automatically cleaned up by SML } FText FTruckNameHook::GetTruckDisplayText(const class AFGWheeledVehicle* Truck) { return FText::FromString("Truck"); } void FTruckNameHook::SetTruckName(const FString& TruckPath, const FString& Name) { TruckNames.Add(TruckPath, Name); UE_LOG(LogTemp, Log, TEXT("xpsion's Truck Manager: Set truck name '%s' for path '%s'"), *Name, TruckPath); } FString FTruckNameHook::GetTruckName(const FString& TruckPath) { if (TruckNames.Contains(TruckPath)) { return TruckNames[TruckPath]; } return ""; } FString FTruckNameHook::GetTruckObjectPath(const class AFGWheeledVehicle Truck) { return ""; } And the header #pragma once #include "CoreMinimal.h" #include "Patching/NativeHookManager.h" /** * intercept truck name display and handle F key naming / class XPSIONTRUCKMANAGER_API FTruckNameHook { public: static void Initialize(); static void Shutdown();
public: // Hook function to replace truck display text static FText GetTruckDisplayText(const class AFGWheeledVehicle
Truck);
// Set a truck name static void SetTruckName(const FString& TruckPath, const FString& Name);
// Get a truck name static FString GetTruckName(const FString& TruckPath);
// Get truck object path for identification static FString GetTruckObjectPath(const class AFGWheeledVehicle* Truck); private: // in-mem sto for truck names static TMap<FString, FString> TruckNames; };
xpsion
xpsionOP4d ago
No description
xpsion
xpsionOP4d ago
No description
Rex
Rex4d ago
For the future
No description
xpsion
xpsionOP4d ago
Hehrj got crazy bit i found it!!! Yes, sorry was plain txt.. shitty to read
Rex
Rex4d ago
Why do you have EditorSubsystem, UnrealEd and EditorStyle in there? Also, I'm not sure what FTruckNameHook is supposed to be
xpsion
xpsionOP4d ago
While for some reason a linker error stayed petcistent, the i looked in the editor build I put them in aside the UnrealEd
Rex
Rex4d ago
I would not depend on editor-only stuff like that, because the editor stuff doesn't exist in the actual game
xpsion
xpsionOP4d ago
These cpp and header are not the good ones but they caused this
Rex
Rex4d ago
Uh, what are the good ones then?
Robb
Robb4d ago
did the alpakit c++ mod template's base Build.cs not work correctly for you?
xpsion
xpsionOP4d ago
They had more other hooks and links to widgets, but i took all out as it was to complicated for 1st test, then i took wrong files into my source (incomplete)... but i did not undetstsnd why the build suddenly failed with these srrange errors
Rex
Rex4d ago
Wat Links to widgets?
xpsion
xpsionOP4d ago
Using blueprint UI interface Yes it did
Rex
Rex4d ago
I'm confused
Robb
Robb4d ago
Yes it did [work] or Yes it did [not work]?
xpsion
xpsionOP4d ago
.... i am sorry, i did not sleep fir the last 15 hours. I could not find the problem... my brain is tired
Rex
Rex4d ago
Please take a rest. I'm struggling to understand your situation which makes it significantly harder to troubleshoot.
xpsion
xpsionOP4d ago
It did st first yes, even alpakit packing until the last minute, then "could not find a header file" error. After that the whole problem started and i reinstalled engine and sml etc and finally took out all my cpp files but VS build problem came back every time i added cpp files, but i did it via explorer, so i think this creates unintended issues I made new fresh install of the sml3.11-dev all dep (wwise 2023.3... , etc accodding docs) then setup a alpakit project and just put in a Game World Module, set to root. Compiled and then build with Alpakit and no luck. Log with the errors:
Rex
Rex4d ago
awaits logfile
Rex
Rex4d ago
Hmmm, what is the parent class of your Game World Module? Open it in UE then send a screenshot of the entire editor window
xpsion
xpsionOP4d ago
Sh..t.... SmL.GameWorldModule
Rex
Rex4d ago
Yeah, that seems wrong You can reparent the Blueprint
xpsion
xpsionOP4d ago
I have nust a very bad day.... Thkx
Rex
Rex4d ago
Did you take a rest? There's lots of moving parts to setting up and using the modding environment, so getting enough rest is important to avoid making mistakes due to exhaustion.
xpsion
xpsionOP4d ago
The whole root cause of thr previous weird errors, was that i have done a rebuild of other parts of the sml outside factory game.....😬🙄
Rex
Rex4d ago
Not sure how, but good thing you figured that out
Robb
Robb4d ago
>add crash WrongGameWorldModuleParentClass
FICSIT-Fred
FICSIT-Fred4d ago
What should the logs match (regex)?
Robb
Robb4d ago
Error:.Attempting.to.enqueue.RootGameWorldModule_SML
FICSIT-Fred
FICSIT-Fred4d ago
What should the response be?
Robb
Robb4d ago
Do not use SML's mod-specific game world module as the parent class for your mod's game world module! Use the regular game world module class.
FICSIT-Fred
FICSIT-Fred4d ago
Known crash 'wronggameworldmoduleparentclass' added!
xpsion
xpsionOP4d ago
Well, but in the 3.11 SML dev, if you follow instruction of doc Then you end up with a SML.GameWorldModule as parrent.....
Robb
Robb4d ago
is there another section with conflicting info? we need to fix that >modify crash WrongGameWorldModuleParentClass
FICSIT-Fred
FICSIT-Fred4d ago
Do you want to change the crash to match?
Robb
Robb4d ago
no
FICSIT-Fred
FICSIT-Fred4d ago
Do you want to change the response?
Robb
Robb4d ago
yes
FICSIT-Fred
FICSIT-Fred4d ago
What response do you want it to provide? Responding with >command_namewill use the response of that command.
Robb
Robb4d ago
Do not use SML's own game world module (RootGameWorldModule_SML) as the parent class for your mod's game world module! Use the regular game world module class (GameWorldModule)
FICSIT-Fred
FICSIT-Fred4d ago
Crash 'wronggameworldmoduleparentclass' modified!
xpsion
xpsionOP4d ago
The point is if you select the class GameWorldModule, it results in a SML.GameWorldModule, if you do like in manual
Robb
Robb4d ago
is the parent class of your module https://github.com/satisfactorymodding/SatisfactoryModLoader/blob/dev/Mods/SML/Content/RootGameWorldModule_SML.uasset or https://github.com/satisfactorymodding/SatisfactoryModLoader/blob/dev/Mods/SML/Source/SML/Public/Module/GameWorldModule.h ? because it should be #2, and the logs make it sound like you picked #1 (xpsion) please send this screenshot (sorry forgot to turn off ping Rex)
xpsion
xpsionOP4d ago
No description
Robb
Robb4d ago
that parent class is fine and shouldn't be causing any problems
xpsion
xpsionOP4d ago
Aha Then something else is alien
Robb
Robb4d ago
do you also have game world module defined in c++ and marked as root?
xpsion
xpsionOP4d ago
No Because that is not said in docs to be done
Robb
Robb4d ago
if you remove your mod's folder from the starter project, are you able to package SML itself without issues?
xpsion
xpsionOP4d ago
I will try Fyi i am doing assembler and c++ progr for avr and stm microcontrollerrs, but my experience with Unreal and editor is blank, i got interested in modding due to satisfacfory game setup and that the game is Fantastic! 💥 but this ide is something.....
Robb
Robb4d ago
you may find this video amusing https://www.youtube.com/watch?v=iwI_AaHDUbo
Mental Checkpoint
YouTube
The Unreal Way
I remembered my password! Hi hello, sorry for going radio silent for a million years, followed by dropping a non game design video... I might be cooking something and got a bit distracted in the process by my frustrations towards this amazing engine called Unreal (more on that soon) Everything in this video happened on a new Unreal 5.6 project...
xpsion
xpsionOP4d ago
Houston we have a problem... No mods , just SML packing
Robb
Robb4d ago
F:\Unreal Engine - CSS\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\Scripts\AutomationScripts.Automation.dll does this file exist?
xpsion
xpsionOP4d ago
.... nope!
Robb
Robb4d ago
sounds like something went wrong while the engine was installing then? not sure how else that could possibly go missing I'm on my laptop right now which has an older engine install but it does have that file
xpsion
xpsionOP4d ago
Jezus. No idea I downloaded the bins and exe of css68 All right this is good news! Then i will do a re install of the whole engine. But then all the rest also i guess K will do a side install from same files and compare both 😂😂😂
xpsion
xpsionOP4d ago
No description
xpsion
xpsionOP4d ago
The file.is now indeed under scripts In both versions this file is also present under AutomationTool So something went worng during the install then... 🙄
xpsion
xpsionOP4d ago
👌 you where right! Thanks!
No description
Rex
Rex4d ago
That's technically not what I asked (double click to open the asset first) Check your antivirus, maybe it blocked something? Not sure why that file would go missing
xpsion
xpsionOP4d ago
Was reallyba weird thing But after i reinstslled the enginez all runs well The class in the setting says Game World Module The hoover window says SML.GameWorldModule Ssme as before, but there are no error issues anymore.
xpsion
xpsionOP3d ago
Modding target in 1983... just assembler...
Rex
Rex3d ago
Is this Satisfactory? I'm confused
xpsion
xpsionOP3d ago
Nooooo 😃 Thats how I started with assembler in 1983.... hacking games

Did you find this page helpful?