Preferred approach for custom grid graph

Hey there,

We are working on an open-world sidescroller that plays in a grid. The level is stored in a NativeArray and is currently 4k x 4k, so we use world streaming as an optimization.
Since we already have the whole map in memory (and for a couple of other reasons) it seems reasonable to instead of generating colliders for different types and scanning the grid just using the cell data directly. In a setup like this what would be the preferred approach?

  1. Use the approach described in Using direct access to graph data. This is what I went with first, but since we have world streaming we then had to reimplement (or at least create a modified version of) ProceduralGraphMover, then also manually do things like erosion, etc. Generally my feeling is that this approach would cause a lot of extra work in the long run.

  2. Inherit from GridGraph and override RecalculateCell to not use colliders. I’m a little hesitant to go this direction as I’m afraid I will run into some functionality that I will not be able to override

  3. I saw that in the Beta version there is a system for creating Grid Graph Rules however I’m not sure if these rules will be applied on top of the general collider based scanning process, or we can swap it out entirely. Also I was wondering if these versions are in Beta as they are not yet stable or just to add some benefit for pro users?

Thank you in advance

Hi

I definitely recommend (3), the grid graph rules.

They are part of the stable 5.0 release :slight_smile:

You can hook in to various parts of the scanning process. You can definitely disable all collision checking using physics, and replace it completely with your own data.
Bonus points for this is that the ProceduralGraphMover will work automagically (as long as you map the nodes’ coordinates to your data correctly).

Thanks for the quick response. How is the release schedule working for free and pro version? If I’m not mistaken the last free version released was 4.2.17. As we just started evaluating the package I would be hesitant to buy the pro version yet.

Hi

I’ll release a new free version relatively soon. But I’m focusing on fixing issues that have arisen after the 5.0 release.