VoltRpc.Extension.Vectors 1.1.0

.NET 6.0 .NET Standard 2.0
NuGet\Install-Package VoltRpc.Extension.Vectors -Version 1.1.0
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.
dotnet add package VoltRpc.Extension.Vectors --version 1.1.0
<PackageReference Include="VoltRpc.Extension.Vectors" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add VoltRpc.Extension.Vectors --version 1.1.0
#r "nuget: VoltRpc.Extension.Vectors, 1.1.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install VoltRpc.Extension.Vectors as a Cake Addin
#addin nuget:?package=VoltRpc.Extension.Vectors&version=1.1.0

// Install VoltRpc.Extension.Vectors as a Cake Tool
#tool nuget:?package=VoltRpc.Extension.Vectors&version=1.1.0


License NuGet NuGet Download Count Build Status Docs Status Discord

VoltRpc - An RPC library which is designed to be both simple to use and fast.


  • Its fast (See the benchmarks)
  • Supports all built-in C# value types, including:
    • Bool
    • Byte
    • Char
    • Decimal
    • Double
    • Float
    • Int
    • Long
    • SByte
    • Short
    • UInt
    • ULong
    • UShort
  • Supports these built-in .NET types: (More to be added)
    • String
    • DateTime
    • TimeSpan
    • Uri
    • Guid
  • Supports arrays for any type
  • Easily support custom types by implementing a TypeReadWriter<T>
  • Proxy generated by using a .NET Source Generator
  • Simple to use

Getting Started


VoltRpc can be installed from NuGet. You will also need the proxy generator (also on NuGet).

    <PackageReference Include="VoltRpc" Version="3.0.0" />
    <PackageReference Include="VoltRpc.Proxy.Generator" Version="2.1.0" />


For a more in-depth example, see the Overview or Setup.

There is also a demo project included.

[GenerateProxy(GeneratedName = "TestProxy")]
public interface ITestInterface
  public void DoSomethingCool();
  public int GetTheCoolValue();

public class TestInterface : ITestInterface
  public void DoSomethingCool()
    Console.WriteLine("Something Cool!");

  public int GetTheCoolValue()
    return 69;

public class Program
  IPEndPoint ip = new(IPAddress.Loopback, 7767);

  TestInterface test = new();

  Host host = new TCPHost(ip);

  Client client = new TCPClient(ip);

  //Now we can call to method like it was normal C#
  TestProxy proxy = new(client);


BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1826 (21H2)
Intel Core i5-10600KF CPU 4.10GHz, 1 CPU, 12 logical and 6 physical cores
.NET SDK=6.0.302
  [Host]     : .NET 6.0.7 (6.0.722.32202), X64 RyuJIT
  Job-TDLHXN : .NET 6.0.7 (6.0.722.32202), X64 RyuJIT

Jit=Default  Platform=AnyCpu  Runtime=.NET 6.0  

Pipes Non-Array

Pipes Non-Array

(Currently, the in-built arrays are quite a lot slower, we are looking into fixing this in a later release)

Method message array Mean Error StdDev
BasicVoid ? ? 6.311 μs 0.0517 μs 0.0432 μs
BasicReturn ? ? 7.444 μs 0.0589 μs 0.0551 μs
ArrayReturn ? ? 21.389 μs 0.3943 μs 0.6695 μs
ArrayFast ? ? 1,579.432 μs 10.1223 μs 9.4684 μs
BasicParameterVoid Hello World! ? 7.128 μs 0.0390 μs 0.0346 μs
BasicParameterReturn Hello World! ? 8.287 μs 0.0364 μs 0.0304 μs
ArrayParameterVoid ? Byte[25] 18.423 μs 0.3675 μs 0.6140 μs
ArrayParameterReturn ? Byte[25] 28.647 μs 0.5643 μs 0.9112 μs
ArrayParameterVoid ? Byte[8294400] 2,705,942.687 μs 11,965.3253 μs 11,192.3727 μs
ArrayParameterReturn ? Byte[8294400] 5,416,337.679 μs 21,036.1040 μs 18,647.9583 μs

For more info on these benchmarks see Benchmarks.


Voltstro - Initial work - Voltstro


This project is licensed under the MIT license – see the LICENSE.md file for details.


Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on VoltRpc.Extension.Vectors:

Repository Stars
Functional web browser for Unity without any issues or hassle.
Version Downloads Last updated
1.1.0 203 8/5/2022
1.0.0 175 5/22/2022