diff --git a/Dev/Plugin/Assets/Effekseer/External/URP/EffekseerURPRenderPassFeature.cs b/Dev/Plugin/Assets/Effekseer/External/URP/EffekseerURPRenderPassFeature.cs index ad5fa63..ddc9d45 100644 --- a/Dev/Plugin/Assets/Effekseer/External/URP/EffekseerURPRenderPassFeature.cs +++ b/Dev/Plugin/Assets/Effekseer/External/URP/EffekseerURPRenderPassFeature.cs @@ -228,8 +228,7 @@ bool CanUseRasterPass(UniversalCameraData cameraData) var system = Effekseer.EffekseerSystem.Instance; return Effekseer.EffekseerSettings.Instance.enableURPRasterPass && system != null && - system.CanUseURPRasterPass && - !cameraData.xrRendering; + (cameraData.xrRendering ? system.CanUseURPRasterPassInXR : system.CanUseURPRasterPass); } public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData) diff --git a/Dev/Plugin/Assets/Effekseer/Scripts/EffekseerSystem.cs b/Dev/Plugin/Assets/Effekseer/Scripts/EffekseerSystem.cs index aeca37b..72062c8 100644 --- a/Dev/Plugin/Assets/Effekseer/Scripts/EffekseerSystem.cs +++ b/Dev/Plugin/Assets/Effekseer/Scripts/EffekseerSystem.cs @@ -195,6 +195,18 @@ public bool CanUseURPRasterPass } } + /// + /// Whether the URP raster pass can be used for XR cameras. + /// The native renderer is not allowed because it has not been tested in XR. + /// + public bool CanUseURPRasterPassInXR + { + get + { + return RendererType == EffekseerRendererType.Unity && CanUseURPRasterPass; + } + } + private static CachedTextureContainer cachedTextures = new CachedTextureContainer(); private static CachedModelContainer cachedModels = new CachedModelContainer();