Closed nicolaspopravka closed 1 year ago
Hey Nicolas!
Re 1: We are working on updating USD to v23, however due to compatibility issues with plugins used elsewhere in Unity, the version of this package that will support USD 23+ will be tied to Unity 2023.1 and up. We don't currently have a timescale for releasing this upgrade, because we're prioritizing fixes that will support users that are on current LTS Unity versions.
Re 2: This sounds similar to a known issue in the USD plugin: https://github.com/PixarAnimationStudios/USD/issues/2367. We have submitted a fix to Pixar for this here, but it hasn't landed. Hopefully this helps?
It does help, thanks! Let me try patching our fork of USD with the fix from https://github.com/PixarAnimationStudios/USD/pull/2368 and test again. And good to know there is a plan to upgrade to a more recent version of USD.
It was easy to cherry-pick https://github.com/PixarAnimationStudios/USD/pull/2368/commits/823ec1eeac5136aec752e00fcfc1bb636f07f122 in USD v20.08 and rebuild usd_ms.dll
for the com.unity.formats.usd
package, which seems to fix 2. for us : PATH
is not needed anymore as long as usdXYZ.dll
and XYZ.dll
are in the same directory. Thanks again.
Great! Glad we were able to help 😄
We have a couple of issues with USD file format plugins and Unity. Bear with me as I realize neither 1. nor 2. below are strictly speaking because of the
com.unity.formats.usd
package. Here's what going on:Unity crashes on us some time after importing as game objects USD assets referencing files written in our proprietary file formats. The hacky workaround I found is to comment out this line. However, I believe the correct thing to do would be to update USD to a version more recent than v20.08. I would need to resurrect it, but I was able a while back to reproduce this crash outside of Unity in a simple test program, and then found out the problem was fixed using recent USD releases. The
BUILDING.md
file explains how to update USD, but is it something that is already being worked on, by any chance?This is more a general Unity question than a USD Unity SDK question, I think. One of the USD file format plugins depends on another DLL file. Let's call the USD plugin
usdXYZ.dll
and its dependencyXYZ.dll
. The only way I found forusdXYZ.dll
to be loaded successfully into Unity at runtime is to set thePATH
environment variable to point to whereXYZ.dll
exists. This sort of makes sense but typically it just works to have the DLL files that USD depends on under package directories. I am curious if this is to be expected and documented somewhere?Thanks, Nicolas.