mapbox / mapbox-unity-sdk

Mapbox Unity SDK - https://www.mapbox.com/unity/
Other
721 stars 214 forks source link

Is mapbox-unity abandonware ? #1837

Open ejgutierrez74 opened 2 years ago

ejgutierrez74 commented 2 years ago

No new releases since octobrer 2019, no news in the official mapbox wepage, it doenst have any mention in mapbox mails newsletter with new features where appear mapbox for js and other platforms.

Seems abandoned...no bugfixes releases, no new features in two years...Can anyone confirm this ?

Thanks

DevNMY commented 2 years ago

bad news: everything you say is true ^^ good news: besides the silence there is some really cool work in progress. check out this non released branch https://github.com/mapbox/mapbox-unity-sdk/issues/1671

We are using this branch in production as it seems to be more production ready as the official stable release from 2019. The performance of tile-loading improved massively which was the biggest pain-point for us.

but anyways it would be interesting to know whats the roadmap/timeline for unity-mapbox in the year 2022 @brnkhy maybe you could give us an update (?) :-)

jaidhyani commented 2 years ago

@DevNMY For a new project, would you recommend working from #1671 at this point? Or performance? Or one of the recently-updated branches, like quadTreeMap?

DevNMY commented 2 years ago

@jaidhyani We are using performance branch like mentioned in this tutorial https://github.com/mapbox/mapbox-unity-sdk/issues/1813

brnkhy commented 2 years ago

