Weatherade incompatibility?

  • A* version: 5.3.1 Pro
  • Unity version: 6000.0.29f1

Hi, recently, I tried including the Weatherade plugin in a project. Within the already ongoing project, it was difficult to identify the issue, so I created a new project and added one plugin at a time. I noticed that the errors appeared when A* was added to the project.
I assume the errors stem from some conflict with A*'s rendering system. I’m attaching the errors.

Has anyone dealt with this issue before?
The errors also occur even if no graph is present in the scene, they appear immediately after adding the plugin.

4 errors:

NullReferenceException: Object reference not set to an instance of an object
UnityEngine.Rendering.RenderGraphModule.RenderGraphResourceRegistry.GetRenderTargetInfo (UnityEngine.Rendering.RenderGraphModule.ResourceHandle& res, UnityEngine.Rendering.RenderGraphModule.RenderTargetInfo& outInfo) (at ./Library/PackageCache/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs:708)
UnityEngine.Rendering.RenderGraphModule.RenderGraphBuilders.CheckUseFragment (UnityEngine.Rendering.RenderGraphModule.TextureHandle tex, System.Boolean isDepth) (at ./Library/PackageCache/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilders.cs:353)
UnityEngine.Rendering.RenderGraphModule.RenderGraphBuilders.SetRenderAttachment (UnityEngine.Rendering.RenderGraphModule.TextureHandle tex, System.Int32 index, UnityEngine.Rendering.RenderGraphModule.AccessFlags flags, System.Int32 mipLevel, System.Int32 depthSlice) (at ./Library/PackageCache/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilders.cs:388)
UnityEngine.Rendering.RenderGraphModule.IRasterRenderGraphBuilder.SetRenderAttachment (UnityEngine.Rendering.RenderGraphModule.TextureHandle tex, System.Int32 index, UnityEngine.Rendering.RenderGraphModule.AccessFlags flags) (at ./Library/PackageCache/com.unity.render-pipelines.core/Runtime/RenderGraph/IRenderGraphBuilder.cs:196)
Pathfinding.Drawing.AlineURPRenderPassFeature+AlineURPRenderPass.RecordRenderGraph (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ContextContainer frameData) (at ./Packages/com.arongranberg.astar/Drawing/AlineURPRenderPassFeature.cs:50)
UnityEngine.Rendering.Universal.ScriptableRenderer.RecordCustomRenderGraphPassesInEventRange (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.Universal.RenderPassEvent eventStart, UnityEngine.Rendering.Universal.RenderPassEvent eventEnd) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs:1222)
UnityEngine.Rendering.Universal.ScriptableRenderer.RecordCustomRenderGraphPasses (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.Universal.RenderPassEvent startInjectionPoint, UnityEngine.Rendering.Universal.RenderPassEvent endInjectionPoint) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs:1241)
UnityEngine.Rendering.Universal.UniversalRenderer.OnOffscreenDepthTextureRendering (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.UniversalResourceData resourceData, UnityEngine.Rendering.Universal.UniversalCameraData cameraData) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRendererRenderGraph.cs:861)
UnityEngine.Rendering.Universal.UniversalRenderer.OnRecordRenderGraph (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ScriptableRenderContext context) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRendererRenderGraph.cs:787)
UnityEngine.Rendering.Universal.ScriptableRenderer.RecordRenderGraph (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ScriptableRenderContext context) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs:1175)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.RecordRenderGraph (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.ScriptableRenderer renderer) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipelineRenderGraph.cs:10)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.RecordAndExecuteRenderGraph (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.ScriptableRenderer renderer, UnityEngine.Rendering.CommandBuffer cmd, UnityEngine.Camera camera, System.String cameraName) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipelineRenderGraph.cs:24)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.UniversalCameraData cameraData) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs:857)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderCameraStack (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera baseCamera) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs:1082)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, System.Collections.Generic.List`1[T] cameras) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs:469)
UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) (at <0900e0d4bb644dafbfd59eb7fd222a68>:0)
UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipelineAsset, System.IntPtr loopPtr, UnityEngine.Object renderRequest, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle safety) (at <0900e0d4bb644dafbfd59eb7fd222a68>:0)
UnityEngine.Camera:Render()
NOT_Lonely.Weatherade.SRS_TraceMaskGenerator:SimOneStep() (at Assets/NOT_Lonely/Weatherade SRS/Scripts/SRS_TraceMaskGenerator.cs:293)
NOT_Lonely.Weatherade.SRS_TraceMaskGenerator:Init() (at Assets/NOT_Lonely/Weatherade SRS/Scripts/SRS_TraceMaskGenerator.cs:191)
NOT_Lonely.Weatherade.CoverageBase:EditorUpdate() (at Assets/NOT_Lonely/Weatherade SRS/Scripts/CoverageBase.cs:225)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
Render Graph Execution error
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
InvalidOperationException: The CullingResults instance is no longer valid. This can happen if you re-use it across multiple frames.
UnityEngine.Rendering.CullingResults.Validate () (at <0900e0d4bb644dafbfd59eb7fd222a68>:0)
UnityEngine.Rendering.RendererListParams.Validate () (at <0900e0d4bb644dafbfd59eb7fd222a68>:0)
UnityEngine.Rendering.ScriptableRenderContext.CreateRendererList (UnityEngine.Rendering.RendererListParams& param) (at <0900e0d4bb644dafbfd59eb7fd222a68>:0)
UnityEngine.Rendering.RenderGraphModule.RenderGraphResourceRegistry.CreateRendererLists (System.Collections.Generic.List`1[T] rendererLists, UnityEngine.Rendering.ScriptableRenderContext context, System.Boolean manualDispatch) (at ./Library/PackageCache/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs:1198)
UnityEngine.Rendering.RenderGraphModule.RenderGraph.CompileNativeRenderGraph (System.Int32 graphHash) (at ./Library/PackageCache/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.Compiler.cs:32)
UnityEngine.Rendering.RenderGraphModule.RenderGraph.Execute () (at ./Library/PackageCache/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs:1221)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
InvalidOperationException: The previously scheduled job ZBinningJob writes to the Unity.Collections.NativeArray`1[System.UInt32] ZBinningJob.bins. You must call JobHandle.Complete() on the job ZBinningJob, before you can write to the Unity.Collections.NativeArray`1[System.UInt32] safely.
Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckWriteAndThrowNoEarlyOut (Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle) (at <0900e0d4bb644dafbfd59eb7fd222a68>:0)
Unity.Collections.LowLevel.Unsafe.NativeArrayUnsafeUtility.GetUnsafePtr[T] (Unity.Collections.NativeArray`1[T] nativeArray) (at <0900e0d4bb644dafbfd59eb7fd222a68>:0)
UnityEngine.Rendering.Universal.Internal.ForwardLights.PreSetup (UnityEngine.Rendering.Universal.UniversalRenderingData renderingData, UnityEngine.Rendering.Universal.UniversalCameraData cameraData, UnityEngine.Rendering.Universal.UniversalLightData lightData) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/ForwardLights.cs:200)
UnityEngine.Rendering.Universal.UniversalRenderer.OnBeforeRendering (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRendererRenderGraph.cs:871)
UnityEngine.Rendering.Universal.UniversalRenderer.OnRecordRenderGraph (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ScriptableRenderContext context) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRendererRenderGraph.cs:791)
UnityEngine.Rendering.Universal.ScriptableRenderer.RecordRenderGraph (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ScriptableRenderContext context) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs:1175)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.RecordRenderGraph (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.ScriptableRenderer renderer) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipelineRenderGraph.cs:10)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.RecordAndExecuteRenderGraph (UnityEngine.Rendering.RenderGraphModule.RenderGraph renderGraph, UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.ScriptableRenderer renderer, UnityEngine.Rendering.CommandBuffer cmd, UnityEngine.Camera camera, System.String cameraName) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipelineRenderGraph.cs:24)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Rendering.Universal.UniversalCameraData cameraData) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs:857)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderSingleCameraInternal (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera, UnityEngine.Rendering.Universal.UniversalAdditionalCameraData& additionalCameraData) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs:690)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.RenderSingleCameraInternal (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs:665)
UnityEngine.Rendering.Universal.UniversalRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, System.Collections.Generic.List`1[T] cameras) (at ./Library/PackageCache/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs:482)
UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) (at <0900e0d4bb644dafbfd59eb7fd222a68>:0)
UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipelineAsset, System.IntPtr loopPtr, UnityEngine.Object renderRequest, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle safety) (at <0900e0d4bb644dafbfd59eb7fd222a68>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Ah I see, yeah looks possibly like it?

Would you be able to try this really quick in a blank project with Weatherade and Astar?

Yes I have already tried, it’s between them that the conflict occurs, is there any solution?

No idea how I missed this… well Friday was pretty silly on my end :upside_down_face: Sorry for questioning it before.

As for a solution, I’ll have to tag @aron_granberg on this and see if he knows anything about it. I’d suspect this is beyond Weatherade- kinda like how if two cars crash, the cars work fine…just not smashed into each other haha. In this metaphor Unity’s the road :person_shrugging:

Speculation aside, I’ll have to see what Aron knows about it

Hi

I believe this is caused by Weatherade sometimes rendering the scene with no depth map attached. The drawing code in A* cannot handle that at the moment, though I have some plans to fix this.

Same problem with MicroSplat - Trax

Hi

I have managed to replicate this, and I think I have a good fix in place. It will be included in the next update.
I’m not quite sure how Weatherade or MicroSplat does its rendering, so please report back how it goes.

Thanks, I will import A* again when you update and let you know if it solved it, I have been using A* for a long time, I’m so fond of it, it would have been a shame not to be able to use it here for this problem.
Thanks for the support

PS: Fix is present in 5.3.2?

It looks like that post was made the same day as 5.3.2 was posted, so it looks like it’ll be in the next patch. I didn’t see it in 5.3.2’s patch notes. Sorry about that :frowning: Should be out relatively soon though :slight_smile:

Scratch that, I think it is in 5.3.2:

  • Fixed an exception could be thrown when cameras were rendered without a color target.

I think it didn’t solve it completely, this is what happens with MicroSplat Trax after Scan (Recast Graph). The configuration seems correct to me

IndexOutOfRangeException: Index was outside the bounds of the array.
Pathfinding.NavmeshBase.GetVertex (System.Int32 index) (at ./Packages/com.arongranberg.astar/Graphs/NavmeshBase.cs:200)
Pathfinding.TriangleMeshNode.GetVertices (Pathfinding.Int3& v0, Pathfinding.Int3& v1, Pathfinding.Int3& v2) (at ./Packages/com.arongranberg.astar/Graphs/Nodes/TriangleMeshNode.cs:136)
Pathfinding.NavmeshBase.CreateNavmeshSurfaceVisualization (Pathfinding.Graphs.Navmesh.NavmeshTile[] tiles, System.Int32 startTile, System.Int32 endTile, Pathfinding.Util.GraphGizmoHelper helper) (at ./Packages/com.arongranberg.astar/Graphs/NavmeshBase.cs:1790)
Pathfinding.NavmeshBase.OnDrawGizmos (Pathfinding.Drawing.DrawingData gizmos, System.Boolean drawNodes, Pathfinding.Drawing.RedrawScope redrawScope) (at ./Packages/com.arongranberg.astar/Graphs/NavmeshBase.cs:1744)
AstarPath.DrawGizmos () (at ./Packages/com.arongranberg.astar/Core/AstarPath.cs:792)
Pathfinding.Drawing.DrawingManager.DrawGizmos (System.Boolean usingRenderPipeline) (at ./Packages/com.arongranberg.astar/Drawing/DrawingManager.cs:669)
UnityEngine.Debug:LogException(Exception, Object)
Pathfinding.Drawing.DrawingManager:DrawGizmos(Boolean) (at ./Packages/com.arongranberg.astar/Drawing/DrawingManager.cs:671)
Pathfinding.Drawing.DrawingManager:Submit(Camera, CommandBufferWrapper, Boolean, Boolean) (at ./Packages/com.arongranberg.astar/Drawing/DrawingManager.cs:703)
Pathfinding.Drawing.DrawingManager:SubmitFrame(Camera, CommandBufferWrapper, Boolean) (at ./Packages/com.arongranberg.astar/Drawing/DrawingManager.cs:554)
Pathfinding.Drawing.DrawingManager:ExecuteCustomRenderGraphPass(CommandBufferWrapper, Camera) (at ./Packages/com.arongranberg.astar/Drawing/DrawingManager.cs:487)
Pathfinding.Drawing.<>c__DisplayClass4_0:<RecordRenderGraph>b__0(PassData, RasterGraphContext) (at ./Packages/com.arongranberg.astar/Drawing/AlineURPRenderPassFeature.cs:62)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Hmm not 100% sure, may be something totally unrelated? Or only semi-related, as this looks to be an error with gizmo drawing not rendering. Looked into the method to see how another asset may be involved if at all but I’m not seeing anything at cursory glance. I’ll have to see what Aron thinks on this one also.

I thought it was related since both errors seem to come from the gizmo drawing methods

While it’s coming from the gizmo drawing method, it’s actually unrelated to the other error message, and gizmo rendering in general.
That seems to indicate that the graph data is corrupt in some way.
Can you reliably replicate this?

Sorry for the late response, yep I deleted and created the recast nav and the errors disappeared, as you said it was probably corrupted, thank you so much for the support