Bindings Catalog
TL;DR: Every Lua-visible class comes from a generated wrapper in CVR-GameFiles/ABI.Scripting.CVRSTL.Common.*. Each wrapper is paired with a module (System, UnityEngine, UnityEngine.AI, UnityEngine.UI, CVR, CVR.Network, CVR.CCK, TextMeshPro, RCC, _CVRSpecial) that registers it with MoonSharp when you require() the module. The _CVRSpecial module is pre-registered; the rest are gated on require(...). Types not listed here are not reachable from Lua.
This catalog is generated by walking the RegisteredTypes HashSet<Type> on each module plus the matching _LUAINSTANCE_Scripted* / _LUASTATIC_Scripted* / _LUASTRUCT_Scripted* wrapper file. If a wrapper has more than ten surface members, the entry links to the decompiled source and lists only the categories — wrapper files can exceed 1,300 lines (e.g. Camera, Animator, Mesh), so full member tables would bury the rest of the docs.
How to read an entry
Section titled “How to read an entry”- Wrapped type. The .NET type the Lua wrapper stands in for.
UnityEngine.GameObject,CVR.CCK.CVRSpawnable, etc. - Wrapper files. Three possible suffixes, living next to the module:
_LUAINSTANCE_Scripted<Name>— per-instance wrapper exposed as a Lua userdata. Properties/methods you call on a value._LUASTATIC_Scripted<Name>— the “static side.” Accessed asMODULE.Name.StaticMethod(...)afterrequire. Often empty (just a namespace holder)._LUASTRUCT_Scripted<Name>— value-type wrapper (Unitystructs likeVector3,Bounds). Pass-by-value semantics.
- Members. Every property get/set and method runs through
CheckIfCanAccessProperty/CheckIfCanAccessMethodfromBaseScriptedWrapper, which enforces the four-axis context check. See Context & Permissions for how those masks narrow access.
Pre-registered: _CVRSpecial
Section titled “Pre-registered: _CVRSpecial”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common._CVRSpecial/ (34 wrappers) and CVR-GameFiles/ABI.Scripting.CVRSTL.Common.Modules/_CVRSpecialLuaModule.cs.
Unlike the other modules, _CVRSpecial is registered unconditionally by LuaScriptFactory.ForLuaBehaviour. The API singletons are also exposed as top-level globals (PlayerAPI, InstancesAPI, etc.) so you don’t need to require anything to reach them.
| Wrapped type | Purpose | Detailed page |
| --- | --- | --- |
| ABI_RC.API.Avatar | A remote/local avatar instance. Returned by PlayerAPI.LocalPlayer.Avatar, Player.Avatar, AvatarAPI.CurrentAvatar. | AvatarAPI |
| ABI_RC.API.AvatarAPI | Avatar singleton: LocalAvatar, CurrentAvatar, picture requests. | AvatarAPI |
| ABI_RC.Scripting.Persistence.BasePersistentStorage | Base for per-script storage buckets. | Storage |
| ABI_RC.API.Player.CoreParameters | Avatar animator parameter surface (gesture, speed, grounded, …). | PlayerAPI |
| ABI_RC.API.DebugAPI | Runtime-gizmo and debug draw helpers. | — |
| ABI_RC.API.InstancesAPI | Current instance metadata: InstanceID, InstanceName, InstancePrivacy, IsConnected, IsHomeInstance, Ping. | InstancesAPI |
| ABI_RC.Scripting.Persistence.PersistenceCollection | Collection of persisted keys. | Storage |
| ABI_RC.API.Player | One player (local or remote). Largest surface in _CVRSpecial (547 lines) — GetPosition, SetPosition, TeleportPlayerTo, AddForce, SetFlight, Respawn, body-control weights, gravity, controller velocity, viewpoint/voice point, profile image requests, etc. | PlayerAPI |
| ABI_RC.API.PlayerAPI | Player singleton: LocalPlayer, FindPlayerByUserId, FindPlayerByUsername, GetClosestPlayer, IsFriendsWith. | PlayerAPI |
| ABI_RC.Scripting.Persistence.PrivatePersistentStorage | Private bin — local to this script / player. | Storage |
| ABI_RC.Scripting.Persistence.PublicPersistentStorage | Public bin — shared across scripts in the same content. | Storage |
| ABI_RC.Scripting.Persistence.PublicPersistentStorageReadonly | Read-only view of another script’s public bin. | Storage |
| ABI_RC.API.RuntimeGizmosAPI | Draw runtime gizmos in the scene (lines, cubes, spheres). 264 lines of draw primitives. | — |
| ABI_RC.API.Spawnable | A spawned prop instance. | SpawnableAPI |
| ABI_RC.API.SpawnableAPI | Prop singleton: AllSpawnables, spawn/despawn helpers. | SpawnableAPI |
| ABI_RC.API.World | Current world metadata. | WorldAPI |
| ABI_RC.API.WorldAPI | World singleton: WorldID, WorldName. | WorldAPI |
System
Section titled “System”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common.System/ and CVR-GameFiles/ABI.Scripting.CVRSTL.Common.Modules/SystemLuaModule.cs.
System = require("System")| Wrapped type | Summary |
| --- | --- |
| System.ValueType | The boxing base for all .NET value types. Exposed so that Unity structs roundtrip through Lua. No callable members of its own — used for type identity. |
There is also _LUAINSTANCE_ScriptedObject / _LUASTATIC_ScriptedObject present in the folder but not in RegisteredTypes; it is a base class used by the rest of the system, not a reachable Lua type.
UnityEngine
Section titled “UnityEngine”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common.UnityEngine/ (322 wrapper files covering 160 typeof(...) entries in UnityEngineLuaModule.cs).
UnityEngine = require("UnityEngine")This is by far the largest module. Rather than re-typing every property, each row links into the decompile path for the instance wrapper — open it if you want the exact member signatures.
Core math & geometry (structs)
Section titled “Core math & geometry (structs)”These are exposed as _LUASTRUCT_Scripted<Name>, pass-by-value. The module also exposes constructors (UnityEngine.NewVector3(x, y, z), UnityEngine.NewQuaternion(...), etc.).
| Wrapped type | Members |
| --- | --- |
| Vector2 | x, y; arithmetic, dot, lerp, magnitude. See _LUASTRUCT_ScriptedVector2.cs. |
| Vector2Int | Integer 2D vector. |
| Vector3 | x, y, z; full math surface (Cross, Dot, Lerp, Slerp, Project, Reflect, Distance, magnitude, normalized). |
| Vector3Int | Integer 3D vector. |
| Vector4 | x, y, z, w; lerp/project/dot/distance. |
| Quaternion | x, y, z, w; Euler, AngleAxis, LookRotation, Slerp, Inverse, RotateTowards. |
| Matrix4x4 | 4x4 matrix primitives. |
| Color | r, g, b, a; Lerp, HSVToRGB, RGBToHSV. |
| Color32 | Byte-channel color. |
| Rect | x, y, width, height, Contains, Overlaps. |
| RectInt | Integer rect. |
| RectOffset | Left/right/top/bottom margins. |
| Bounds | Axis-aligned bounding box: center, extents, size, Contains, Encapsulate, Expand, Intersects, SqrDistance. |
| BoundsInt | Integer AABB. |
| BoneWeight | Skinned-mesh bone weight tuple. |
| BoundingSphere | Center + radius. |
| RaycastHit, RaycastHit2D | point, normal, distance, collider, transform, rigidbody, textureCoord. |
| ContactPoint | Collision contact (point, normal, separation, thisCollider, otherCollider). |
| ConstraintSource | sourceTransform, weight. |
| JointDrive, JointLimits, JointMotor, JointSpring, SoftJointLimit, SoftJointLimitSpring | Physics joint parameter structs. |
| ArticulationDrive | Articulation-body drive parameters. |
| SphericalHarmonicsL2 | Ambient probe coefficients. |
| WheelHit | Wheel-collider ground contact sample. |
| LayerMask | Layer bitmask helpers. |
Static helpers
Section titled “Static helpers”Exposed via the module singleton — e.g. UnityEngine.Mathf.Sin(x).
| Wrapped type | Members |
| --- | --- |
| Mathf | All Unity Mathf statics: Sin, Cos, Lerp, Clamp, PerlinNoise, Approximately, etc. |
| Time | time, deltaTime, fixedDeltaTime, timeScale, frameCount. |
| Random | value, Range, insideUnitSphere, onUnitSphere, rotation. |
| Physics | Raycast, SphereCast, BoxCast, OverlapSphere, CheckSphere, gravity. See _LUAINSTANCE_ScriptedPhysics.cs. |
| Graphics | Blit/draw helpers. |
| ColorUtility | TryParseHtmlString, ToHtmlStringRGB. |
| AnimatorUtility | Optimize/Deoptimize humanoid transforms. |
| AudioRenderer, AudioSettings | Playback settings. |
| RenderSettings | Skybox, ambient, fog. |
| Compass | Mobile compass (exposed, may noop on desktop). |
GameObject tree, components, transforms
Section titled “GameObject tree, components, transforms”| Wrapped type | Members (summary) |
| --- | --- |
| UnityEngine.Object | Base of all Unity objects: name, GetInstanceID, ToString, Destroy, DestroyImmediate (gated), equality. |
| GameObject | name, tag, layer, activeSelf, activeInHierarchy, transform, SetActive, AddComponent(typeName), GetComponent(typeName), GetComponentInChildren, GetComponents, TryGetComponent. Component helpers live in StaticOverrides/ComponentHelpers.cs. |
| Transform | 776-line wrapper. position, localPosition, rotation, localRotation, eulerAngles, localScale, parent, forward, up, right, Translate, Rotate, LookAt, Find, child iteration, DetachChildren, SetParent, SetSiblingIndex, InverseTransformPoint, TransformDirection. See _LUAINSTANCE_ScriptedTransform.cs. |
| RectTransform | 871 lines. Adds anchoredPosition, sizeDelta, pivot, anchorMin, anchorMax, offsetMin, offsetMax, GetWorldCorners, GetLocalCorners. See _LUAINSTANCE_ScriptedRectTransform.cs. |
| Component, Behaviour, MonoBehaviour, ScriptableObject, StateMachineBehaviour, TrackedReference | Base class surfaces. Mostly gameObject, transform, enabled, equality. |
Rendering & mesh
Section titled “Rendering & mesh”| Wrapped type | Notes |
| --- | --- |
| Renderer, MeshRenderer, SkinnedMeshRenderer, BillboardRenderer, CanvasRenderer | 600–780 lines each. enabled, material, sharedMaterial, materials, bounds, sortingLayer, sortingOrder, receiveShadows, shadowCastingMode. Setting material swaps the material; gated to scope SELF. See _LUAINSTANCE_ScriptedMeshRenderer.cs, _LUAINSTANCE_ScriptedSkinnedMeshRenderer.cs. |
| Mesh | 1,155 lines. vertices, normals, tangents, uv, uv2…uv8, colors, triangles, bounds, bindposes, boneWeights, blendShapeCount, GetBlendShapeName, SetVertices, SetTriangles, RecalculateNormals, RecalculateBounds, Clear. See _LUAINSTANCE_ScriptedMesh.cs. |
| MeshFilter | mesh, sharedMesh. |
| Material | 918 lines. color, mainTexture, mainTextureOffset, mainTextureScale, shader, SetColor, SetFloat, SetInt, SetVector, SetMatrix, SetTexture, GetColor, GetFloat, GetVector, HasProperty, EnableKeyword, DisableKeyword. |
| Texture, Texture2D, Texture3D, RenderTexture, Cubemap, CubemapArray | Texture primitives. width, height, format, filterMode, wrapMode; Texture2D adds SetPixel, SetPixels, GetPixel, Apply, EncodeToPNG, EncodeToJPG, LoadImage. |
| Shader | Find(name), isSupported, passCount, renderQueue. |
| Camera | 1,363 lines, largest in the binder. See _LUAINSTANCE_ScriptedCamera.cs for the full surface — fieldOfView, nearClipPlane, farClipPlane, orthographic, orthographicSize, clearFlags, backgroundColor, cullingMask, targetTexture, Render, ScreenPointToRay, WorldToScreenPoint, ScreenToWorldPoint, ViewportToWorldPoint, and many read-only rendering-pipeline properties. |
| Canvas | renderMode, worldCamera, sortingOrder, pixelPerfect, planeDistance. |
| CanvasGroup | alpha, interactable, blocksRaycasts. |
| LookAtConstraint, AimConstraint, ParentConstraint, PositionConstraint, RotationConstraint, ScaleConstraint | weight, constraintActive, AddSource, RemoveSource, SetSource. |
| Gradient | colorKeys, alphaKeys, Evaluate, mode. |
| ScriptableCullingParameters | Culling pipeline parameter struct. |
Animation
Section titled “Animation”| Wrapped type | Notes |
| --- | --- |
| Animator | 1,238 lines. runtimeAnimatorController, avatar, rootPosition, rootRotation, applyRootMotion, speed, updateMode, cullingMode, GetFloat/SetFloat, GetBool/SetBool, GetInteger/SetInteger, SetTrigger, ResetTrigger, IsInTransition, Play, CrossFade, GetCurrentAnimatorStateInfo, GetLayerWeight, SetLayerWeight, GetIKPosition, SetIKPosition, SetIKRotation, GetBoneTransform. |
| Animation | Legacy animation component (play/crossfade/IsPlaying). |
| AnimationClip | name, length, frameRate, wrapMode, events. |
| AnimationCurve | keys, Evaluate, AddKey, MoveKey. |
| AnimationEvent | functionName, time, floatParameter, intParameter, stringParameter. |
| AnimationState | Legacy animation state. |
| AnimatorOverrideController, RuntimeAnimatorController | Animator controller assets. this[clipName] indexer on the override controller. |
| AnimatorControllerParameter | name, type, defaultFloat, defaultInt, defaultBool. |
| Avatar, AvatarMask | Humanoid avatar asset and mask. |
| Motion | Blend-tree motion base. |
(Structs AnimatorClipInfo, AnimatorStateInfo, AnimatorTransitionInfo are also wrapped — value types returned by animator queries.)
Physics
Section titled “Physics”| Wrapped type | Notes |
| --- | --- |
| Rigidbody | 726 lines. mass, drag, angularDrag, useGravity, isKinematic, velocity, angularVelocity, position, rotation, AddForce, AddTorque, AddForceAtPosition, MovePosition, MoveRotation, Sleep, WakeUp, IsSleeping. |
| ArticulationBody | 905 lines. Physics-X articulation wrapper — drive/joint settings, linearVelocity, AddForce. |
| Collider, BoxCollider, SphereCollider, CapsuleCollider, MeshCollider, WheelCollider, TerrainCollider, CharacterController | enabled, isTrigger, material, sharedMaterial, bounds, type-specific size fields (size, radius, center, height). |
| CharacterJoint, ConfigurableJoint, FixedJoint, HingeJoint, SpringJoint, Joint | 788-line ConfigurableJoint; standard physics joint surface — connectedBody, anchor, breakForce, xMotion, yMotion, zMotion, per-axis drive. |
| Collision, Collision2D | Collision payload: relativeVelocity, contacts, impulse, gameObject, transform, rigidbody. |
| Cloth | Cloth simulation component. |
| ConstantForce, ConstantForce2D | Constant force applier. |
| PhysicsMaterial2D | 2D material. |
| PhysicsUpdateBehaviour2D | Base for 2D effectors. |
Physics 2D
Section titled “Physics 2D”| Wrapped type | Notes |
| --- | --- |
| AnchoredJoint2D, Joint2D | 2D joint bases. |
| AreaEffector2D, BuoyancyEffector2D, Effector2D | 2D field effectors. |
| BoxCollider2D, CapsuleCollider2D, CircleCollider2D, CompositeCollider2D, Collider2D | 2D colliders (600–780 lines each). size, radius, edgeRadius, usedByComposite, contact queries. |
| Wrapped type | Notes |
| --- | --- |
| AudioSource | 693 lines. clip, outputAudioMixerGroup, volume, pitch, mute, loop, priority, spatialBlend, dopplerLevel, rolloffMode, minDistance, maxDistance, Play, PlayOneShot, Stop, Pause, UnPause, isPlaying, time, timeSamples. |
| AudioListener | volume, pause. |
| AudioClip | length, samples, channels, frequency, loadState, GetData, SetData. |
| AudioReverbZone | Zone reverb preset. |
| AudioBehaviour | Base class. |
Particles
Section titled “Particles”The ParticleSystem wrapper is paired with nested-type structs: Burst, ColliderData, CollisionModule, ColorBySpeedModule, ColorOverLifetimeModule, CustomDataModule, EmissionModule, EmitParams, ExternalForcesModule, ForceOverLifetimeModule, InheritVelocityModule, LifetimeByEmitterSpeedModule, LightsModule, LimitVelocityOverLifetimeModule, SubEmittersModule, MinMaxGradient, NoiseModule, Particle, PlaybackState, RotationBySpeedModule, RotationOverLifetimeModule, ShapeModule, SizeBySpeedModule, SizeOverLifetimeModule, TextureSheetAnimationModule, TrailModule, Trails, VelocityOverLifetimeModule. Each corresponds to the Unity module of the same name and exposes module toggles and animation curves. See _LUAINSTANCE_ScriptedParticleSystem.cs.
Misc / scene / assets
Section titled “Misc / scene / assets”| Wrapped type | Notes |
| --- | --- |
| Scene | Scene struct: name, path, buildIndex, rootCount, GetRootGameObjects. |
| TextMesh | Legacy 3D text: text, font, fontSize, color, alignment. |
| BillboardAsset | Tree/imposter billboard. |
UnityEngine.AI
Section titled “UnityEngine.AI”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common.UnityEngine.AI/.
UnityEngineAI = require("UnityEngine.AI")| Wrapped type | Summary |
| --- | --- |
| NavMesh | Static global nav-mesh query helpers: SamplePosition, Raycast, CalculatePath, FindClosestEdge, allAreas. Exposed as UnityEngineAI.NavMesh.*. See _LUASTATIC_ScriptedNavMesh.cs. |
| NavMeshAgent | Agent component: destination, speed, angularSpeed, acceleration, stoppingDistance, SetDestination, ResetPath, Warp, isStopped, remainingDistance, pathStatus. See _LUAINSTANCE_ScriptedNavMeshAgent.cs. |
| NavMeshData | Baked nav-mesh asset. |
| NavMeshHit | Struct result of SamplePosition / Raycast: position, normal, distance, mask, hit. |
UnityEngine.UI
Section titled “UnityEngine.UI”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common.UnityEngine.UI/ (56 files → 28 registered types).
UI = require("UnityEngine.UI")| Wrapped type | Summary |
| --- | --- |
| UIBehaviour | uGUI base class; exposes IsActive, IsDestroyed. |
| AnimationTriggers | Selectable trigger-name bundle (normalTrigger, highlightedTrigger, pressedTrigger, selectedTrigger, disabledTrigger). |
| BaseMeshEffect | Base for mesh-modifying UI effects. |
| BaseRaycaster | Base for UI raycasters. |
| Button | onClick event, interactable, transition, OnSubmit. See _LUAINSTANCE_ScriptedButton.cs. |
| CanvasScaler | uiScaleMode, referenceResolution, screenMatchMode, matchWidthOrHeight, dynamicPixelsPerUnit. |
| Dropdown | value, options, captionText, captionImage, itemText, itemImage, template, onValueChanged. |
| FontData | Text-style struct: font, fontSize, fontStyle, alignment. |
| Graphic | Base UI renderable: color, material, raycastTarget, canvas, SetVerticesDirty, SetLayoutDirty. |
| GraphicRaycaster | Canvas raycaster: ignoreReversedGraphics, blockingObjects. |
| GridLayoutGroup | cellSize, spacing, startCorner, startAxis, constraint, constraintCount, childAlignment. |
| HorizontalLayoutGroup, VerticalLayoutGroup, HorizontalOrVerticalLayoutGroup, LayoutGroup | spacing, childAlignment, childForceExpandWidth/Height, childControlWidth/Height. |
| Image | sprite, color, type, fillMethod, fillAmount, preserveAspect, raycastTarget. |
| InputField | text, placeholder, characterLimit, contentType, lineType, onValueChanged, onEndEdit, ActivateInputField, DeactivateInputField, Select. |
| LayoutElement | preferredWidth, preferredHeight, minWidth, minHeight, flexibleWidth, flexibleHeight, ignoreLayout. |
| Mask | showMaskGraphic, IsRaycastLocationValid. |
| MaskableGraphic | maskable flag for child graphics. |
| Outline, Shadow | effectColor, effectDistance, useGraphicAlpha. |
| Scrollbar | value, size, numberOfSteps, direction, onValueChanged. |
| Selectable | Base for selectable UI widgets: interactable, targetGraphic, transition, colors, spriteState, animationTriggers, navigation, Select. |
| Slider | minValue, maxValue, value, wholeNumbers, direction, onValueChanged. |
| Text | text, font, fontSize, fontStyle, alignment, color, supportRichText, horizontalOverflow, verticalOverflow, resizeTextForBestFit. |
| Toggle | isOn, group, graphic, onValueChanged. |
| ToggleGroup | allowSwitchOff, NotifyToggleOn, AnyTogglesOn, ActiveToggles, SetAllTogglesOff. |
TextMeshPro
Section titled “TextMeshPro”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common.TextMeshPro/.
TMP = require("TextMeshPro")| Wrapped type | Summary |
| --- | --- |
| TMP_Text | Base text class. All common text properties live here: text, fontSize, fontStyle, color, alignment, characterSpacing, wordSpacing, lineSpacing, paragraphSpacing, characterWidthAdjustment, richText, maxVisibleCharacters, maxVisibleWords, maxVisibleLines, firstVisibleCharacter, pageToDisplay, margin, textInfo, preferredWidth, preferredHeight, renderedWidth, renderedHeight, ForceMeshUpdate, SetText. See _LUAINSTANCE_ScriptedTMP_Text.cs. |
| TMPro.TextMeshPro | 3D TMP_Text component (world-space). Inherits everything above. |
| TextMeshProUGUI | uGUI TMP_Text variant. Inherits everything above. |
Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common.CVR/ and CVR-GameFiles/ABI.Scripting.CVRSTL.Common.Modules/CVRLuaModule.cs.
CVR = require("CVR")| Wrapped type | Summary |
| --- | --- |
| ABI_RC.Core.InteractionSystem.ControllerRay | VR-controller ray source. Exposes position/rotation, hit target, hand. |
| ABI_RC.Core.CVRLayers | Static holder of CVR-reserved Unity physics layers. Used with LayerMask. |
And two static enums accessed without new():
| Wrapped enum | Purpose |
| --- | --- |
| ABI_RC.Core.CVRContentType | Avatar, Prop, World, etc. (the same objContext enum the sandbox uses.) |
| ABI_RC.Core.InteractionSystem.CVRHand | Left, Right, None. |
CVR.Network
Section titled “CVR.Network”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common.CVR.Network/.
Network = require("CVR.Network")Small but important module — this is how scripts talk to other instances.
| Wrapped type | Members |
| --- | --- |
| IncomingScriptNetworkMessage | Deserialize values off a received buffer: ReadBool, ReadByte, ReadInt, ReadFloat, ReadString, ReadVector3, ReadQuaternion, ownership (SenderUserId). See IncomingScriptNetworkMessage.cs for the authoritative wire format. |
| OutgoingScriptNetworkMessage | Serialize values into a buffer, then Send/SendTo/SendReliable: WriteBool, WriteByte, WriteInt, WriteFloat, WriteString, WriteVector3, WriteQuaternion. |
See Sending Events to a Script for a worked example.
CVR.CCK
Section titled “CVR.CCK”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common.CVR.CCK/ (170 files → 85 distinct types) and CVR-GameFiles/ABI.Scripting.CVRSTL.Common.Modules/CVR_CCKLuaModule.cs.
CCK = require("CVR.CCK")This is the surface of ABI’s custom component kit. Grouped by purpose below.
Avatar & pickup
Section titled “Avatar & pickup”| Wrapped type | Summary |
| --- | --- |
| CVRAvatar | The avatar root component. voicePitch, voiceGain, viseme settings, CVRAvatarVisemeMode, CVRAvatarVoiceParent. |
| CVRAvatarAdvancedTaggingEntry | One advanced-tagging entry on an avatar (tag type + tag mask). |
| CVRAvatarPickupMarker | Per-avatar pickup transform. |
| CVRPickupObject | Picks up: grip, maximumGrabDistance, secondaryGripBehaviour, MainRigidBody. |
| CVRAttachment | Attach an object to a bone/tracker: AttachmentType, BoneType, TrackerType. |
| Pickupable, SpawnablePickupMarker, SnappingReference, CVRSnappingPoint | Prop pickup / snap support. |
Advanced avatar settings
Section titled “Advanced avatar settings”| Wrapped type | Summary |
| --- | --- |
| CVRAdvancedAvatarSettingsPointer | Menu pointer instance. |
| CVRAdvancedAvatarSettingsTrigger | AAS trigger zone / pointer target. |
Spawnable / networked state
Section titled “Spawnable / networked state”| Wrapped type | Summary |
| --- | --- |
| CVRSpawnable | The prop root component. props, subSyncs, spawn metadata, SpawnableType, PropPrivacy. |
| CVRSpawnableValue | One synced value on a spawnable. |
| CVRSpawnableMenuValue | Menu-bound spawnable value (created via CCK.NewCVRSpawnableMenuValue()). |
| CVRSpawnableSubSync | Sub-transform sync on a spawnable (created via CCK.NewCVRSpawnableSubSync()). |
| CVRSpawnableTrigger | Trigger zone on a spawnable. |
| CVRObjectSync, CVRObjectSyncTask | Generic networked object syncer + driver task (TaskType). |
| CVRParameterStream, CVRParameterStreamEntry | Network-stream parameters: ReferenceType. |
| CVRVariableBuffer | Shared variable buffer across scripts. |
Drivers
Section titled “Drivers”| Wrapped type | Summary |
| --- | --- |
| AnimatorDriver, AnimatorDriverTask, CVRAnimatorDriver | Drive Animator parameters from CCK sources (AnimatorType). |
| BodyControl, BodyControlTask | Body-IK enable/disable zones (BodyMask). |
| CVRAudioDriver, CVRAudioMaterialParser | Audio-material driving (AudioDataType). |
| CVRMaterialDriver, CVRMaterialDriverTask, CVRMaterialUpdater, CVRGlobalMaterialPropertyUpdater, CVRGlobalShaderUpdater | Material/shader driving at runtime (Type). |
| CVRCustomRenderTextureUpdater | Refresh a CRT. |
Interaction
Section titled “Interaction”| Wrapped type | Summary |
| --- | --- |
| CVRInteractable | Marks an object as interactable. |
| CVRInteractableAction | One bind-able action (ActionRegister, ExecutionType, InteractionFilter, InteractionInput, InteractionInputModifier). |
| CVRInteractableActionData, CVRInteractableActionOperation | Typed operation payload on an action (ActionType). |
| CVRToggleStatePointer, CVRToggleStateTrigger | Toggle-state zones. |
| CVRAction | Marker action component. |
| CVRPointer | Pointer component (menu / interaction). |
| Interactable | Base interactable from ABI_RC.Core.InteractionSystem.Base. |
World / instance
Section titled “World / instance”| Wrapped type | Summary |
| --- | --- |
| CVRBuilderSpawnable | World-side spawnable registration. |
| CVRDataStore | World data-store component. |
| CVRDistanceConstrain, CVRDistanceLod, CVRDistanceLodGroup | Distance-based constraints and LOD. |
| CVRMovementParent | Make a transform act as a player-movement parent. |
| CVRNavController | Nav-mesh driver for AI. |
| CVRObjectCatalogCategory, CVRObjectCatalogEntry, CVRObjectLibrary | World object catalogs / libraries. |
| CVRMirror | Mirror component. |
| CVRPortalMarker | Portal destination marker. |
| CVRSkyboxManipulator | Runtime skybox control. |
| CVRCameraHelper | Camera-frustum helper. |
| CVRBlitter | RenderTexture blitter. |
| CVRSharedPhysicsController | Shared physics-scene controller. |
| FluidVolume | Swimmable volume. |
| GravityZone | Zone-local gravity override. |
| GameInstanceController | Per-instance controller. |
| ScoreBoardController, ScoreBoardDisplayElementsTeam | Scoreboard UI. |
| ControlPoint | Capture-point objective. |
Haptics / face-tracking
Section titled “Haptics / face-tracking”| Wrapped type | Summary |
| --- | --- |
| CVRHapticZone, CVRHapticAreaChest | Haptic zones. |
| CVRFaceTracking | Face-tracking parameter access. |
| CVRParticleSound | Particle-collision → sound. |
Combat / damage
Section titled “Combat / damage”| Wrapped type | Summary |
| --- | --- |
| CombatSystem | Combat ruleset (RespawnBehavior). |
| Damage, DamageHit | Damage events. |
| Health, ObjectHealth | HP components. |
| GunController | Gun controller. |
| ForceApplicator | Push/knockback source. |
| PhysicsInfluencer | Per-object physics influence. |
| Wrapped type | Summary |
| --- | --- |
| CVRVideoPlayer | Play URL: ControlPermission, PlayerState. |
| CVRVideoPlayerPlaylist, CVRVideoPlayerPlaylistEntity | Playlist playback. |
Shaders
Section titled “Shaders”| Wrapped type | Summary |
| --- | --- |
| PlayerMaterialParser | Parse per-player shader-global values. |
Scripting bridge
Section titled “Scripting bridge”| Wrapped type | Summary |
| --- | --- |
| CVRBaseLuaBehaviour | Base class of any CVR Lua behaviour. See Lua Behaviour. |
| CVRLuaClientBehaviour | Client-side Lua behaviour on props/avatars. |
| CVRBaseLuaBehaviour.BoundObject | Struct: one row of BoundObjects. Name + resolved reference. Wrapped by _LUASTRUCT_ScriptedBoundObject.cs. |
| CVRAssetInfo | AssetType, GUID, upload info on the asset root. |
CCK-module enums (accessed without a wrapper instance)
Section titled “CCK-module enums (accessed without a wrapper instance)”These are registered by CVR_CCKLuaModule as UserData.CreateStatic so you can CCK.PropPrivacy.Private directly:
ActionRegister,ActionType,AnimatorType,AssetType,AttachmentType,AudioDataType,BodyMask,BoneType,ControlPermission,CVRAvatarVisemeMode,CVRAvatarVoiceParent,ExecutionType,GripType,InteractionFilter,InteractionInput,InteractionInputModifier,PlayerState,PropPrivacy,ReferenceType,RespawnBehavior,SpawnableType,Tags,TaskType,TrackerType,Type(CVRMaterialDriverTask.Type).
CCK-module constructors
Section titled “CCK-module constructors”Most CCK types are obtained from the scene, but a few can be newed up from Lua:
CCK.NewCVRDistanceLodGroup()CCK.NewCVRObjectCatalogCategory()CCK.NewCVRObjectCatalogEntry()CCK.NewCVRSpawnableMenuValue()CCK.NewCVRSpawnableSubSync()CCK.NewCVRSpawnableValue()RCC (Realistic Car Controller)
Section titled “RCC (Realistic Car Controller)”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.Common.RCC/ (42 files → 21 registered types) and CVR-GameFiles/ABI.Scripting.CVRSTL.Common.Modules/RCCLuaModule.cs.
RCC = require("RCC")| Wrapped type | Summary |
| --- | --- |
| RCC | Main facade. |
| RCC_CarControllerV3 | Vehicle controller: throttle, brake, steer, gear, audio settings, wheel damage. |
| RCC_CarControllerV3.ConfigureVehicleSubsteps | Physics-substep config struct. |
| RCC_CarControllerV3.Gear | Per-gear ratio struct. |
| RCC_Camera, RCC_CinematicCamera | Vehicle camera rigs. |
| RCC_Caliper, RCC_Exhaust, RCC_Light, RCC_Mirror | Vehicle cosmetic parts. |
| RCC_Core, RCC_Settings, RCC_Version, RCC_AssetPaths | Global RCC state / config. |
| RCC_FuelStation, RCC_RepairStation, RCC_Teleporter, RCC_Waypoint, RCC_SceneManager, RCC_Spawner | World-placed vehicle support. |
| RCC_Inputs | Input struct (throttle/brake/steering/handbrake/clutch). |
Module enums: AudioType, IndicatorsOn, WheelDamage, WheelType (all nested under RCC_CarControllerV3).
StaticOverrides
Section titled “StaticOverrides”Source: CVR-GameFiles/ABI.Scripting.CVRSTL.StaticOverrides/ComponentHelpers.cs.
Not a require-able module — these are helper methods the generated wrappers call into. They exist so that every wrapper that wraps something deriving from Component gets a consistent, string-based component lookup:
| Method | Maps to |
| --- | --- |
| GetComponent(wrapper, wrapped, typeName) | Component.GetComponent(Type) with runtime type lookup. |
| GetComponentInChildren(wrapper, wrapped, typeName, includeInactive) | Component.GetComponentInChildren(Type, bool). |
| GetComponentInParent(wrapper, wrapped, typeName, includeInactive) | Component.GetComponentInParent(Type, bool). |
| GetComponents(wrapper, wrapped, typeName) | Component.GetComponents(Type) — returns an array of wrapped results. |
| GetComponentsInChildren(...) | Component.GetComponentsInChildren(Type, bool). |
| GetComponentsInParent(...) | Component.GetComponentsInParent(Type, bool). |
| TryGetComponent(wrapper, wrapped, typeName, out object) | Component.TryGetComponent(Type, out Component). |
If the type name doesn’t resolve, the helper logs a warning via the owning CVRLuaContext.behaviour and returns nil / an empty array.
The “not wrapped = not callable” rule
Section titled “The “not wrapped = not callable” rule”MoonSharp’s sandbox only exposes types that were passed to UserData.RegisterType (or its proxy-type variants). Every _LUASTATIC_Scripted* / _LUAINSTANCE_Scripted* / _LUASTRUCT_Scripted* file corresponds to exactly one such registration inside a module’s RegisterUserData. If a Unity type doesn’t appear in any RegisteredTypes HashSet<Type>, Lua cannot touch it — the MoonSharp interpreter will raise ScriptRuntimeException on the first property access.
When you see a typeof(...) entry in a module’s RegisteredTypes, and a matching _LUAINSTANCE_Scripted<Name>.cs next to the module’s wrapper folder, that pair defines the only member surface Lua can reach. The wrapper file is the authoritative answer to “can Lua call X on Y?”.
Related
Section titled “Related”- Globals — what is pre-registered without
require. - Context & Permissions — how every member access is gated by four context masks.
- Events — Unity & CVR events that the host forwards into your script.