Skip to content

Data Types

upio edited this page Mar 17, 2026 · 5 revisions

Data Types

These classes live in robloxmemoryapi.utils.rbx.datastructures and are used throughout the API.

Vector2

Represents a 2D vector.

from robloxmemoryapi.utils.rbx.datastructures import Vector2

v = Vector2(10, 20)
print(v.X, v.Y)

NumberRange

Represents a numeric range with a minimum and maximum value. Maps to Roblox's NumberRange type.

from robloxmemoryapi.utils.rbx.datastructures import NumberRange

nr = NumberRange(5, 10)
print(nr.Min, nr.Max)  # 5.0 10.0

# Single value sets both Min and Max
nr2 = NumberRange(5)
print(nr2.Min, nr2.Max)  # 5.0 5.0

Vector3

Represents a 3D vector and supports basic vector math.

from robloxmemoryapi.utils.rbx.datastructures import Vector3

a = Vector3(1, 2, 3)
b = Vector3(4, 5, 6)
print(a + b)
print(a.Dot(b))

Color3

RGB color in 0..1 space with basic math and conversion helpers.

from robloxmemoryapi.utils.rbx.datastructures import Color3

c = Color3(1.0, 0.5, 0.25)
print(c.ToRGB())

UDim And UDim2

UDim is a (scale, offset) pair. UDim2 contains X and Y UDim values.

from robloxmemoryapi.utils.rbx.datastructures import UDim, UDim2

u = UDim(0.5, 10)
ui = UDim2.fromScale(0.5, 0.5)

CFrame

Represents a coordinate frame with a position and orthonormal basis.

from robloxmemoryapi.utils.rbx.datastructures import CFrame, Vector3

cf = CFrame.new(0, 5, 0)
cf2 = cf + Vector3(0, 10, 0)

AnimationTrack

Represents a playing animation track retrieved from an Animator instance.

animator = humanoid.FindFirstChildOfClass("Animator")
tracks = animator.GetPlayingAnimationTracks()

for track in tracks:
    print(track.Speed, track.Looped, track.IsPlaying)
    print(track.TimePosition)
    print(track.Animation.AnimationId)

FFlag

Represents a Roblox Fast Flag read from memory. Type is automatically reflected from the memory layout.

Possible types: "bool", "int", "string", "flog" (log level + parameter), "unknown".

client = RobloxGameClient(allow_write=True)
fflags = client.FFlags

# Read
flag = fflags.get("EnableRemoteProfiling")
print(flag.name, flag.type, flag.value)  # EnableRemoteProfiling bool True

# Write via .value setter
flag.value = False

# Attribute-style access
print(fflags.EnableRemoteProfiling)
fflags.EnableRemoteProfiling = True

Clone this wiki locally