Search Issue Tracker
Not Reproducible
Votes
4
Found in [Package]
6.7.1
Issue ID
1157019
Regression
No
[VFX Graph] VFX Graph doesn't work on iOS 12, Metal Error is thrown
1. Open the attached project;
2. Build and run the "Attributes" scene on iOS devices.
Results:
1. Sometimes scene VFX Graph effects crash in DrawIndexedNullGeometryIndirect when using on iOS devices with iOS 12.
2. If the app doesn't crash, effects are still not rendered, an error is being spammed to the XCode console (also only devices with iOS 12):
Metal: Error creating compute pipeline state: Compiler encountered an internal error
(null)
Devices under testing:
Reproduced with:
VLNQA00245, iPhone 6 Plus, A8, 12.0.1
VLNQA00157, iPhone X, A11, 12.2
258, iPhone XS Max, A12, 12.3
Not reproduced with:
VLNQA00161, iPad Mini 4, A8, 11.4.1
VLNQA00199, iPhone SE, A9, 10.0.1
HELA0167, iPad 10’’, A10, 11.4.1
VLNQA00162, iPad Pro 10.5’’, A10X, 11.3
189, iPhone SE, A9, 11.4.1
500, iPhone 6, A8, 10.2
Reproduced with package versions: 6.7.1, 7.0.0
Comments (2)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
weiping-toh
Aug 22, 2019 07:47
I recently discovered another issue with the VFX graph on metal devices.
If you use [〇〇 over Life] blocks, where the parameters accepted is the type of AnimationCurve, metal will fail to compile on runtime, I suspect that the compiler on fail-occurring devices, does not contain a valid translation for sampling single float curves. After replacing the [〇〇 over Life] blocks with just [Set 〇〇 blocks] with the operators to sample gradient over time, it works
weiping-toh
Aug 16, 2019 09:08
I suspect that primitive geometry outputs utilized in the vfx graph outputs to standard geometry shaders which metal does not support.
You might want to try replacing all the primitive outputs with mesh outputs using primitive meshes instead.