컨텐츠로 건너뛰기

Unity에서 TorchSharp 및 RLMatrix 사용하기

정말로 Unity 2025에서 TorchSharp를 사용하고 싶으신가요?

TorchSharp 기여자들이 아마도 이것을 저보다 훨씬 더 자세히 설명할 수 있을 것입니다 - 하지만 기본적으로 설치 단계는 libtorch DLL(1GB 이상)을 다운로드하고 설치/참조하는 것을 포함합니다.

이것은 새로운 .NET Core 버전에서는 자동으로 수행되지만, Unity는 아직 CoreCLR로 이동하지 않았기 때문에 NuGet 설치를 포함하여 많은 단계를 수동으로 수행해야 합니다. 저는 이전에 Unity에서 NuGet 패키지를 설치하는 효과적인 방법에 대한 가이드를 만들었습니다. 이 짧은 가이드는 DLL의 수동 복사로 그것을 확장한 것입니다.

  1. Unity 프로젝트에 필요한 폴더 생성:
Assets/Plugins/Windows/x86_64
  1. NuGet을 사용하여 RLMatrix 설치

먼저 NuGet 웹사이트에서 nuget.exe를 다운로드하여 C:\nuget.exe에 저장합니다. 다른 곳에 저장하는 경우, 아래 스크립트에서 경로를 업데이트해야 합니다.

다음 PowerShell 스크립트를 Unity 프로젝트의 루트 디렉토리에 install-rlmatrix.ps1로 저장하세요:

Terminal window
$packageName = "RLMatrix"
$packageVersion = "0.4.0"
$netTarget = "netstandard2.0"
$tempDir = ".\Temp"
$dllDir = ".\Assets\Plugins"
$nugetPath = "C:\nuget.exe"
if (!(Test-Path $nugetPath)) {
Write-Error "NuGet.exe not found at $nugetPath. Please ensure it's installed there or update the path."
exit 1
}
if (!(Test-Path $tempDir)) {
New-Item -ItemType "directory" -Path $tempDir
}
& $nugetPath install $packageName -Version $packageVersion -OutputDirectory $tempDir
if (!(Test-Path $dllDir)) {
New-Item -ItemType "directory" -Path $dllDir
}
Get-ChildItem -Path $tempDir -Directory | ForEach-Object {
$packagePath = Join-Path $_.FullName "lib\$netTarget"
if (Test-Path $packagePath) {
Get-ChildItem -Path $packagePath -Filter "*.dll" | ForEach-Object {
$destinationPath = Join-Path $dllDir $_.Name
if (!(Test-Path $destinationPath)) {
Copy-Item -Path $_.FullName -Destination $destinationPath
}
}
}
}
Remove-Item $tempDir -Recurse -Force

이 스크립트의 작동 방식에 대한 자세한 내용은 다음을 참조하세요: https://www.nurupo.io/posts/unityhowtonuget/

  1. PowerShell 스크립트 실행

Windows 탐색기에서 .ps1 파일을 마우스 오른쪽 버튼으로 클릭하고 “PowerShell로 실행”을 선택하면 편리하게 실행할 수 있습니다.

  1. TorchSharp 네이티브 DLL 가져오기

모든 TorchSharp DLL을 Assets/Plugins/Windows/x86_64에 복사합니다. 저는 TorchSharp를 사용하고 있던 주변의 .NET 8.0 프로젝트에서 이것들을 복사했습니다. 인스펙터에서 DLL 설정

  1. Unity에서 DLL 가져오기 설정 구성

Plugins 폴더의 각 DLL에 대해:

  • Unity 프로젝트 패널에서 DLL 선택
  • 인스펙터에서 다음과 같이 설정이 일치하는지 확인:
  • 플랫폼을 “Windows”로 설정
  • CPU를 “x86_64”로 설정

인스펙터에서 DLL 설정 계속

완료, 이제 작동해야 합니다!