Multiple moving platforms (FollowerEntity)

I studied the moving platform example and the corresponding code. Since there is no corresponding system for follower entities atm, I wonder what can be done.

Background:
I have multiple ships moving around and being constructed/destroyed dynamically. I’d like units to be able to move both on land and water (no problem), but also on deck of the ships. On the ships, it’s not necessary to have a complex navmesh, it even could que as simple as a rectangle (if I can integrate a “real” navmesh though, of course the better). Also, to enter the ships or jump from one ship to another, it could be done with proximity checks in case node links will over-complicate things.

I just wonder what would be the best strategy implementing that and I’ve identified these options:

  1. A custom simple navigation system: A custom ecs system that moves the agents around on the ships collider or on a simple navmesh, integrating the ships world position.
    Pros: Probably the easiest to implement
    Cons: Dedicated solution, systems for animations, destination setting etc need to integrate additional interfaces

  2. Using the A* pathfinding solution partly:
    This could consist in using the movement systems of the package, but e.g. manipulating the paths and positions to integrate the ships world position.
    Pros: Make use of existing systems, can be integrated seamlessly to the rest of the framework
    Cons: Complicated to integrate, error prone for breaking changes with future package upgrades

  3. Custom graph:
    A custom graph dedicated entirely to moving platforms.
    Pros: Best integration, portability for other projects, “professional” solution
    Cons: Probably requires the most work and will be complicated to develop

From your extensive experience with pathfinding, maybe you can give me a hint what would be the best call to make here? Or can you think of another solution not mentioned?

And more general:
Are you planning to integrate moving platforms for follower entities at some point yourself? I think it’s actually quite a common challenge.

Hi

With the FollowerEntity, this is currently not possible. The LocalSpaceRichAI movement script can do this, however.

However, if you only need a rectangle, you don’t need pathfinding at all, as every straight line is a valid path. So a custom movement system might be a lot less work.

Thanks for the suggestion, yes, that’s pretty much what I thought.
Since my animation systems take stuff like the estimated velocity of agents into account I still might write to these components though. But let’s see, it’s probably the most straight forward way.