Skip to main content

VoidSentryUltimate

VoidSentryUltimate is a schema-driven binary serializer for Roblox Luau, optimized for low overhead. LuauVS.luau provides the portable Luau subset for non-roblox environments.

The library is intentionally validation-free. It does not check values, lengths, integer ranges, buffer capacity, or schema compatibility before reading or writing. The sender and receiver must use the same schema at both ends.

Basic workflow​

  1. Build a schema from nodes in VoidSentryUltimate.Types.
  2. Serialize a matching value into a buffer.
  3. Send or store that buffer.
  4. Deserialize it with the same schema.
local VoidSentryUltimate = require(path.to.VoidSentryUltimate)
local Types = VoidSentryUltimate.Types

local PlayerState = Types.Schema {
Health = Types.UInt,
Name = Types.String8,
Position = Types.Vector,
}

local encoded = PlayerState.Serialize {
Health = 100,
Name = "Builder",
Position = Vector3.new(4, 8, 15),
}

local decoded = PlayerState.Deserialize(encoded)
print(decoded.Name, decoded.Health)

Schemas are executable serialization nodes, not metadata embedded in the output. Buffers contain only the bytes selected by the schema, so there is no type tag or self-description to recover a missing schema.

Choose a module​

  • Use VoidSentryUltimate.luau in Roblox. Its Wally package is elentium/voidsentryultimate@1.1.2. It includes Roblox datatypes, instance references, and serializable instances.
  • Use LuauVS.luau for pure Luau. Its Wally package is elentium/voidsentryultimateluau@1.1.2. It includes scalar, string, buffer, collection, optional, packed-boolean, and vector nodes, but no Roblox-only types.

Important constraints​

  • Invalid values can truncate, wrap, fail inside buffer operations, or produce unreadable data.
  • Variable-length values include a length prefix; fixed variants do not.
  • The initial serialization scratch buffer is 1,000,000 bytes. Use SetWriteBufferSize from the API when you need a different limit.

Continue with Installation, then Schemas and the Type catalog. Measured throughput and a Sera comparison are in Benchmarks.