Skip to content

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.

  • 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 as MODULE.Name.StaticMethod(...) after require. Often empty (just a namespace holder).
    • _LUASTRUCT_Scripted<Name> — value-type wrapper (Unity structs like Vector3, Bounds). Pass-by-value semantics.
  • Members. Every property get/set and method runs through CheckIfCanAccessProperty / CheckIfCanAccessMethod from BaseScriptedWrapper, which enforces the four-axis context check. See Context & Permissions for how those masks narrow access.

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 |

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.

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.

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. |

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). |

| 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. |

| 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, uv2uv8, 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. |

| 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.)

| 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. |

| 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. |

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.

| Wrapped type | Notes | | --- | --- | | Scene | Scene struct: name, path, buildIndex, rootCount, GetRootGameObjects. | | TextMesh | Legacy 3D text: text, font, fontSize, color, alignment. | | BillboardAsset | Tree/imposter billboard. |

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. |

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. |

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. |

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.

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.

| 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. |

| Wrapped type | Summary | | --- | --- | | CVRAdvancedAvatarSettingsPointer | Menu pointer instance. | | CVRAdvancedAvatarSettingsTrigger | AAS trigger zone / pointer target. |

| 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. |

| 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. |

| 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. |

| 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. |

| Wrapped type | Summary | | --- | --- | | CVRHapticZone, CVRHapticAreaChest | Haptic zones. | | CVRFaceTracking | Face-tracking parameter access. | | CVRParticleSound | Particle-collision → sound. |

| 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. |

| Wrapped type | Summary | | --- | --- | | PlayerMaterialParser | Parse per-player shader-global values. |

| 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).

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()

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).

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.

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?”.

  • 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.