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, falsecache.iscached
function iscached(object: Instance): booleanChecks 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)) --> falsecache.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 replaceobjectwith.
Example
local Lighting = game:GetService("Lighting")
local Players = game:GetService("Players")
cache.replace(Lighting, Players)
print(Lighting) --> Playerscloneref
🌎 Global
function cloneref(object: Instance): InstanceReturns 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) --> falsecompareinstances
🌎 Global
function compareinstances(a: Instance, b: Instance): booleanReturns 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)) --> trueLast updated