It's difficult for me to answer these kind of questions (Mapbox support might be a better option) but I'm actively working on Mapbox Unity SDK. I'm focusing on the experimental performance work at the moment but I can't really suggest anyone using it for a product right now, I mean without knowing your needs and use cases etc. That's mainly because it's incomplete at the moment (doesn't really support vector layer) and branch isn't really well organized. It's really heavily WIP, for example I'm working on a system to replace whole AbstractMap class at the moment. (quadTreeMap branch @jaidhyani mentioned above but I think it should be a broken branch so don't even bother)

So shortly,

jaidhyani commented 2 years ago

@brnkhy Thank you, that's really informative. I know that communicating about WIP-projects is really hard, especially when there's a bunch of context that you can only really get by being heavily involved in said work. I really appreciate your summary, and the knowledge that you're still working on things.

brnkhy commented 2 years ago

thanks @jaidhyani 🙇 I'll try to update you all but I think there might not be new changes on public branch for a while. Meanwhile I only suggest (1) v2.1.1. for everyone (especially non-pro developers and peoplewho needs vector), (2) performance branch for experienced developers who need top down imagery based maps (you can check out Skygrid drone management app for a sample, it's using the performance branch).

I also post my work on my twitter, it's my personal twitter but it's mostly maps and map development (twitter @brnkhy).

tyler-lumineye commented 2 years ago

Thanks for responding to this repo the last couple years @brnkhy . It's too bad there's not as much support as there was a few years back, but I'm glad there's a capable alternative to google maps now that they're deprecating. We've been using Mapbox for the last couple months (coming from google), and have been pretty happy all things said. We've just been using master (minus all the AR folders), but reading through these various forums it looks like performance is likely better for our use case. Main questions are:

  1. Does performance include your Offline Maps work? Or would we need to merge those branches manually?
  2. Any main areas that would pose an issue with us switching from URP to Standard RP with performance branch? I noticed it's defaulted to URP in comments but haven't checked it out. (We have some other packages that don't play well with the SRP pipeline)
  3. Some of the comments have mentioned how performance branch is WIP which is fine, just as long as we can initialize an image map and extract layers without issues. Anything that would pose an issue if we updated from master to performance? Mostly ask this as you mentioned the potential AbstractMap changes, which would seemingly be a fairly large change.

Thanks for the responses, I'm positing this here as this seems about as close to a "State of Unity Mapbox in 2022" post as I've seen.

brnkhy commented 2 years ago

@tyler-lumineye

  1. I think that branch does have offline maps stuff but it was implemented on very early stages of the refactor, a lot has changed since then and I haven't tested it at all. I might have broke it but I think it wouldn't be a big, hard-to-fix issue.
  2. biggest issue with experimental branch & Standard RP is the shaders. experimental branch uses terrain shaders created in Shader Graph, which doesn't work with Standard RP (thank unity). Shaders aren't super complex though, and if you really have to work with SRP, you probably can recreate them in another shader editor that supports SRP.
  3. Current master and performance branches are vastly different; I would expect a lot of issues. Some will be easy fixes, some will be just missing features. I think you can test that all in a few days though. Current performance branch head and things I'm currently working on are very different as well. but it's still incomplete and I'll try to make it easy to switch as much as possible when I'm done.

first of all though, is performance branch limitations are ok with you app and use case? because that's a very narrow field there, just top down image/elevation maps.

tyler-lumineye commented 2 years ago

Thanks, if it's all things that can be done in a week or so then we might take a look at merging in performance branch and just see how it goes. We've made our own SDK modifications to work better for our use case, but we're still only using images and building layers. Performance branch still supports layers correct?

davide-aldegheri commented 2 years ago

Hi @brnkhy, thanks for all your hard work on this version of the sdk, some quick questions:

Thanks in advance!

Markovicho commented 2 years ago

Thanks, if it's all things that can be done in a week or so then we might take a look at merging in performance branch and just see how it goes. We've made our own SDK modifications to work better for our use case, but we're still only using images and building layers. Performance branch still supports layers correct?

Building layers are still functionally included from what we can investigate in latest commit of performance branch. Refer to "ModeSwitchScene" in the examples. You may need to fix the materialmodifier lacking references to the building materials (top and bottom).

image

the result : image

So generally the building layer is working. But this is only the case for this pre-configured abstractmap gameobject. In terms of adding the buildings layer manually AbstractMap Inspector-GUI seems to cause a crash:

Retrieving array element that was out of bounds UnityEditor.SerializedProperty:GetArrayElementAtIndex (int) Mapbox.Editor.VectorLayerPropertiesDrawer:PostProcessLayerProperties (UnityEditor.SerializedProperty) (at Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorLayerPropertiesDrawer.cs:131) Mapbox.Editor.MapManagerEditor:OnInspectorGUI () (at Assets/Mapbox/Unity/Editor/MapManagerEditor.cs:152) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

NullReferenceException: Object reference not set to an instance of an object Mapbox.Editor.EditorHelper.GetTargetObjectOfProperty (UnityEditor.SerializedProperty prop) (at Assets/Mapbox/Unity/Editor/EditorHelper.cs:132) Mapbox.Editor.VectorLayerPropertiesDrawer.PostProcessLayerProperties (UnityEditor.SerializedProperty property) (at Assets/Mapbox/Unity/Editor/PropertyDrawers/VectorLayerPropertiesDrawer.cs:132) Mapbox.Editor.MapManagerEditor.OnInspectorGUI () (at Assets/Mapbox/Unity/Editor/MapManagerEditor.cs:152) UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <1ada6c7052bb42378c5ec1bd01fc4723>:0) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

How to reproduce:

At the same time adding AbstractMap seems to cause an even worse error resulting in this weird behaviour: image

Maybe it's the best way to duplicate an already working AbstractMap component as long as this will be refactored / re-written by @brnkhy

db1713 commented 2 years ago

We are planning to implement Mapbox for a Unity developed product, but I am concerned the same as the OP. @brnkhy you said that you wouldn't be promoting or recommending the use of Mapbox for Unity for products right now, is your status still the same as it has been some time since you last said that.

Our use case is basically navigation to predefined POIs which can be walking or driven.

  1. Which branch would you suggest we use for the above use case?
  2. Is Mapbox going to only support native android development or can Unity devs hold on for something stable?
brnkhy commented 2 years ago

@db1713 just to clarify so other people won't get wrong idea; you said that you wouldn't be promoting or recommending the use of Mapbox for Unity for products right now I said this for experimental performance branch. And yes it's still experimental and work-in-progress. I cannot really recommend it for any application. It's just there in case you are feeling adventurous. Otherwise, last official release; v2.1.1. is the only option.

Is Mapbox going to only support native android development or can Unity devs hold on for something stable? I'm sorry, I don't understand this part.

brnkhy commented 2 years ago

@davide-aldegheri I'm really really sorry I missed your questions here. I just saw them casually checking some tickets 🤦‍♂️

How much of the original project is missing? I've noticed you said that if we want vector we should stick with v2.1.1 is it because you removed the ability to query vector data?

yes vector layer doesn't work in performance branch. I was working on it in different branches but those work is incomplete.

Is it still possible to change image layer with a custom one?

It is.

How can I work with the AbstractMap component? I've tried adding it to a GameObject but it breaks in the serialization of properties

there might be some editor script/serialization bugs I guess, try copying and existing object from demo scene in that branch, that should work.

lancesnider commented 1 year ago

@brnkhy Good to hear that as of April this was still being developed. Do you have an estimate on when the new version will be released? I'm trying to decide if I should wait or figure something else out.

steve6t6 commented 6 months ago

Does anyone know if the performance branch is still in development? And has anyone who has used it in production got any feedback on stability? I realise its been 2 years, and I hope all is well @brnkhy

brnkhy commented 5 months ago

thank you very much @steve6t6, all is well... but a little complicated. First of all, I'm so sorry for the long silence and response. I'm really not happy with that myself. We have been working on some internal/private work so we couldn't focus on this public repo for a while. I think performance branch was in a decent state but it has been years since I last looked into that so I can't suggest using it either. Currently we are working on a new version of mapbox unity sdk, almost everything written from scratch, but I'm not able to give an ETA or even say if it'll get into a dev-ready state in short-mid term. Best I can say is I'll try my best to have, at least a public alpha version (with minimal features) soon.