Cache

The cache library provides methods for modifying the internal Instance cache.

Note that some of the methods are only available as global functions. They will be tagged with 🌎 Global.


cache.invalidate

function invalidate(object: Instance): ()

Deletes object from the Instance cache. Effectively invalidates object as a reference to the underlying Instance.

Parameters

  • object - The object to invalidate.

Example

local Lighting = game:GetService("Lighting")
cache.invalidate(game:GetService("Lighting"))
print(Lighting, Lighting == game:GetService("Lighting")) --> Lighting, false

cache.iscached

function iscached(object: Instance): boolean

Checks whether object exists in the Instance cache.

Parameters

  • object - The object to find.

Example

local Lighting = game:GetService("Lighting")
cache.invalidate(Lighting)
print(cache.iscached(Lighting)) --> false

cache.replace

function replace(object: Instance, newObject: Instance): ()

Replaces object in the Instance cache with newObject.

Parameters

  • object - The object to replace.

  • newObject - The new object to replace object with.

Example

local Lighting = game:GetService("Lighting")
local Players = game:GetService("Players")

cache.replace(Lighting, Players)

print(Lighting) --> Players

cloneref

🌎 Global

function cloneref(object: Instance): Instance

Returns a copy of the Instance reference to object. This is useful for managing an Instance without directly referencing it.

Parameters

  • object - The Instance to clone.

Example

local Lighting = game:GetService("Lighting")
local LightingClone = cloneref(Lighting)

print(Lighting == LightingClone) --> false

compareinstances

🌎 Global

function compareinstances(a: Instance, b: Instance): boolean

Returns whether objects a and b both reference the same Instance.

Parameters

  • a - The first Instance to compare.

  • b - The second Instance to compare.

Example

local Lighting = game:GetService("Lighting")
local LightingClone = cloneref(Lighting)

print(Lighting == LightingClone) --> false
print(compareinstances(Lighting, LightingClone)) --> true

Last updated