fixed build issues, added binaries, and updated the AsyncLoadingScreen plugin directory

This commit is contained in:
Devrim Yasar
2025-04-14 13:03:05 -05:00
parent b91d8c9412
commit cc50ba0c39
2200 changed files with 910483 additions and 318 deletions

View File

@ -0,0 +1,8 @@
{
"BuildId": "37670630",
"Modules":
{
"LuckyMujoco": "UnrealEditor-LuckyMujoco.dylib",
"LuckyMujocoEditor": "UnrealEditor-LuckyMujocoEditor.dylib"
}
}

View File

@ -0,0 +1,8 @@
{
"BuildId": "37670630",
"Modules":
{
"LuckyMujoco": "UnrealEditor-LuckyMujoco-Win64-DebugGame.dll",
"LuckyMujocoEditor": "UnrealEditor-LuckyMujocoEditor-Win64-DebugGame.dll"
}
}

View File

@ -0,0 +1,8 @@
{
"BuildId": "37670630",
"Modules":
{
"LuckyMujoco": "UnrealEditor-LuckyMujoco.dll",
"LuckyMujocoEditor": "UnrealEditor-LuckyMujocoEditor.dll"
}
}

View File

@ -11,36 +11,17 @@ DEFINE_LOG_CATEGORY(LogMujoco);
void FLuckyMujocoModule::StartupModule()
{
FString BaseDir = IPluginManager::Get().FindPlugin(TEXT("LuckyMujoco"))->GetBaseDir();
FString LibraryPath;
#if WITH_EDITOR
LibraryPath = FPaths::Combine(
*BaseDir, TEXT("Source/ThirdParty/Mujoco/bin/mujoco.dll"));
#endif
FString Library;
#if PLATFORM_WINDOWS
Library = "mujoco.dll";
#elif PLATFORM_MAC
Library = "mujoco.dylib";
#elif PLATFORM_LINUX
Library = "libmujoco.so";
#endif
if (WITH_EDITOR)
{
MujocoHandle = !LibraryPath.IsEmpty() ? FPlatformProcess::GetDllHandle(*LibraryPath) : nullptr;
}
else
{
MujocoHandle = !Library.IsEmpty() ? FPlatformProcess::GetDllHandle(*Library) : nullptr;
}
FString Library = FPaths::Combine(FPaths::ProjectDir(), TEXT("Binaries/Win64/mujoco.dll"));
MujocoHandle = !Library.IsEmpty() ? FPlatformProcess::GetDllHandle(*Library) : nullptr;
if (MujocoHandle == nullptr)
{
FMessageDialog::Open(EAppMsgType::Ok, LOCTEXT("MujocoLibraryError", "Failed to load Mujoco library. Please make sure that Mujoco is installed and the library is in the correct path."));
}
#endif
}
void FLuckyMujocoModule::ShutdownModule()

View File

@ -1,5 +1,6 @@
using System.IO;
using UnrealBuildTool;
using System;
public class Mujoco : ModuleRules
{
@ -16,16 +17,33 @@ public class Mujoco : ModuleRules
}
else if (Target.Platform == UnrealTargetPlatform.Mac)
{
PublicDelayLoadDLLs.Add("mujoco.dylib");
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "lib", "mujoco.dylib"));
RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", "mujoco.dylib"), Path.Combine(ModuleDirectory, "lib", "mujoco.dylib"));
string DllPath = Path.Combine(ModuleDirectory, "lib", "mujoco.dylib");
string BinaryOutputDir = Path.Combine("$(BinaryOutputDir)", "lib");
string TargetOutputDir = Path.Combine("$(TargetOutputDir)", "lib");
PublicDelayLoadDLLs.Add(DllPath);
PublicAdditionalLibraries.Add(DllPath);
RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", "mujoco.dylib"), DllPath);
RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", "libmujoco.3.2.7.dylib"), DllPath);
// RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", "../../../../", "MacOS/libmujoco.3.2.7.dylib"), DllPath);
// RuntimeDependencies.Add("$(BinaryOutputDir)/UnrealEditor.app/Contents/MacOS/libmujoco.3.2.7.dylib", DllPath);
// Console.WriteLine("$BinaryOutputDir:"+ BinaryOutputDir);
// Console.WriteLine("$TargetOutputDir:" + TargetOutputDir);
// Console.WriteLine("$Target.Name:"+ Target.Name);
RuntimeDependencies.Add($"$(BinaryOutputDir)/libmujoco.3.2.7.dylib", DllPath);
// throw new Exception("test");
}
else if (Target.Platform == UnrealTargetPlatform.Linux)
{
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "lib", "libmujoco.so"));
PublicDelayLoadDLLs.Add("libmujoco.so");
RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", "libmujoco.so"), Path.Combine(ModuleDirectory, "lib", "libmujoco.so"));
RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", "libmujoco.so.3.2.7"), Path.Combine(ModuleDirectory, "lib", "libmujoco.so"));
{
string DllPath = Path.Combine(ModuleDirectory, "lib", "libmujoco.so");
PublicAdditionalLibraries.Add(DllPath);
PublicDelayLoadDLLs.Add(DllPath);
RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", "libmujoco.so"), DllPath);
RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", "libmujoco.so.3.2.7"), DllPath);
}
}
}