Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
193 stars 9 forks source link

Host provided plugins like Gmod add-ons where upon joining it loads the plugins the host uses #3277

Open alexderpyfox opened 3 years ago

alexderpyfox commented 3 years ago

Is your feature request related to a problem? Please describe.

I talked about this yesterday but it seems that things gotten mixed up and this wasn't on the road map yet so this will be handy when you join a world and the host got plugins that it automatically downloads/ enables the plugins that the host has like how Gmods addon system works which basically are a bunch of plugins this could be really handy in case of a world having special mechanics that require a plugin and so on

Relevant issues

I couldn't find the relevant issue as we talked about yesterday this isn't on the roadmap the one probable linked to on the road map was a generic universal API plugin to connect hardware to whilst still allowing to join others but my request/idea is completely different from that

Describe the solution you'd like

This could be amazing for lot of usecases

Describe alternatives you've considered

Gmod add-ons

Additional context

No response

Earthmark commented 3 years ago

Depending on your perspective neos already does this, as when you join a world it downloads the scripts and assets needed to run the world, with the addition that new scripts can be added at any point by spawning an object or making the script.

Is there a feature this goal is trying to solve?

Frooxius commented 3 years ago

We already have things on roadmap that are roughly around this topic:

https://github.com/Neos-Metaverse/NeosPublic/projects/1#card-35346307 https://github.com/Neos-Metaverse/NeosPublic/projects/1#card-35346323

This is really big topic though and we're not 100 % settled on the solution. Automatically downloading plugins is very dangerous, so that's not something we'd add without having proper sandboxing mechanisms in the place. We'll have to explore more in that area, one possibility is using WASM, as that will provide two layers of protection with process sandboxing.

With plugins as they are now we plan on making it possible to make them per-session, so you can still join sessions if you don't use them, but they will not download automatically.