-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Works in Unity Editor but in Player Build there is error at scene load:
MissingMethodException: Default constructor not found for type DitzelGames.PostProcessingTextureOverlay.TextureOverlayRenderer
at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) [0x00000] in <00000000000000000000000000000000>:0
at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.PostProcessing.PostProcessBundle.get_renderer () [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderList (System.Collections.Generic.List`1[T] list, UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.String marker) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderInjectionPoint (UnityEngine.Rendering.PostProcessing.PostProcessEvent evt, UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.String marker, System.Int32 releaseTargetAfterUse) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.PostProcessing.PostProcessLayer.Render (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.LWRP.RenderingUtils.RenderPostProcessing (UnityEngine.Rendering.CommandBuffer cmd, UnityEngine.Rendering.LWRP.CameraData& cameraData, UnityEngine.RenderTextureDescriptor sourceDescriptor, UnityEngine.Rendering.RenderTargetIdentifier source, UnityEngine.Rendering.RenderTargetIdentifier destination, System.Boolean opaqueOnly, System.Boolean flip) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.LWRP.PostProcessPass.Execute (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.LWRP.RenderingData& renderingData) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.LWRP.ScriptableRenderer.ExecuteRenderPass (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.LWRP.ScriptableRenderPass renderPass, UnityEngine.Rendering.LWRP.RenderingData& renderingData) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.LWRP.ScriptableRenderer.Execute (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.LWRP.RenderingData& renderingData) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.LWRP.LightweightRenderPipeline.RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.LWRP.LightweightRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Camera[] cameras) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, UnityEngine.Camera[] cameras, System.IntPtr loopPtr) [0x00000] in <00000000000000000000000000000000>:0
(Filename: currently not available on il2cpp Line: -1)
I have fixed it by adding attribute [UnityEngine.Scripting.Preserve]
to classes TextureOverlay and TextureOverlayRenderer.