# Plugin system for Stride game engine
The Stride game engine provides a robust environment for creating video games. This combines runtime libraries, an asset pipeline and a visual editor. Users needs vary and as such over time the engine grows with new features. However, some needs may be project specific and not suitable for upstream contribution. This means that teams are either forced to maintain a fork of the engine with their specific modifications, or they need a way to inject their extensions into the officially provided binaries.
Stride has already a lot of extensibility in its runtime libraries, allowing users to create custom game systems and scripts, leveraging the full flexibility of the .NET platform. The visual editor and the asset compilation pipeline have been designed internally in a way that allows adding new features within the source code with relative ease. They lack, however, points of external extensibility. Such a feature is necessary to allow users to create and share custom plugins, without the need to recompile Stride from its sources, which can be overwhelming for less experienced programmers.
We're looking to fund the work necessary to create those points of extensibility, leveraging the .NET eco-system and NuGet package infrastructure. Users will be able to create their own plugins, or easily import plugins created by others and published to a package repository. This will provide access to custom UI tools in the editor and compile-time data processing for custom assets.
Discussion on technical details can be read here: [Plugin system RFC](https://github.com/stride3d/stride/issues/1120)