Learn
Engine Class
BaseWrap
Not Creatable

Summary
Inherited Members

API Reference
Properties
CageMeshContent
Plugin Security
Read Parallel
Capabilities: AvatarAppearance
BaseWrap.CageMeshContent:Content

CageMeshId
Plugin Security
Read Parallel
Capabilities: AvatarAppearance
BaseWrap.CageMeshId:ContentId

CageOrigin
Plugin Security
Read Parallel
Capabilities: AvatarAppearance
BaseWrap.CageOrigin:CFrame

CageOriginWorld
Read Only
Not Replicated
Read Parallel
Capabilities: AvatarAppearance
BaseWrap.CageOriginWorld:CFrame

HSRAssetId
Roblox Script Security
Roblox Security
Read Parallel
Capabilities: AvatarAppearance
BaseWrap.HSRAssetId:ContentId

ImportOrigin
Plugin Security
Read Parallel
Capabilities: AvatarAppearance
BaseWrap.ImportOrigin:CFrame
Code Samples
Import Origin
local function alignWraps()
local selectionService = game:GetService("Selection")
local selectedObjects = selectionService:Get()
local alignObjects = {}
for _, obj in selectedObjects do
if obj:IsA("BaseWrap") then
--print("Wrap: " .. obj.Name)
table.insert(alignObjects, obj)
else
print("Ignore: " .. obj.Name)
end
end
if #alignObjects < 2 then
warn("You need to select at least two wraps")
return
end
local anchorWrap = alignObjects[1]
local worldA_from_Wrap = anchorWrap.ImportOriginWorld
print("Anchor: " .. anchorWrap.Name)
for i = 2, #alignObjects do
local wrapToAlign = alignObjects[i]
print("Align: " .. wrapToAlign.Name)
local wrap_from_WorldB = wrapToAlign.ImportOriginWorld:Inverse()
local worldA_from_WorldB = worldA_from_Wrap * wrap_from_WorldB
local worldB = wrapToAlign.Parent.CFrame
-- Note: adjust CFrame of the parent part
wrapToAlign.Parent.CFrame = (worldB_from_WorldB * worldB)
end
end

ImportOriginWorld
Read Only
Not Replicated
Read Parallel
Capabilities: AvatarAppearance
BaseWrap.ImportOriginWorld:CFrame

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.