vMenu.Enhanced.ClientAPI 1.0.3

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package vMenu.Enhanced.ClientAPI --version 1.0.3
                    
NuGet\Install-Package vMenu.Enhanced.ClientAPI -Version 1.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="vMenu.Enhanced.ClientAPI" Version="1.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="vMenu.Enhanced.ClientAPI" Version="1.0.3" />
                    
Directory.Packages.props
<PackageReference Include="vMenu.Enhanced.ClientAPI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add vMenu.Enhanced.ClientAPI --version 1.0.3
                    
#r "nuget: vMenu.Enhanced.ClientAPI, 1.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package vMenu.Enhanced.ClientAPI@1.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=vMenu.Enhanced.ClientAPI&version=1.0.3
                    
Install as a Cake Addin
#tool nuget:?package=vMenu.Enhanced.ClientAPI&version=1.0.3
                    
Install as a Cake Tool

vMenu.Enhanced.ClientAPI

The client side plugin API for vMenu Enhanced, the version of vMenu that runs on FiveM Enhanced (GTA V Enhanced).

A plugin is a normal FiveM resource of your own. With this package, your resource's client script can declare menus that appear inside vMenu, under a Plugins entry on its main menu. You describe your menu with a typed builder, and the package talks to vMenu over events for you. You never touch vMenu's code, and vMenu never needs to know about your resource ahead of time.

Everything vMenu's own menus can do is available to you. Buttons, checkboxes, lists, sliders, dynamic lists, submenus, confirm items and separators. A checkbox can be marked as persisted, in which case the player's choice is saved in your resource's own key value store and the box reopens the way they left it. Your texts can be translated: you hand the plugin your translation tables per language, English is the required fallback, and your menu follows whatever language the player picked in vMenu. Items can be gated on permissions and on convar settings, both scoped to your plugin, and they refresh live when the server owner changes something. You can also show notifications through vMenu, ask the player for text through vMenu's input box, and read the list of vMenu's themes to put that one player's menus in a different look for the rest of their session.

A quick taste:

var plugin = VMenuPlugin.Create("My Plugin");

plugin.Translations.Add("en", new Dictionary<string, string>
{
    ["greet"] = "Say hello",
});

var enabled = plugin.Settings.Bool("Enabled", true, "Turns my plugin on or off.");

var greet = plugin.RootMenu.AddButton(Text.Key("greet"));
greet.Gate = PluginGate.Permission("Greet") & PluginGate.Setting(enabled);
greet.Selected += () => plugin.Notify(NotifyStyle.Success, "Hello!");

await plugin.ConnectAsync();

Your resource's server script declares the permissions and settings through the matching vMenu.Enhanced.ServerAPI package. vMenu writes them into config/plugins/ as <your resource name>.permissions.cfg.example and <your resource name>.configuration.cfg.example, which the server owner copies and executes.

The package version always matches the vMenu Enhanced release it belongs to, so pin it to the vMenu version your server runs. A full example resource lives in the vMenu.ExamplePlugin repository, and the plugin documentation is at docs.vespura.com.

License

This package is licensed under the GNU General Public License v3.0 or later, GPL-3.0-or-later, which is the same license vMenu Enhanced itself uses. The full text ships inside the package as LICENSE.md, and also lives in the vMenu repository.

That license comes along with your plugin. A plugin built on this package is a work based on vMenu, so your plugin has to be licensed GPL-3.0 or AGPL-3.0, or the "or later" version of either. You cannot build on this and then put your own closed license on the result. In practice:

  • Running it on your own server, and nowhere else, asks nothing of you. Using software is not distributing it. Build whatever you like and keep it to yourself.
  • The moment you hand your plugin to somebody else, you owe them the source. Giving it away, selling it, listing it on a store, sending it to a friend who runs another server, all of that is distribution, and every one of those means the complete source code goes with it, under this same license.
  • You are allowed to charge money. The GPL has no problem with being paid. What it does not allow is taking the money and keeping the source to yourself, and whoever paid you is then free to pass both on to other people.
  • So if your plugin will ever run on a server that is not yours, plan on open sourcing it. That is not an extra rule on top of the license, it is what the license already asks of you.

This is a plain language summary, not legal advice. The license text is what actually counts, so read it if the details matter to your situation.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.4-dev.3 0 10/3/2026
1.0.4-dev.2 0 10/3/2026
1.0.3 35 10/2/2026
1.0.2 35 10/2/2026
1.0.0 37 10/2/2026
0.0.1-alpha.111 52 9/25/2026
0.0.1-alpha.110 48 9/22/2026
0.0.1-alpha.109 51 9/22/2026
0.0.1-alpha.108 55 9/20/2026
0.0.1-alpha.107 97 9/5/2026
0.0.1-alpha.106 69 9/5/2026
0.0.1-alpha.105 64 9/5/2026
0.0.1-alpha.104 65 9/3/2026
0.0.1-alpha.103 62 9/2/2026
0.0.1-alpha.102 66 9/2/2026
0.0.1-alpha.101 65 9/2/2026
0.0.1-alpha.100 67 9/2/2026
0.0.1-alpha.99 65 9/2/2026
0.0.1-alpha.98 71 9/1/2026
0.0.1-alpha.97 68 8/31/2026
Loading failed