Hello, I see there is an option to override visionOS textures to 4k, but when I do more than a couple for scene terrains, it crashes on scene load in device. Is it recommended to not override? Would switching the Resize Algorithm, Format, or Compressor Quality help? I won’t need alpha channels for these textures. Thank you!
AFAIK, the resizing is entirely a build-time process, so I’m surprised that it causes any kind of run time crash. What’s your Max Size under the Default tab that it’s overriding, and what do the logs from the device say (if anything)? If you like, you can submit a repro case as a bug report (and let us know the incident number: IN-#####) so that we can look into it. I wouldn’t think any of the other options would help.
Ok, interesting. Max Default size is 2048, and then I overrode about 5 textures to 4096. This is the error I get in Xcode when it crashes: “Thread 1: EXC_RESOURCE (RESOURCE_TYPE_MEMORY: high watermark memory limit exceeded) (limit=5120 MB)”
I guess it looks like I’m just pushing it over the edge, memory-wise?
Yes, that seems likely to be the case. We do have the issue in PolySpatial that we’re storing extra copies of textures and meshes that technically aren’t necessary in most cases (because we send them on the CPU from the C# side to the Swift/RealityKit side, whereas they should really only be stored in GPU memory after loading). That’s something we are aware of and would like to fix sooner rather than later (perhaps with additional hinting that a resource won’t be modified again via the Unity API), but for the time being, you probably have to limit your texture/mesh counts/sizes. The compression format does affect the size in memory, so using a format with a larger block size (e.g., ASTC 12x12) would use less memory at the cost of decreased quality (but presumably better quality than just using a max texture size of 2048).
Switching to the ASTC 12x12 did the trick for me! Thank you very much for the pointer.