Using TorchSharp In Unity
I am trying to use the latest TorchSharp in my Unity project.
I keep running into this error: NotSupportedException: This application or script uses TorchSharp but doesn't contain a reference to libtorch-cpu-win-x64, Version=2.4.0.0.
I have TorchSharp and libtorch-cpu-win-x64 packages installed with Nuget for unity. I have also tried doing this manually with the same results.
Thanks for any help!
VisualStudio 2022 Pytorch 2.4.0+cpu Python 3.9 libtorch-cpu-win-x64 2.4.0.0 TorchSharp 2.4.0.0
https://github.com/dotnet/TorchSharp/discussions/874 https://github.com/dotnet/TorchSharp/discussions/1244 https://github.com/dotnet/TorchSharp/discussions/1371
Perhaps eventually we may need a documentation on Torchsharp in Unity, involving how onnx could be used in some cases.
Maybe someone could compile this to a guide but here's what you need to do:
-
Use powershell script to install nuget: https://www.nurupo.io/posts/unityhowtonuget/
-
In Unity Directory create following: Plugins>Windows>X86_x64
-
Paste all the TorchSharp dlls in there (I dont remember how to get them, just copied them from .NET 8.0 project I had around)
-
Make sure that all the .dll settings in the inspector are like this:
Maybe someone could compile this to a guide but here's what you need to do:
- Use powershell script to install nuget: https://www.nurupo.io/posts/unityhowtonuget/
- In Unity Directory create following: Plugins>Windows>X86_x64
- Paste all the TorchSharp dlls in there (I dont remember how to get them, just copied them from .NET 8.0 project I had around) ...
- Make sure that all the .dll settings in the inspector are like this: ...
Great Thanks. It works. Though it works, but I still have question about libtorchsharp, why after appling CPU config to x64, and it became back to "Any CPU"?
The error you're getting should be solved by https://github.com/dotnet/TorchSharp/pull/1461