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
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
- [Dragon Crashers] Build fails in U6
- [Dragon Crashers] 4 Shader error messages on import
- [Dragon Crashers] Readme text is white on light grey
- Cursor stays in front of the first character when entering text in the TextMeshPro field
- Searching in Hierarchy causes unwanted component calls
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.