@CodeSmile Apple is actively working on WebGPU, but good luck predicting which version they’ll ship with! At least we’ll be ready for when they do.
Android WebGPU can be tested now, using Chrome Canary and enabling WebGPU in the flags, and will ship in the release version of Android Chrome in January or so.
I’ve managed to do all the steps but I also get the same error @bugfinders get:
Error building Player: Shader error in 'Universal Render Pipeline/Lit': error: struct member hlslcc_mtx4x4unity_ObjectToWorldArray not found (on webgpu)
Compiling Subshader: 0, Pass: MotionVectors, Vertex program with INSTANCING_ON
Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PASS_MOTIONVECTORS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
Disabled keywords: DOTS_INSTANCING_ON SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_VIRTUAL_TEXTURING _ADD_PRECOMPUTED_VELOCITY _ALPHATEST_ON
I’m using URP 17.0.0, Unity 2023.3.0a3, and here are URP’s dependencies:
EDIT: This error only appears when I try to “Build and Run”, when I tried only to Build it will build the game, but it will only run a black screen, the following errors will appear on the console:
ERROR: Shader
Web GPU.framework.js.br:4294 Hidden/Universal Render Pipeline/Edge Adaptive Spatial Upsampling shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
Web GPU.framework.js.br:4294 ERROR: Shader
Web GPU.framework.js.br:4294 Hidden/Universal/HDRDebugView shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
Web GPU.framework.js.br:4294 ERROR: Shader
Web GPU.framework.js.br:4294 Hidden/Core/ProbeVolumeDebug shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
Web GPU.framework.js.br:4294 ERROR: Shader
Web GPU.framework.js.br:4294 Hidden/HDRP/ProbeVolumeOffsetDebug shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
Web GPU.framework.js.br:4294 ERROR: Shader
Web GPU.framework.js.br:4294 Hidden/HDRP/ProbeVolumeSamplingDebug shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
Web GPU.framework.js.br:4294 Input Manager initialize...
@Blarp It works on Safari / iPhone because that Boat Attack build is a hybrid build, with both WebGPU and WebGL. If the browser does not support WebGPU, it will fall back to WebGL.
@nostalgicbear
Android has WebGPU available in beta right now. You can download Chrome Canary for Android, and enable WebGPU in chrome://flags. It is scheduled for public release in Chrome 121 (if I remember correctly), around January. iPhone support is pending Apple, who is actively working on WebGPU but as usual has no release schedule.
WebGL is supported for mobile in current versions of Unity, i don’t remember from which version right now.
While WebGL can run for mobile for a long times, it not really 100% officially supported as this announcement and also my own experience that I have met some bug along the way. It work and usable but still there are some pitfall in some situation
But as far as I can see, unity did not officially support webxr in itself from its own XR package was the first blockade
Fortunately we have great indy package here https://github.com/De-Panther/unity-webxr-export which is usable in the meantime. And I think this repo’s owner will update this package to support webGPU if webxr binding itself finished
@De-Panther has been doing a heroic and amazing job championing WebXR for Unity with his WebXR Export package, and we’ll be more than happy to help get WebGPU running in it, once browsers themselves can support using WebGPU with WebXR (which they do not currently).
What is the reason for the Unity XR Interaction system being a ‘Blockade’ as @Thaina so put it? I believe WebXR should be supported by the XR Providers for WebGL and be updated for WebGPU in the future, instead of third-party tools like the one from @De-Panther . I’m sure I misunderstand the complications of this, but could you answer why Unity does not have WebXR Providers for the XR System?