@rbxts/types 1.0.677 → 1.0.679

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -199,6 +199,7 @@ interface CreatableInstances {
199
199
  ControllerManager: ControllerManager;
200
200
  ControllerPartSensor: ControllerPartSensor;
201
201
  CornerWedgePart: CornerWedgePart;
202
+ CSGOptions: CSGOptions;
202
203
  CurveAnimation: CurveAnimation;
203
204
  CylinderHandleAdornment: CylinderHandleAdornment;
204
205
  CylinderMesh: CylinderMesh;
@@ -428,12 +429,14 @@ interface AbstractInstances {
428
429
 
429
430
  interface Instances extends Services, CreatableInstances, AbstractInstances {
430
431
  AnimationClip: AnimationClip;
432
+ AnimationImportData: AnimationImportData;
431
433
  AnimationStreamTrack: AnimationStreamTrack;
432
434
  AnimationTrack: AnimationTrack;
433
435
  AssetImportSession: AssetImportSession;
434
436
  AssetPatchSettings: AssetPatchSettings;
435
437
  AssetSoundEffect: AssetSoundEffect;
436
438
  AudioPages: AudioPages;
439
+ BaseImportData: BaseImportData;
437
440
  BaseWrap: BaseWrap;
438
441
  BubbleChatConfiguration: BubbleChatConfiguration;
439
442
  CatalogPages: CatalogPages;
@@ -460,26 +463,23 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
460
463
  DebuggerVariable: DebuggerVariable;
461
464
  EmotesPages: EmotesPages;
462
465
  FacialAnimationStreamingServiceStats: FacialAnimationStreamingServiceStats;
466
+ FacsImportData: FacsImportData;
463
467
  FriendPages: FriendPages;
464
468
  GlobalDataStore: GlobalDataStore;
469
+ GroupImportData: GroupImportData;
465
470
  ImageDataExperimental: ImageDataExperimental;
466
- ImporterAnimationSettings: ImporterAnimationSettings;
467
- ImporterBaseSettings: ImporterBaseSettings;
468
- ImporterFacsSettings: ImporterFacsSettings;
469
- ImporterGroupSettings: ImporterGroupSettings;
470
- ImporterJointSettings: ImporterJointSettings;
471
- ImporterMaterialSettings: ImporterMaterialSettings;
472
- ImporterMeshSettings: ImporterMeshSettings;
473
- ImporterRootSettings: ImporterRootSettings;
474
471
  InputObject: InputObject;
475
472
  InstanceAdornment: InstanceAdornment;
476
473
  InventoryPages: InventoryPages;
474
+ JointImportData: JointImportData;
477
475
  LocalDebuggerConnection: LocalDebuggerConnection;
478
476
  LodDataEntity: LodDataEntity;
479
477
  MaterialGenerationSession: MaterialGenerationSession;
478
+ MaterialImportData: MaterialImportData;
480
479
  MemoryStoreQueue: MemoryStoreQueue;
481
480
  MemoryStoreSortedMap: MemoryStoreSortedMap;
482
481
  MeshDataExperimental: MeshDataExperimental;
482
+ MeshImportData: MeshImportData;
483
483
  MessageBusConnection: MessageBusConnection;
484
484
  MetaBreakpoint: MetaBreakpoint;
485
485
  MetaBreakpointContext: MetaBreakpointContext;
@@ -501,6 +501,7 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
501
501
  PlayerScripts: PlayerScripts;
502
502
  PluginManagerInterface: PluginManagerInterface;
503
503
  PoseBase: PoseBase;
504
+ RootImportData: RootImportData;
504
505
  ScreenshotHud: ScreenshotHud;
505
506
  ScriptBuilder: ScriptBuilder;
506
507
  ScriptDocument: ScriptDocument;
@@ -527,7 +528,6 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
527
528
  Tween: Tween;
528
529
  UserGameSettings: UserGameSettings;
529
530
  UserSettings: UserSettings;
530
- VoiceSource: VoiceSource;
531
531
  }
532
532
 
533
533
  // GENERATED ROBLOX INSTANCE CLASSES
@@ -643,7 +643,7 @@ interface Instance {
643
643
  * end
644
644
  * end
645
645
  */
646
- ClearAllChildren(this: Instance): void;
646
+ ClearAllChildren(this: Instance): null;
647
647
  /**
648
648
  * **Clone** creates a copy of an object and all of its descendants, ignoring all objects that are not [Archivable](https://developer.roblox.com/en-us/api-reference/property/Instance/Archivable). The copy of the root object is returned by this function and its [Parent](https://developer.roblox.com/en-us/api-reference/property/Instance/Parent) is set to nil.
649
649
  *
@@ -676,7 +676,7 @@ interface Instance {
676
676
  *
677
677
  * To Destroy an object after a set amount of time, use [Debris:AddItem](https://developer.roblox.com/en-us/api-reference/function/Debris/AddItem).
678
678
  */
679
- Destroy(this: Instance): void;
679
+ Destroy(this: Instance): null;
680
680
  /**
681
681
  * Returns the first ancestor of the [Instance](https://developer.roblox.com/en-us/api-reference/class/Instance) whose [Instance.Name](https://developer.roblox.com/en-us/api-reference/property/Instance/Name) is equal to the given name.
682
682
  *
@@ -1329,7 +1329,7 @@ interface AnalyticsService extends Instance {
1329
1329
  * Tags: Deprecated
1330
1330
  * @deprecated
1331
1331
  */
1332
- FireEvent(this: AnalyticsService, category: string, value: unknown): void;
1332
+ FireEvent(this: AnalyticsService, category: string, value: unknown): null;
1333
1333
  /**
1334
1334
  * This function triggers an event used to track player actions pertaining to the in-game economy.
1335
1335
  *
@@ -1616,7 +1616,7 @@ interface KeyframeSequence extends AnimationClip {
1616
1616
  *
1617
1617
  * Note, this function will not error when an instance other than a [Keyframe](https://developer.roblox.com/en-us/api-reference/class/Keyframe) is given as the keyframe parameter and will parent it successfully.
1618
1618
  */
1619
- AddKeyframe(this: KeyframeSequence, keyframe: Keyframe): void;
1619
+ AddKeyframe(this: KeyframeSequence, keyframe: Keyframe): null;
1620
1620
  /**
1621
1621
  * **GetKeyframes** returns an array that contains all [Keyframe](https://developer.roblox.com/en-us/api-reference/class/Keyframe)s that have been added to a [KeyframeSequence](https://developer.roblox.com/en-us/api-reference/class/KeyframeSequence).
1622
1622
  */
@@ -1628,7 +1628,7 @@ interface KeyframeSequence extends AnimationClip {
1628
1628
  *
1629
1629
  * Note, this function will not error when an [Instance](https://developer.roblox.com/en-us/api-reference/class/Instance) other than a [Keyframe](https://developer.roblox.com/en-us/api-reference/class/Keyframe) is given as the keyframe parameter.
1630
1630
  */
1631
- RemoveKeyframe(this: KeyframeSequence, keyframe: Keyframe): void;
1631
+ RemoveKeyframe(this: KeyframeSequence, keyframe: Keyframe): null;
1632
1632
  }
1633
1633
 
1634
1634
  interface AnimationClipProvider extends Instance {
@@ -1915,7 +1915,7 @@ interface AnimationTrack extends Instance {
1915
1915
  * Speed can be used to link the length of an animation to different gameplay events (for example recharging an ability) without having to upload different variants of the same animation.
1916
1916
  * Tags: CustomLuaState
1917
1917
  */
1918
- AdjustSpeed(this: AnimationTrack, speed?: number): void;
1918
+ AdjustSpeed(this: AnimationTrack, speed?: number): null;
1919
1919
  /**
1920
1920
  * Changes the weight of an animation, with the optional fadeTime parameter determining how long it takes for [AnimationTrack.WeightCurrent](https://developer.roblox.com/en-us/api-reference/property/AnimationTrack/WeightCurrent) to reach [AnimationTrack.WeightTarget](https://developer.roblox.com/en-us/api-reference/property/AnimationTrack/WeightTarget).
1921
1921
  *
@@ -1930,7 +1930,7 @@ interface AnimationTrack extends Instance {
1930
1930
  * In most cases blending animations is not required and using [AnimationTrack.Priority](https://developer.roblox.com/en-us/api-reference/property/AnimationTrack/Priority) is more suitable.
1931
1931
  * Tags: CustomLuaState
1932
1932
  */
1933
- AdjustWeight(this: AnimationTrack, weight?: number, fadeTime?: number): void;
1933
+ AdjustWeight(this: AnimationTrack, weight?: number, fadeTime?: number): null;
1934
1934
  /**
1935
1935
  * This function returns an [event](https://developer.roblox.com/en-us/api-reference/datatype/RBXScriptSignal) similar to the [AnimationTrack.KeyframeReached](https://developer.roblox.com/en-us/api-reference/event/AnimationTrack/KeyframeReached) event, except it only fires when a specified [KeyframeMarker](https://developer.roblox.com/en-us/api-reference/class/KeyframeMarker) has been hit in an [animation](https://developer.roblox.com/en-us/api-reference/class/Animation). The difference allows for greater control of when the event will fire.
1936
1936
  *
@@ -1971,7 +1971,7 @@ interface AnimationTrack extends Instance {
1971
1971
  * If the developer wants to start the animation at a specific point using [AnimationTrack.TimePosition](https://developer.roblox.com/en-us/api-reference/property/AnimationTrack/TimePosition), it is important the animation is played before this is done.
1972
1972
  * Tags: CustomLuaState
1973
1973
  */
1974
- Play(this: AnimationTrack, fadeTime?: number, weight?: number, speed?: number): void;
1974
+ Play(this: AnimationTrack, fadeTime?: number, weight?: number, speed?: number): null;
1975
1975
  /**
1976
1976
  * Stops the [AnimationTrack](https://developer.roblox.com/en-us/api-reference/class/AnimationTrack). Once called playback of the [AnimationTrack](https://developer.roblox.com/en-us/api-reference/class/AnimationTrack) will stop and the weight of the animation will move towards zero over a length of time specified by the optional fadeTime parameter.
1977
1977
  *
@@ -1980,7 +1980,7 @@ interface AnimationTrack extends Instance {
1980
1980
  * It is not recommended to use a fadeTime of 0 seconds to try to override this effect and end the animation immediately as presently, this causes the [AnimationTrack](https://developer.roblox.com/en-us/api-reference/class/AnimationTrack) poses to freeze.
1981
1981
  * Tags: CustomLuaState
1982
1982
  */
1983
- Stop(this: AnimationTrack, fadeTime?: number): void;
1983
+ Stop(this: AnimationTrack, fadeTime?: number): null;
1984
1984
  /**
1985
1985
  * This event fires whenever a looped [AnimationTrack](https://developer.roblox.com/en-us/api-reference/class/AnimationTrack) completes a loop, on the next update.
1986
1986
  *
@@ -2298,7 +2298,7 @@ interface AssetService extends Instance {
2298
2298
  * Saves the state of the current place. This will only work for places that have been created with [AssetService:CreatePlaceAsync](https://developer.roblox.com/en-us/api-reference/function/AssetService/CreatePlaceAsync) or [AssetService:CreatePlaceInPlayerInventoryAsync](https://developer.roblox.com/en-us/api-reference/function/AssetService/CreatePlaceInPlayerInventoryAsync).
2299
2299
  * Tags: Yields
2300
2300
  */
2301
- SavePlaceAsync(this: AssetService): void;
2301
+ SavePlaceAsync(this: AssetService): null;
2302
2302
  /**
2303
2303
  * Tags: Yields
2304
2304
  */
@@ -2509,13 +2509,13 @@ interface Attachment extends Instance {
2509
2509
  * Tags: Deprecated, [object Object]
2510
2510
  * @deprecated
2511
2511
  */
2512
- SetAxis(this: Attachment, axis: Vector3): void;
2512
+ SetAxis(this: Attachment, axis: Vector3): null;
2513
2513
  /**
2514
2514
  * Sets the value of the Attachment's [Attachment.SecondaryAxis](https://developer.roblox.com/en-us/api-reference/property/Attachment/SecondaryAxis).
2515
2515
  * Tags: Deprecated, [object Object]
2516
2516
  * @deprecated
2517
2517
  */
2518
- SetSecondaryAxis(this: Attachment, axis: Vector3): void;
2518
+ SetSecondaryAxis(this: Attachment, axis: Vector3): null;
2519
2519
  }
2520
2520
 
2521
2521
  interface Bone extends Attachment {
@@ -2606,31 +2606,31 @@ interface AvatarEditorService extends Instance {
2606
2606
  /**
2607
2607
  * Prompts the [Players.LocalPlayer](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) to allow the developer to read what items the user has in their inventory and other avatar editor related information. The prompt needs to be confirmed by the user for the developer to use [AvatarEditorService:GetInventory](https://developer.roblox.com/en-us/api-reference/function/AvatarEditorService/GetInventory), [AvatarEditorService:GetOutfits](https://developer.roblox.com/en-us/api-reference/function/AvatarEditorService/GetOutfits) and [AvatarEditorService:GetFavorite](https://developer.roblox.com/en-us/api-reference/function/AvatarEditorService/GetFavorite). Permission does not persist between sessions.
2608
2608
  */
2609
- PromptAllowInventoryReadAccess(this: AvatarEditorService): void;
2609
+ PromptAllowInventoryReadAccess(this: AvatarEditorService): null;
2610
2610
  /**
2611
2611
  * Prompts the [Players.LocalPlayer](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) to save the given [HumanoidDescription](https://developer.roblox.com/en-us/api-reference/class/HumanoidDescription) as an outfit. Does not yield. The result can be retrieved by listening to the [AvatarEditorService.PromptCreateOutfitCompleted](https://developer.roblox.com/en-us/api-reference/event/AvatarEditorService/PromptCreateOutfitCompleted) event.
2612
2612
  */
2613
- PromptCreateOutfit(this: AvatarEditorService, outfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): void;
2613
+ PromptCreateOutfit(this: AvatarEditorService, outfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): null;
2614
2614
  /**
2615
2615
  * Prompts the [Players.LocalPlayer](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) to delete the given outfit. Does not yield. The result can be retrieved by listening to the [AvatarEditorService.PromptDeleteOutfitCompleted](https://developer.roblox.com/en-us/api-reference/event/AvatarEditorService/PromptDeleteOutfitCompleted) event.
2616
2616
  */
2617
- PromptDeleteOutfit(this: AvatarEditorService, outfitId: number): void;
2617
+ PromptDeleteOutfit(this: AvatarEditorService, outfitId: number): null;
2618
2618
  /**
2619
2619
  * Prompts the [Players.LocalPlayer](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) to delete the given outfit. Does not yield. The result can be retrieved by listening to the [AvatarEditorService.PromptRenameOutfitCompleted](https://developer.roblox.com/en-us/api-reference/event/AvatarEditorService/PromptRenameOutfitCompleted) event.
2620
2620
  */
2621
- PromptRenameOutfit(this: AvatarEditorService, outfitId: number): void;
2621
+ PromptRenameOutfit(this: AvatarEditorService, outfitId: number): null;
2622
2622
  /**
2623
2623
  * This function prompts the [Players.LocalPlayer](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) to update their avatar based on the given [HumanoidDescription](https://developer.roblox.com/en-us/api-reference/class/HumanoidDescription) and [RigType](https://developer.roblox.com/en-us/api-reference/enum/RigType) (R6 or R15). Does not yield and can get the result by listening to the PromptSaveAvatarCompleted event. This is similar to how other prompts such as PromptPurchase work.
2624
2624
  */
2625
- PromptSaveAvatar(this: AvatarEditorService, humanoidDescription: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): void;
2625
+ PromptSaveAvatar(this: AvatarEditorService, humanoidDescription: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): null;
2626
2626
  /**
2627
2627
  * This function prompts the [Players.LocalPlayer](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) to favorite or unfavorite the given asset or bundle.
2628
2628
  */
2629
- PromptSetFavorite(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType>, shouldFavorite: boolean): void;
2629
+ PromptSetFavorite(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType>, shouldFavorite: boolean): null;
2630
2630
  /**
2631
2631
  * Prompts the [Players.LocalPlayer](https://developer.roblox.com/en-us/api-reference/property/Players/LocalPlayer) to update the given outfit with the given HumanoidDescription.
2632
2632
  */
2633
- PromptUpdateOutfit(this: AvatarEditorService, outfitId: number, updatedOutfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): void;
2633
+ PromptUpdateOutfit(this: AvatarEditorService, outfitId: number, updatedOutfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): null;
2634
2634
  /**
2635
2635
  * Returns a new [HumanoidDescription](https://developer.roblox.com/en-us/api-reference/class/HumanoidDescription) with the Shirt and Pants properties updated if necessary. Returns nil if default clothing was not needed.
2636
2636
  *
@@ -3134,6 +3134,185 @@ interface BadgeService extends Instance {
3134
3134
  UserHasBadgeAsync(this: BadgeService, userId: number, badgeId: number): boolean;
3135
3135
  }
3136
3136
 
3137
+ interface BaseImportData extends Instance {
3138
+ /**
3139
+ * **DO NOT USE!**
3140
+ *
3141
+ * This field exists to force TypeScript to recognize this as a nominal type
3142
+ * @hidden
3143
+ * @deprecated
3144
+ */
3145
+ readonly _nominal_BaseImportData: unique symbol;
3146
+ /**
3147
+ * Tags: ReadOnly, NotReplicated
3148
+ */
3149
+ readonly Id: string;
3150
+ ImportName: string;
3151
+ ShouldImport: boolean;
3152
+ }
3153
+
3154
+ interface AnimationImportData extends BaseImportData {
3155
+ /**
3156
+ * **DO NOT USE!**
3157
+ *
3158
+ * This field exists to force TypeScript to recognize this as a nominal type
3159
+ * @hidden
3160
+ * @deprecated
3161
+ */
3162
+ readonly _nominal_AnimationImportData: unique symbol;
3163
+ }
3164
+
3165
+ interface FacsImportData extends BaseImportData {
3166
+ /**
3167
+ * **DO NOT USE!**
3168
+ *
3169
+ * This field exists to force TypeScript to recognize this as a nominal type
3170
+ * @hidden
3171
+ * @deprecated
3172
+ */
3173
+ readonly _nominal_FacsImportData: unique symbol;
3174
+ }
3175
+
3176
+ interface GroupImportData extends BaseImportData {
3177
+ /**
3178
+ * **DO NOT USE!**
3179
+ *
3180
+ * This field exists to force TypeScript to recognize this as a nominal type
3181
+ * @hidden
3182
+ * @deprecated
3183
+ */
3184
+ readonly _nominal_GroupImportData: unique symbol;
3185
+ Anchored: boolean;
3186
+ ImportAsModelAsset: boolean;
3187
+ InsertInWorkspace: boolean;
3188
+ }
3189
+
3190
+ interface JointImportData extends BaseImportData {
3191
+ /**
3192
+ * **DO NOT USE!**
3193
+ *
3194
+ * This field exists to force TypeScript to recognize this as a nominal type
3195
+ * @hidden
3196
+ * @deprecated
3197
+ */
3198
+ readonly _nominal_JointImportData: unique symbol;
3199
+ }
3200
+
3201
+ interface MaterialImportData extends BaseImportData {
3202
+ /**
3203
+ * **DO NOT USE!**
3204
+ *
3205
+ * This field exists to force TypeScript to recognize this as a nominal type
3206
+ * @hidden
3207
+ * @deprecated
3208
+ */
3209
+ readonly _nominal_MaterialImportData: unique symbol;
3210
+ DiffuseFilePath: string;
3211
+ /**
3212
+ * Tags: ReadOnly, NotReplicated
3213
+ */
3214
+ readonly IsPbr: boolean;
3215
+ MetalnessFilePath: string;
3216
+ NormalFilePath: string;
3217
+ RoughnessFilePath: string;
3218
+ }
3219
+
3220
+ interface MeshImportData extends BaseImportData {
3221
+ /**
3222
+ * **DO NOT USE!**
3223
+ *
3224
+ * This field exists to force TypeScript to recognize this as a nominal type
3225
+ * @hidden
3226
+ * @deprecated
3227
+ */
3228
+ readonly _nominal_MeshImportData: unique symbol;
3229
+ Anchored: boolean;
3230
+ /**
3231
+ * Tags: ReadOnly, NotReplicated
3232
+ */
3233
+ readonly CageManifold: boolean;
3234
+ CageMeshIntersectedPreview: boolean;
3235
+ /**
3236
+ * Tags: ReadOnly, NotReplicated
3237
+ */
3238
+ readonly CageMeshNotIntersected: boolean;
3239
+ /**
3240
+ * Tags: ReadOnly, NotReplicated
3241
+ */
3242
+ readonly CageNoOverlappingVertices: boolean;
3243
+ CageNonManifoldPreview: boolean;
3244
+ CageOverlappingVerticesPreview: boolean;
3245
+ /**
3246
+ * Tags: ReadOnly, NotReplicated
3247
+ */
3248
+ readonly CageUVMatched: boolean;
3249
+ CageUVMisMatchedPreview: boolean;
3250
+ /**
3251
+ * Tags: ReadOnly, NotReplicated
3252
+ */
3253
+ readonly Dimensions: Vector3;
3254
+ DoubleSided: boolean;
3255
+ IgnoreVertexColors: boolean;
3256
+ IrrelevantCageModifiedPreview: boolean;
3257
+ MeshHoleDetectedPreview: boolean;
3258
+ /**
3259
+ * Tags: ReadOnly, NotReplicated
3260
+ */
3261
+ readonly MeshNoHoleDetected: boolean;
3262
+ /**
3263
+ * Tags: ReadOnly, NotReplicated
3264
+ */
3265
+ readonly NoIrrelevantCageModified: boolean;
3266
+ /**
3267
+ * Tags: ReadOnly, NotReplicated
3268
+ */
3269
+ readonly NoOuterCageFarExtendedFromMesh: boolean;
3270
+ OuterCageFarExtendedFromMeshPreview: boolean;
3271
+ /**
3272
+ * Tags: ReadOnly, NotReplicated
3273
+ */
3274
+ readonly PolygonCount: number;
3275
+ UseImportedPivot: boolean;
3276
+ }
3277
+
3278
+ interface RootImportData extends BaseImportData {
3279
+ /**
3280
+ * **DO NOT USE!**
3281
+ *
3282
+ * This field exists to force TypeScript to recognize this as a nominal type
3283
+ * @hidden
3284
+ * @deprecated
3285
+ */
3286
+ readonly _nominal_RootImportData: unique symbol;
3287
+ AddModelToInventory: boolean;
3288
+ Anchored: boolean;
3289
+ AnimationIdForRestPose: number;
3290
+ ExistingPackageId: string;
3291
+ /**
3292
+ * Tags: ReadOnly, NotReplicated
3293
+ */
3294
+ readonly FileDimensions: Vector3;
3295
+ ImportAsModelAsset: boolean;
3296
+ ImportAsPackage: boolean;
3297
+ InsertInWorkspace: boolean;
3298
+ InsertWithScenePosition: boolean;
3299
+ InvertNegativeFaces: boolean;
3300
+ MergeMeshes: boolean;
3301
+ /**
3302
+ * Tags: ReadOnly, NotReplicated
3303
+ */
3304
+ readonly PolygonCount: number;
3305
+ RestPose: Enum.RestPose;
3306
+ RigScale: Enum.RigScale;
3307
+ RigType: Enum.RigType;
3308
+ ScaleUnit: Enum.MeshScaleUnit;
3309
+ UseSceneOriginAsCFrame: boolean;
3310
+ UseSceneOriginAsPivot: boolean;
3311
+ UsesCages: boolean;
3312
+ WorldForward: Enum.NormalId;
3313
+ WorldUp: Enum.NormalId;
3314
+ }
3315
+
3137
3316
  /** The BasePlayerGui is an abstract class that all GUI drawing storage classes inherit from. */
3138
3317
  interface BasePlayerGui extends Instance {
3139
3318
  /**
@@ -3210,7 +3389,7 @@ interface PlayerGui extends BasePlayerGui {
3210
3389
  * Tags: Deprecated
3211
3390
  * @deprecated
3212
3391
  */
3213
- SetTopbarTransparency(this: PlayerGui, transparency: number): void;
3392
+ SetTopbarTransparency(this: PlayerGui, transparency: number): null;
3214
3393
  /**
3215
3394
  * Fires when the transparency of the Topbar CoreGui changes.
3216
3395
  * Tags: Deprecated
@@ -3925,7 +4104,7 @@ interface StarterGui extends BasePlayerGui {
3925
4104
  *
3926
4105
  * For more information on how to use this function, see the article on [disabling the game interface](https://developer.roblox.com/en-us/articles/disabling-parts-of-game-interface).
3927
4106
  */
3928
- SetCoreGuiEnabled(this: StarterGui, coreGuiType: CastsToEnum<Enum.CoreGuiType>, enabled: boolean): void;
4107
+ SetCoreGuiEnabled(this: StarterGui, coreGuiType: CastsToEnum<Enum.CoreGuiType>, enabled: boolean): null;
3929
4108
  /**
3930
4109
  * GetCore returns data set or made available by Roblox's [CoreScripts](https://developer.roblox.com/en-us/api-reference/class/CoreScript). The first and only parameter is a string that selects the information to be fetched. The following sections describe the strings and the data they return by this function.
3931
4110
  *
@@ -4506,7 +4685,7 @@ interface Beam extends Instance {
4506
4685
  * * If the [Beam.Texture](https://developer.roblox.com/en-us/api-reference/property/Beam/Texture) property is not set, this function will do nothing
4507
4686
  * * Increasing the offset will act in the inverse direction to the [Beam.TextureSpeed](https://developer.roblox.com/en-us/api-reference/property/Beam/TextureSpeed) property. Meaning, it will move the texture in the opposite direction to the direction the texture animates when [Beam.TextureSpeed](https://developer.roblox.com/en-us/api-reference/property/Beam/TextureSpeed) is more than 0
4508
4687
  */
4509
- SetTextureOffset(this: Beam, offset?: number): void;
4688
+ SetTextureOffset(this: Beam, offset?: number): null;
4510
4689
  }
4511
4690
 
4512
4691
  /** An object that allows events defined in one server-side [Script](https://developer.roblox.com/en-us/api-reference/class/Script) to be subscribed to by another script for one-way communication.
@@ -5214,11 +5393,11 @@ interface RocketPropulsion extends BodyMover {
5214
5393
  /**
5215
5394
  * Causes the Rocket to stop moving towards its target, making it fall.
5216
5395
  */
5217
- Abort(this: RocketPropulsion): void;
5396
+ Abort(this: RocketPropulsion): null;
5218
5397
  /**
5219
5398
  * Causes the rocket to fly towards Target.
5220
5399
  */
5221
- Fire(this: RocketPropulsion): void;
5400
+ Fire(this: RocketPropulsion): null;
5222
5401
  /**
5223
5402
  * Fired when the Rocket comes within TargetRadius of the Target. This is used to make the rocket work, such as make an explosion when it flies near the Target.
5224
5403
  */
@@ -5247,6 +5426,17 @@ interface BulkImportService extends Instance {
5247
5426
  readonly _nominal_BulkImportService: unique symbol;
5248
5427
  }
5249
5428
 
5429
+ interface CSGOptions extends Instance {
5430
+ /**
5431
+ * **DO NOT USE!**
5432
+ *
5433
+ * This field exists to force TypeScript to recognize this as a nominal type
5434
+ * @hidden
5435
+ * @deprecated
5436
+ */
5437
+ readonly _nominal_CSGOptions: unique symbol;
5438
+ }
5439
+
5250
5440
  interface CalloutService extends Instance {
5251
5441
  /**
5252
5442
  * **DO NOT USE!**
@@ -5667,7 +5857,7 @@ interface Camera extends Instance {
5667
5857
  * Tags: Deprecated
5668
5858
  * @deprecated
5669
5859
  */
5670
- Interpolate(this: Camera, endPos: CFrame, endFocus: CFrame, duration: number): void;
5860
+ Interpolate(this: Camera, endPos: CFrame, endFocus: CFrame, duration: number): null;
5671
5861
  /**
5672
5862
  * This function pans the [Camera](https://developer.roblox.com/en-us/api-reference/class/Camera) around the [Camera.Focus](https://developer.roblox.com/en-us/api-reference/property/Camera/Focus) in 45 degree increments around the Y axis.
5673
5863
  *
@@ -5682,7 +5872,7 @@ interface Camera extends Instance {
5682
5872
  * Tags: Deprecated
5683
5873
  * @deprecated
5684
5874
  */
5685
- PanUnits(this: Camera, units: number): void;
5875
+ PanUnits(this: Camera, units: number): null;
5686
5876
  /**
5687
5877
  * This function creates a unit [Ray](https://developer.roblox.com/en-us/api-reference/datatype/Ray) from a 2D position on the screen (defined in pixels). This position accounts for the GUI inset. The [Ray](https://developer.roblox.com/en-us/api-reference/datatype/Ray) originates from the [Vector3](https://developer.roblox.com/en-us/api-reference/datatype/Vector3) equivalent of the 2D position in the world at the given depth (in studs) away from the [Camera](https://developer.roblox.com/en-us/api-reference/class/Camera).
5688
5878
  *
@@ -5703,7 +5893,7 @@ interface Camera extends Instance {
5703
5893
  *
5704
5894
  * SetCameraPan mode has no effect on PC / Mac users.
5705
5895
  */
5706
- SetCameraPanMode(this: Camera, mode?: CastsToEnum<Enum.CameraPanMode>): void;
5896
+ SetCameraPanMode(this: Camera, mode?: CastsToEnum<Enum.CameraPanMode>): null;
5707
5897
  /**
5708
5898
  * This function is outdated and no longer considered best practice.
5709
5899
  *
@@ -5727,7 +5917,7 @@ interface Camera extends Instance {
5727
5917
  * local rollCFrame = CFrame.Angles(0, 0, roll)
5728
5918
  * workspace.CurrentCamera.CFrame = currentCFrame \* rollCFrame
5729
5919
  */
5730
- SetRoll(this: Camera, rollAngle: number): void;
5920
+ SetRoll(this: Camera, rollAngle: number): null;
5731
5921
  /**
5732
5922
  * This function 'tilts' the [Camera](https://developer.roblox.com/en-us/api-reference/class/Camera) by rotating it around the [Camera.Focus](https://developer.roblox.com/en-us/api-reference/property/Camera/Focus) around the [Camera's](https://developer.roblox.com/en-us/api-reference/class/Camera) X axis by a given multiple of 10 degrees.
5733
5923
  *
@@ -5807,7 +5997,7 @@ interface Camera extends Instance {
5807
5997
  * Note this function does not perform any raycasting, meaning the visible bool will be true regardless if the _worldPoint_ is obscured by [BaseParts](https://developer.roblox.com/en-us/api-reference/class/BasePart) or [Terrain](https://developer.roblox.com/en-us/api-reference/class/Terrain).
5808
5998
  */
5809
5999
  WorldToViewportPoint(this: Camera, worldPoint: Vector3): LuaTuple<[Vector3, boolean]>;
5810
- ZoomToExtents(this: Camera, boundingBoxCFrame: CFrame, boundingBoxSize: Vector3): void;
6000
+ ZoomToExtents(this: Camera, boundingBoxCFrame: CFrame, boundingBoxSize: Vector3): null;
5811
6001
  /**
5812
6002
  * This event fires when the [Camera](https://developer.roblox.com/en-us/api-reference/class/Camera) has finished interpolating using the [Camera:Interpolate](https://developer.roblox.com/en-us/api-reference/function/Camera/Interpolate) function.
5813
6003
  *
@@ -6120,7 +6310,7 @@ interface Chat extends Instance {
6120
6310
  *
6121
6311
  * _Note:_ Since dialogs are controlled by a LocalScript, you will not be able to see any dialogs created from this method unless you are running in _Play Solo_ mode.
6122
6312
  */
6123
- Chat(this: Chat, partOrCharacter: BasePart | Model, message: string, color?: CastsToEnum<Enum.ChatColor>): void;
6313
+ Chat(this: Chat, partOrCharacter: BasePart | Model, message: string, color?: CastsToEnum<Enum.ChatColor>): null;
6124
6314
  /**
6125
6315
  * InvokeChatCallback will call a function registered by [RegisterChatCallback](https://developer.roblox.com/en-us/api-reference/function/Chat/RegisterChatCallback), given the ChatCallbackType enum and the arguments to send the function. It will return the result of the registered function, or raise an error if no function has been registered.
6126
6316
  *
@@ -6153,7 +6343,7 @@ interface Chat extends Instance {
6153
6343
  * * Set `message.ShouldDeliver` to false in order to cancel delivery of the message to players (useful for implementing a chat blacklist)
6154
6344
  * * Get/set the speaker's name color (`message.ExtraData.NameColor`, a Color3) on a message-by-message basis
6155
6345
  */
6156
- RegisterChatCallback(this: Chat, callbackType: CastsToEnum<Enum.ChatCallbackType>, callbackFunction: Callback): void;
6346
+ RegisterChatCallback(this: Chat, callbackType: CastsToEnum<Enum.ChatCallbackType>, callbackFunction: Callback): null;
6157
6347
  /**
6158
6348
  * **Note**
6159
6349
  *
@@ -6167,7 +6357,7 @@ interface Chat extends Instance {
6167
6357
  *
6168
6358
  * This function is client-side only, attempting to call it on the server will trigger an error.
6169
6359
  */
6170
- SetBubbleChatSettings(this: Chat, settings: unknown): void;
6360
+ SetBubbleChatSettings(this: Chat, settings: unknown): null;
6171
6361
  /**
6172
6362
  * Will return false if the player with the specified [Player.UserId](https://developer.roblox.com/en-us/api-reference/property/Player/UserId) is not allowed to chat because of their account settings.
6173
6363
  * Tags: Yields
@@ -6383,7 +6573,7 @@ interface CollectionService extends Instance {
6383
6573
  *
6384
6574
  * **Warning:** When tagging an object, it is common that some resources are used to give the tag its functionality, e.g. event connections or tables. To prevent memory leaks, it is a good idea to clean these up (disconnect, set to nil, etc) when no longer needed for a tag. Do this when calling [CollectionService:RemoveTag](https://developer.roblox.com/en-us/api-reference/function/CollectionService/RemoveTag), calling [Instance:Destroy](https://developer.roblox.com/en-us/api-reference/function/Instance/Destroy) or in a function connected to a signal returned by [CollectionService:GetInstanceRemovedSignal](https://developer.roblox.com/en-us/api-reference/function/CollectionService/GetInstanceRemovedSignal).
6385
6575
  */
6386
- AddTag(this: CollectionService, instance: Instance, tag: string): void;
6576
+ AddTag(this: CollectionService, instance: Instance, tag: string): null;
6387
6577
  GetAllTags(this: CollectionService): unknown;
6388
6578
  /**
6389
6579
  * GetInstanceAdded is given a tag (a string) and returns a signal which fires under two conditions:
@@ -6440,7 +6630,7 @@ interface CollectionService extends Instance {
6440
6630
  *
6441
6631
  * When removing a tag, it is common that some resources are used to give the tag its functionality, e.g. event connections or tables. To prevent memory leaks, it is a good idea to clean these up (disconnect, set to nil, etc) when no longer needed for a tag.
6442
6632
  */
6443
- RemoveTag(this: CollectionService, instance: Instance, tag: string): void;
6633
+ RemoveTag(this: CollectionService, instance: Instance, tag: string): null;
6444
6634
  /**
6445
6635
  * This function fires when a [Configuration](https://developer.roblox.com/en-us/api-reference/class/Configuration), [CustomEvent](https://developer.roblox.com/en-us/api-reference/class/CustomEvent), [CustomEventReceiver](https://developer.roblox.com/en-us/api-reference/class/CustomEventReceiver), [Dialog](https://developer.roblox.com/en-us/api-reference/class/Dialog), or [VehicleSeat](https://developer.roblox.com/en-us/api-reference/class/VehicleSeat) is added to the [DataModel](https://developer.roblox.com/en-us/api-reference/class/DataModel).
6446
6636
  * Tags: Deprecated, [object Object]
@@ -7895,13 +8085,13 @@ interface ContentProvider extends Instance {
7895
8085
  * Tags: Deprecated, [object Object]
7896
8086
  * @deprecated
7897
8087
  */
7898
- Preload(this: ContentProvider, contentId: string): void;
7899
- RegisterDefaultEncryptionKey(this: ContentProvider, encryptionKey: string): void;
7900
- RegisterDefaultSessionKey(this: ContentProvider, sessionKey: string): void;
7901
- RegisterEncryptedAsset(this: ContentProvider, assetId: string, encryptionKey: string): void;
7902
- RegisterSessionEncryptedAsset(this: ContentProvider, contentId: string, sessionKey: string): void;
7903
- UnregisterDefaultEncryptionKey(this: ContentProvider): void;
7904
- UnregisterEncryptedAsset(this: ContentProvider, assetId: string): void;
8088
+ Preload(this: ContentProvider, contentId: string): null;
8089
+ RegisterDefaultEncryptionKey(this: ContentProvider, encryptionKey: string): null;
8090
+ RegisterDefaultSessionKey(this: ContentProvider, sessionKey: string): null;
8091
+ RegisterEncryptedAsset(this: ContentProvider, assetId: string, encryptionKey: string): null;
8092
+ RegisterSessionEncryptedAsset(this: ContentProvider, contentId: string, sessionKey: string): null;
8093
+ UnregisterDefaultEncryptionKey(this: ContentProvider): null;
8094
+ UnregisterEncryptedAsset(this: ContentProvider, assetId: string): null;
7905
8095
  /**
7906
8096
  * Yields until all of the assets associated with the given [Instances](https://developer.roblox.com/en-us/api-reference/class/Instance) have loaded and takes an array of [Instances](https://developer.roblox.com/en-us/api-reference/class/Instance) as a parameter.
7907
8097
  *
@@ -8053,13 +8243,13 @@ interface ContextActionService extends Instance {
8053
8243
  * Tags: Deprecated, [object Object]
8054
8244
  * @deprecated
8055
8245
  */
8056
- BindActionToInputTypes(this: ContextActionService, actionName: string, functionToBind: Callback, createTouchButton: boolean, inputTypes: Array<any>): void;
8246
+ BindActionToInputTypes(this: ContextActionService, actionName: string, functionToBind: Callback, createTouchButton: boolean, inputTypes: Array<any>): null;
8057
8247
  /**
8058
8248
  * Bind an [KeyCode](https://developer.roblox.com/en-us/api-reference/enum/KeyCode) that can be used with an [UserInputType](https://developer.roblox.com/en-us/api-reference/enum/UserInputType) to activate [ClickDetector](https://developer.roblox.com/en-us/api-reference/class/ClickDetector) events and [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) objects. When the given key/button is pressed, it fires the [Mouse.Button1Down](https://developer.roblox.com/en-us/api-reference/event/Mouse/Button1Down) event on the mouse sent to [Tool.Equipped](https://developer.roblox.com/en-us/api-reference/event/Tool/Equipped). This in turn fires the [Tool.Activated](https://developer.roblox.com/en-us/api-reference/event/Tool/Activated) event if [Tool.ManualActivationOnly](https://developer.roblox.com/en-us/api-reference/property/Tool/ManualActivationOnly) is not set to true. For gamepad input, this function is called by the default control scripts in order to bind the ButtonR2 [KeyCode](https://developer.roblox.com/en-us/api-reference/enum/KeyCode).
8059
8249
  *
8060
8250
  * Note that the [UserInputType](https://developer.roblox.com/en-us/api-reference/enum/UserInputType) specified must be `Keyboard` or `Gamepad1` through `Gamepad8` in order to be valid.
8061
8251
  */
8062
- BindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodesForActivation: Array<any>): void;
8252
+ BindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodesForActivation: Array<any>): null;
8063
8253
  /**
8064
8254
  * GetAllBoundActioninfo returns a table which maps all actions' names (those originally passed to [BindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindAction)) to a table returned by [GetBoundActionInfo](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/GetBoundActionInfo) when called with the action name itself. Using this function, you can inspect all presently bound actions. This is useful when debugging their priority levels or stack orders.
8065
8255
  */
@@ -8128,39 +8318,39 @@ interface ContextActionService extends Instance {
8128
8318
  *
8129
8319
  * Although the name may suggest that this method is related to the family of functions that customize a touch button for actions that create them ([SetTitle](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/SetTitle), [SetImage](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/SetImage) and [SetPosition](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/SetPosition)), this method does not affect such a button. This method merely sets a text description of an action, and nothing more.
8130
8320
  */
8131
- SetDescription(this: ContextActionService, actionName: string, description: string): void;
8321
+ SetDescription(this: ContextActionService, actionName: string, description: string): null;
8132
8322
  /**
8133
8323
  * SetPosition will set the text shown on a touch button created by [BindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindAction). Specifically, this sets the [ImageLabel.Image](https://developer.roblox.com/en-us/api-reference/property/ImageLabel/Image) property of the [ImageLabel](https://developer.roblox.com/en-us/api-reference/class/ImageLabel) within the [ImageButton](https://developer.roblox.com/en-us/api-reference/class/ImageButton) that would be returned by [GetButton](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/GetButton). If no such bound action exists (e.g. nothing is returned by GetButton), this function does nothing and throws no error.
8134
8324
  *
8135
8325
  * This function is part of a family of methods that customize the touch button of an action. Others in this family include [SetPosition](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/SetPosition) and [SetTitle](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/SetTitle).
8136
8326
  */
8137
- SetImage(this: ContextActionService, actionName: string, image: string): void;
8327
+ SetImage(this: ContextActionService, actionName: string, image: string): null;
8138
8328
  /**
8139
8329
  * SetPosition will set the text shown on a touch button created by [BindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindAction). Specifically, this sets the [GuiObject.Position](https://developer.roblox.com/en-us/api-reference/property/GuiObject/Position) property of the [ImageButton](https://developer.roblox.com/en-us/api-reference/class/ImageButton) that would be returned by [GetButton](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/GetButton). If no such bound action exists (e.g. nothing is returned by GetButton), this function does nothing and throws no error.
8140
8330
  *
8141
8331
  * This function is part of a family of methods that customize the touch button of an action. Others in this family include [SetImage](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/SetImage) and [SetTitle](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/SetTitle).
8142
8332
  */
8143
- SetPosition(this: ContextActionService, actionName: string, position: UDim2): void;
8333
+ SetPosition(this: ContextActionService, actionName: string, position: UDim2): null;
8144
8334
  /**
8145
8335
  * SetTitle will set the text shown on a touch button created by [BindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindAction). Specifically, this sets the [TextLabel.Text](https://developer.roblox.com/en-us/api-reference/property/TextLabel/Text) property of a [TextLabel](https://developer.roblox.com/en-us/api-reference/class/TextLabel) within the [ImageButton](https://developer.roblox.com/en-us/api-reference/class/ImageButton) that would be returned by [GetButton](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/GetButton). If no such bound action exists (e.g. nothing is returned by GetButton), this function does nothing and throws no error.
8146
8336
  *
8147
8337
  * This function is part of a family of methods that customize the touch button of an action. Others in this family include [SetImage](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/SetImage) and [SetPosition](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/SetPosition).
8148
8338
  */
8149
- SetTitle(this: ContextActionService, actionName: string, title: string): void;
8339
+ SetTitle(this: ContextActionService, actionName: string, title: string): null;
8150
8340
  /**
8151
8341
  * UnbindAction will unbind an action by name from user inputs so that the action handler function will no longer be called. Call this function when the context for some action is no longer applicable, such as closing a user interface, exiting a car or [unequipping](https://developer.roblox.com/en-us/api-reference/event/Tool/Unequipped) a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool). See [BindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindAction) for more information on how bound actions operate.
8152
8342
  *
8153
8343
  * This function **will not** throw an error if there is no such action bound with the given string. Using [GetAllBoundActionInfo](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/GetAllBoundActionInfo) or the Developer Console's “Action Bindings” tab, you can find out what actions are presently bound.
8154
8344
  */
8155
- UnbindAction(this: ContextActionService, actionName: string): void;
8345
+ UnbindAction(this: ContextActionService, actionName: string): null;
8156
8346
  /**
8157
8347
  * UnbindActivate unbinds an [KeyCode](https://developer.roblox.com/en-us/api-reference/enum/KeyCode) used with an [UserInputType](https://developer.roblox.com/en-us/api-reference/enum/UserInputType) for activating a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) (or a [HopperBin](https://developer.roblox.com/en-us/api-reference/class/HopperBin)) using [BindActivate](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindActivate). This function essentially undoes the action performed by that function.
8158
8348
  */
8159
- UnbindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodeForActivation?: CastsToEnum<Enum.KeyCode>): void;
8349
+ UnbindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodeForActivation?: CastsToEnum<Enum.KeyCode>): null;
8160
8350
  /**
8161
8351
  * Removes all functions bound. No actionNames will remain. All touch buttons will be removed. If a button was manipulated manually there is no guarantee it will be cleaned up.
8162
8352
  */
8163
- UnbindAllActions(this: ContextActionService): void;
8353
+ UnbindAllActions(this: ContextActionService): null;
8164
8354
  /**
8165
8355
  * GetButton returns the [ImageButton](https://developer.roblox.com/en-us/api-reference/class/ImageButton) created by [BindAction](https://developer.roblox.com/en-us/api-reference/function/ContextActionService/BindAction) if its third parameter was true and the device is [TouchEnabled](https://developer.roblox.com/en-us/api-reference/property/UserInputService/TouchEnabled). The only parameter to this function must match exactly the name of the action originally sent to BindAction.
8166
8356
  *
@@ -8191,7 +8381,7 @@ interface Controller extends Instance {
8191
8381
  /**
8192
8382
  * Activates an overriding bind on the specified button.
8193
8383
  */
8194
- BindButton(this: Controller, button: CastsToEnum<Enum.Button>, caption: string): void;
8384
+ BindButton(this: Controller, button: CastsToEnum<Enum.Button>, caption: string): null;
8195
8385
  /**
8196
8386
  * Returns whether or not Button is being pressed.
8197
8387
  */
@@ -8199,7 +8389,7 @@ interface Controller extends Instance {
8199
8389
  /**
8200
8390
  * Removes the bind on button.
8201
8391
  */
8202
- UnbindButton(this: Controller, button: CastsToEnum<Enum.Button>): void;
8392
+ UnbindButton(this: Controller, button: CastsToEnum<Enum.Button>): null;
8203
8393
  /**
8204
8394
  * Fired when the pressed state of a bound button is changed. This event can be used in conjunction with [Controller:GetButton](https://developer.roblox.com/en-us/api-reference/function/Controller/GetButton) to see whether a bound button is being pressed down or not.
8205
8395
  */
@@ -8289,13 +8479,18 @@ interface AirController extends ControllerBase {
8289
8479
  BalanceMaxTorque: number;
8290
8480
  BalanceRigidityEnabled: boolean;
8291
8481
  BalanceSpeed: number;
8482
+ LinearImpulse: Vector3;
8292
8483
  MaintainAngularMomentum: boolean;
8293
8484
  MaintainLinearMomentum: boolean;
8294
8485
  MoveMaxForce: number;
8295
8486
  OrientationMaxTorque: number;
8296
8487
  OrientationSpeedFactor: number;
8297
- TurningMaxTorque: number;
8298
- TurningSpeedFactor: number;
8488
+ TurnMaxTorque: number;
8489
+ TurnSpeedFactor: number;
8490
+ /**
8491
+ * Tags: Hidden, NotReplicated, Deprecated
8492
+ * @deprecated
8493
+ */
8299
8494
  VectorForce: Vector3;
8300
8495
  }
8301
8496
 
@@ -8339,6 +8534,7 @@ interface GroundController extends ControllerBase {
8339
8534
  GroundOffset: number;
8340
8535
  StandForce: number;
8341
8536
  StandSpeed: number;
8537
+ TurnSpeedFactor: number;
8342
8538
  TurningFactor: number;
8343
8539
  }
8344
8540
 
@@ -8374,11 +8570,6 @@ interface ControllerManager extends Instance {
8374
8570
  FacingDirection: Vector3;
8375
8571
  GroundSensor: ControllerSensor | undefined;
8376
8572
  MovingDirection: Vector3;
8377
- /**
8378
- * Tags: Deprecated
8379
- * @deprecated
8380
- */
8381
- GetControllers(this: ControllerManager): Array<Instance>;
8382
8573
  }
8383
8574
 
8384
8575
  /** Container class for the [HumanoidController](https://developer.roblox.com/en-us/api-reference/class/HumanoidController) among other classes. */
@@ -8723,7 +8914,7 @@ interface DataStoreIncrementOptions extends Instance {
8723
8914
  *
8724
8915
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
8725
8916
  */
8726
- SetMetadata(this: DataStoreIncrementOptions, attributes: object): void;
8917
+ SetMetadata(this: DataStoreIncrementOptions, attributes: object): null;
8727
8918
  }
8728
8919
 
8729
8920
  /** Object describing data store information such as name, created time, and time last updated. This object is a member of the [DataStoreListingPages](https://developer.roblox.com/en-us/api-reference/class/DataStoreListingPages) object returned by [DataStoreService:ListDataStoresAsync](https://developer.roblox.com/en-us/api-reference/function/DataStoreService/ListDataStoresAsync).
@@ -8945,7 +9136,7 @@ interface DataStoreOptions extends Instance {
8945
9136
  *
8946
9137
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
8947
9138
  */
8948
- SetExperimentalFeatures(this: DataStoreOptions, experimentalFeatures: object): void;
9139
+ SetExperimentalFeatures(this: DataStoreOptions, experimentalFeatures: object): null;
8949
9140
  }
8950
9141
 
8951
9142
  /** **DataStoreService** exposes methods for getting [GlobalDataStore](https://developer.roblox.com/en-us/api-reference/class/GlobalDataStore) and [OrderedDataStore](https://developer.roblox.com/en-us/api-reference/class/OrderedDataStore) objects. Data stores can only be accessed by game servers, so you can only use [DataStoreService](https://developer.roblox.com/en-us/api-reference/class/DataStoreService) within a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) or a [ModuleScript](https://developer.roblox.com/en-us/api-reference/class/ModuleScript) that is used by a [Script](https://developer.roblox.com/en-us/api-reference/class/Script).
@@ -9026,7 +9217,7 @@ interface DataStoreSetOptions extends Instance {
9026
9217
  *
9027
9218
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
9028
9219
  */
9029
- SetMetadata(this: DataStoreSetOptions, attributes: object): void;
9220
+ SetMetadata(this: DataStoreSetOptions, attributes: object): null;
9030
9221
  }
9031
9222
 
9032
9223
  /** The Debris service allows the developer to schedule the removal of the object without yielding any code, through the usage of the [Debris:AddItem](https://developer.roblox.com/en-us/api-reference/function/Debris/AddItem) method.
@@ -9105,7 +9296,7 @@ interface Debris extends Instance {
9105
9296
  *
9106
9297
  * Debris does not yield the current thread, does not require a new thread and will not error if the object is already destroyed. For this reason it is the recommended method for cleaning up objects with a fixed lifetime.
9107
9298
  */
9108
- AddItem(this: Debris, item: Instance, lifetime?: number): void;
9299
+ AddItem(this: Debris, item: Instance, lifetime?: number): null;
9109
9300
  }
9110
9301
 
9111
9302
  interface DebuggablePluginWatcher extends Instance {
@@ -9355,7 +9546,7 @@ interface Dragger extends Instance {
9355
9546
  /**
9356
9547
  * Rotates the currently dragged part(s) by 90 degrees on the given axis.
9357
9548
  */
9358
- AxisRotate(this: Dragger, axis?: CastsToEnum<Enum.Axis>): void;
9549
+ AxisRotate(this: Dragger, axis?: CastsToEnum<Enum.Axis>): null;
9359
9550
  /**
9360
9551
  * Initializes a dragging action, specifying which parts to use when dragging.
9361
9552
  */
@@ -9363,11 +9554,11 @@ interface Dragger extends Instance {
9363
9554
  /**
9364
9555
  * Tries to move the currently dragged part to the point where MouseRay hits another part.
9365
9556
  */
9366
- MouseMove(this: Dragger, mouseRay: Ray): void;
9557
+ MouseMove(this: Dragger, mouseRay: Ray): null;
9367
9558
  /**
9368
9559
  * Stops the current dragging action (made by [MouseDown](https://developer.roblox.com/api-reference/function/Dragger/MouseDown "MouseDown"))
9369
9560
  */
9370
- MouseUp(this: Dragger): void;
9561
+ MouseUp(this: Dragger): null;
9371
9562
  }
9372
9563
 
9373
9564
  interface DraggerService extends Instance {
@@ -10278,7 +10469,7 @@ interface GamepadService extends Instance {
10278
10469
  */
10279
10470
  readonly _nominal_GamepadService: unique symbol;
10280
10471
  readonly GamepadCursorEnabled: boolean;
10281
- DisableGamepadCursor(this: GamepadService): void;
10472
+ DisableGamepadCursor(this: GamepadService): null;
10282
10473
  EnableGamepadCursor(this: GamepadService, guiObject: GuiObject | undefined): void;
10283
10474
  }
10284
10475
 
@@ -10514,7 +10705,7 @@ interface DataStore extends GlobalDataStore {
10514
10705
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
10515
10706
  * Tags: Yields
10516
10707
  */
10517
- RemoveVersionAsync(this: DataStore, key: string, version: string): void;
10708
+ RemoveVersionAsync(this: DataStore, key: string, version: string): null;
10518
10709
  }
10519
10710
 
10520
10711
  /** A **OrderedDataStore** is essentially a [GlobalDataStore](https://developer.roblox.com/en-us/api-reference/class/GlobalDataStore) with the exception that stored values must be **positive integers**. It exposes a method [GetSortedAsync()](https://developer.roblox.com/en-us/api-reference/function/OrderedDataStore/GetSortedAsync) which allows inspection of the entries in sorted order using a [DataStorePages](https://developer.roblox.com/en-us/api-reference/class/DataStorePages) object.
@@ -12637,7 +12828,7 @@ interface TextBox extends GuiObject {
12637
12828
  /**
12638
12829
  * Forces the client to focus on the TextBox.
12639
12830
  */
12640
- CaptureFocus(this: TextBox): void;
12831
+ CaptureFocus(this: TextBox): null;
12641
12832
  /**
12642
12833
  * Returns true if the textbox is focused, or false if it is not.
12643
12834
  */
@@ -12665,7 +12856,7 @@ interface TextBox extends GuiObject {
12665
12856
  *
12666
12857
  * Please be aware that the above example assumes that it's in a LocalScript, as a child of a TextBox.
12667
12858
  */
12668
- ReleaseFocus(this: TextBox, submitted?: boolean): void;
12859
+ ReleaseFocus(this: TextBox, submitted?: boolean): null;
12669
12860
  /**
12670
12861
  * The FocusLost event fires when the client lets their focus off the TextBox - typically when a client clicks/taps on a TextBox to begin text entry. This also fires if a TextBox forces focus on the user.
12671
12862
  *
@@ -12755,11 +12946,11 @@ interface VideoFrame extends GuiObject {
12755
12946
  *
12756
12947
  * As [VideoFrame.TimePosition](https://developer.roblox.com/en-us/api-reference/property/VideoFrame/TimePosition) is not reset, when the video is resumed it will continue from its previous position.
12757
12948
  */
12758
- Pause(this: VideoFrame): void;
12949
+ Pause(this: VideoFrame): null;
12759
12950
  /**
12760
12951
  * Sets [VideoFrame.Playing](https://developer.roblox.com/en-us/api-reference/property/VideoFrame/Playing) to true, This plays the [VideoFrame.Video](https://developer.roblox.com/en-us/api-reference/property/VideoFrame/Video), continuing from the current [VideoFrame.TimePosition](https://developer.roblox.com/en-us/api-reference/property/VideoFrame/TimePosition).
12761
12952
  */
12762
- Play(this: VideoFrame): void;
12953
+ Play(this: VideoFrame): null;
12763
12954
  /**
12764
12955
  * An event that fires whenever the [VideoFrame.Video](https://developer.roblox.com/en-us/api-reference/property/VideoFrame/Video) loops. Returns the content ID of the video.
12765
12956
  */
@@ -13259,6 +13450,7 @@ interface AdGui extends SurfaceGuiBase {
13259
13450
  */
13260
13451
  readonly _nominal_AdGui: unique symbol;
13261
13452
  AdShape: Enum.AdShape;
13453
+ FallbackImage: string;
13262
13454
  /**
13263
13455
  * Tags: ReadOnly, NotReplicated
13264
13456
  */
@@ -13737,10 +13929,10 @@ interface WireframeHandleAdornment extends HandleAdornment {
13737
13929
  */
13738
13930
  readonly _nominal_WireframeHandleAdornment: unique symbol;
13739
13931
  Scale: Vector3;
13740
- AddLine(this: WireframeHandleAdornment, from: Vector3, to: Vector3): void;
13741
- AddLines(this: WireframeHandleAdornment, points: Array<any>): void;
13742
- AddPath(this: WireframeHandleAdornment, points: Array<any>, loop: boolean): void;
13743
- Clear(this: WireframeHandleAdornment): void;
13932
+ AddLine(this: WireframeHandleAdornment, from: Vector3, to: Vector3): null;
13933
+ AddLines(this: WireframeHandleAdornment, points: Array<any>): null;
13934
+ AddPath(this: WireframeHandleAdornment, points: Array<any>, loop: boolean): null;
13935
+ Clear(this: WireframeHandleAdornment): null;
13744
13936
  }
13745
13937
 
13746
13938
  /** A special type of Adornment that is still a work in progress.
@@ -14058,7 +14250,7 @@ interface GuiService extends Instance {
14058
14250
  * * [GuiService:InspectPlayerFromHumanoidDescription](https://developer.roblox.com/en-us/api-reference/function/GuiService/InspectPlayerFromHumanoidDescription), allows a developer to bring up the Inspect menu showing the assets listed in this [HumanoidDescription](https://developer.roblox.com/en-us/api-reference/class/HumanoidDescription) object. This is especially useful when what is being worn on a player's avatar on the Roblox platform is not necessarily the same as their in-game appearance
14059
14251
  * * [GuiService:InspectPlayerFromUserId](https://developer.roblox.com/en-us/api-reference/function/GuiService/InspectPlayerFromUserId), allows the Inspect Menu to appear showing the user that has the given [UserId](https://developer.roblox.com/en-us/api-reference/property/Player/UserId). This is especially useful when you want to inspect players who aren't in the current game
14060
14252
  */
14061
- CloseInspectMenu(this: GuiService): void;
14253
+ CloseInspectMenu(this: GuiService): null;
14062
14254
  /**
14063
14255
  * Returns a boolean indicating whether or not the player Emotes menu is open.
14064
14256
  *
@@ -14122,7 +14314,7 @@ interface GuiService extends Instance {
14122
14314
  * * `GuiService:SetInspectMenuEnabled`, allows developers to enable or disable default Inspect and Buy functionality. This is especially useful when what is being worn on a player's avatar on the Roblox platform is not necessarily the same as their in-game appearance
14123
14315
  * * [GuiService:InspectPlayerFromHumanoidDescription](https://developer.roblox.com/en-us/api-reference/function/GuiService/InspectPlayerFromHumanoidDescription), allows a developer to bring up the Inspect menu showing the assets listed in this [HumanoidDescription](https://developer.roblox.com/en-us/api-reference/class/HumanoidDescription) object
14124
14316
  */
14125
- InspectPlayerFromUserId(this: GuiService, userId: number): void;
14317
+ InspectPlayerFromUserId(this: GuiService, userId: number): null;
14126
14318
  /**
14127
14319
  * Returns true if the client is using the ten foot interface, which is a special version of Roblox's UI, exclusive to consoles.
14128
14320
  *
@@ -14132,12 +14324,12 @@ interface GuiService extends Instance {
14132
14324
  /**
14133
14325
  * Removes a group that was created with [GuiService:AddSelectionParent](https://developer.roblox.com/en-us/api-reference/function/GuiService/AddSelectionParent) or [GuiService:AddSelectionTuple](https://developer.roblox.com/en-us/api-reference/function/GuiService/AddSelectionTuple).
14134
14326
  */
14135
- RemoveSelectionGroup(this: GuiService, selectionName: string): void;
14327
+ RemoveSelectionGroup(this: GuiService, selectionName: string): null;
14136
14328
  Select(this: GuiService, selectionParent: Instance): void;
14137
14329
  /**
14138
14330
  * Opens or closes the player Emotes menu.
14139
14331
  */
14140
- SetEmotesMenuOpen(this: GuiService, isOpen: boolean): void;
14332
+ SetEmotesMenuOpen(this: GuiService, isOpen: boolean): null;
14141
14333
  /**
14142
14334
  * This method allows developers to disable the built-in notification when a players gameplay is paused. They can then add in their own UI if they wish to customize it.
14143
14335
  *
@@ -14148,7 +14340,7 @@ interface GuiService extends Instance {
14148
14340
  *
14149
14341
  * * [Workspace.StreamingPauseMode](https://developer.roblox.com/en-us/api-reference/property/Workspace/StreamingPauseMode), controls which streaming physics pause mode is active
14150
14342
  */
14151
- SetGameplayPausedNotificationEnabled(this: GuiService, enabled: boolean): void;
14343
+ SetGameplayPausedNotificationEnabled(this: GuiService, enabled: boolean): null;
14152
14344
  /**
14153
14345
  * This function allows developers to enable or disable default Inspect and Buy functionality. This is useful when you want to disable the feature in your game, entirely or during certain parts of your game (such as a cutscene). The feature is enabled by default.
14154
14346
  *
@@ -14164,7 +14356,7 @@ interface GuiService extends Instance {
14164
14356
  * * [GuiService:InspectPlayerFromHumanoidDescription](https://developer.roblox.com/en-us/api-reference/function/GuiService/InspectPlayerFromHumanoidDescription), allows a developer to bring up the Inspect menu showing the assets listed in this [HumanoidDescription](https://developer.roblox.com/en-us/api-reference/class/HumanoidDescription) object. This is especially useful when what is being worn on a player's avatar on the Roblox platform is not necessarily the same as their in-game appearance
14165
14357
  * * [GuiService:InspectPlayerFromUserId](https://developer.roblox.com/en-us/api-reference/function/GuiService/InspectPlayerFromUserId), allows the Inspect Menu to appear showing the user that has the given [UserId](https://developer.roblox.com/en-us/api-reference/property/Player/UserId). This is especially useful when you want to inspect players who aren't in the current game
14166
14358
  */
14167
- SetInspectMenuEnabled(this: GuiService, enabled: boolean): void;
14359
+ SetInspectMenuEnabled(this: GuiService, enabled: boolean): null;
14168
14360
  /**
14169
14361
  * Fires when the user **closes** the Roblox coregui escape menu.
14170
14362
  */
@@ -15037,7 +15229,7 @@ interface Humanoid extends Instance {
15037
15229
  *
15038
15230
  * If the required [Attachment](https://developer.roblox.com/en-us/api-reference/class/Attachment) can not be found, then the [Accessory](https://developer.roblox.com/en-us/api-reference/class/Accessory) will remain parented to the [Humanoid's](https://developer.roblox.com/en-us/api-reference/class/Humanoid) parent but it will be unattached.
15039
15231
  */
15040
- AddAccessory(this: Humanoid, accessory: Accessory): void;
15232
+ AddAccessory(this: Humanoid, accessory: Accessory): null;
15041
15233
  /**
15042
15234
  * Adds a BoolValue to the Humanoid's _Status_ object, whose name is equal to the string passed as the _status_ argument. If the status already exists, a new BoolValue will not be created.
15043
15235
  * Tags: Deprecated
@@ -15057,7 +15249,7 @@ interface Humanoid extends Instance {
15057
15249
  *
15058
15250
  * See the provided code sample below to see how this function works.
15059
15251
  */
15060
- BuildRigFromAttachments(this: Humanoid): void;
15252
+ BuildRigFromAttachments(this: Humanoid): null;
15061
15253
  /**
15062
15254
  * This function causes the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) to enter the given [HumanoidStateType](https://developer.roblox.com/en-us/api-reference/enum/HumanoidStateType).
15063
15255
  *
@@ -15076,7 +15268,7 @@ interface Humanoid extends Instance {
15076
15268
  * * To enable or disable a particular state use [Humanoid:SetStateEnabled](https://developer.roblox.com/en-us/api-reference/function/Humanoid/SetStateEnabled)
15077
15269
  * * To get the current state use [Humanoid:GetState](https://developer.roblox.com/en-us/api-reference/function/Humanoid/GetState)
15078
15270
  */
15079
- ChangeState(this: Humanoid, state?: CastsToEnum<Enum.HumanoidStateType>): void;
15271
+ ChangeState(this: Humanoid, state?: CastsToEnum<Enum.HumanoidStateType>): null;
15080
15272
  /**
15081
15273
  * This function makes the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) equip the given [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool).
15082
15274
  *
@@ -15104,7 +15296,7 @@ interface Humanoid extends Instance {
15104
15296
  *
15105
15297
  * * To unequip tools, use [Humanoid:UnequipTools](https://developer.roblox.com/en-us/api-reference/function/Humanoid/UnequipTools)
15106
15298
  */
15107
- EquipTool(this: Humanoid, tool: Tool): void;
15299
+ EquipTool(this: Humanoid, tool: Tool): null;
15108
15300
  /**
15109
15301
  * This function returns an array of [Accessories](https://developer.roblox.com/en-us/api-reference/class/Accessory) that the [Humanoid's](https://developer.roblox.com/en-us/api-reference/class/Humanoid) parent is currently wearing. All [Accessory](https://developer.roblox.com/en-us/api-reference/class/Accessory) objects parented to the [Humanoid's](https://developer.roblox.com/en-us/api-reference/class/Humanoid) parent will be included, regardless of if they are attached or not. If the humanoid is not wearing any accessories, the array will be empty.
15110
15302
  *
@@ -15249,7 +15441,7 @@ interface Humanoid extends Instance {
15249
15441
  * * To make a[Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) walk to a point, use the [Humanoid:MoveTo](https://developer.roblox.com/en-us/api-reference/function/Humanoid/MoveTo) function
15250
15442
  * * For [Players](https://developer.roblox.com/en-us/api-reference/class/Player) the [Player:Move](https://developer.roblox.com/en-us/api-reference/function/Player/Move) function exists that calls this function
15251
15443
  */
15252
- Move(this: Humanoid, moveDirection: Vector3, relativeToCamera?: boolean): void;
15444
+ Move(this: Humanoid, moveDirection: Vector3, relativeToCamera?: boolean): null;
15253
15445
  /**
15254
15446
  * This function causes the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) to attempt to walk to the given location by setting the [Humanoid.WalkToPoint](https://developer.roblox.com/en-us/api-reference/property/Humanoid/WalkToPoint) and [Humanoid.WalkToPart](https://developer.roblox.com/en-us/api-reference/property/Humanoid/WalkToPart) properties.
15255
15447
  *
@@ -15259,7 +15451,7 @@ interface Humanoid extends Instance {
15259
15451
  *
15260
15452
  * The _reach goal_ state of a humanoid will timeout after 8 seconds if it doesn't reach its goal. This is done so that NPCs won't get stuck waiting for [Humanoid.MoveToFinished](https://developer.roblox.com/en-us/api-reference/event/Humanoid/MoveToFinished) to fire. If you don't want this to happen, you should repeatedly call MoveTo so that the timeout will keep resetting.
15261
15453
  */
15262
- MoveTo(this: Humanoid, location: Vector3, part?: BasePart): void;
15454
+ MoveTo(this: Humanoid, location: Vector3, part?: BasePart): null;
15263
15455
  /**
15264
15456
  * This function removes all [Accessories](https://developer.roblox.com/en-us/api-reference/class/Accessory) worn by the [Humanoid's](https://developer.roblox.com/en-us/api-reference/class/Humanoid) parent. When this function is called, all [Accessories](https://developer.roblox.com/en-us/api-reference/class/Accessory) sharing an [Instance.Parent](https://developer.roblox.com/en-us/api-reference/property/Instance/Parent) with the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) will be removed. For [Player](https://developer.roblox.com/en-us/api-reference/class/Player) [Characters](https://developer.roblox.com/en-us/api-reference/property/Player/Character) this will remove all hats and other accessories.
15265
15457
  *
@@ -15271,7 +15463,7 @@ interface Humanoid extends Instance {
15271
15463
  * * To attach an [Accessory](https://developer.roblox.com/en-us/api-reference/class/Accessory) use the [Humanoid:AddAccessory](https://developer.roblox.com/en-us/api-reference/function/Humanoid/AddAccessory) function
15272
15464
  * * To get all [Accessories](https://developer.roblox.com/en-us/api-reference/class/Accessory) belonging to a [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) use the [Humanoid:GetAccessories](https://developer.roblox.com/en-us/api-reference/function/Humanoid/GetAccessories) function
15273
15465
  */
15274
- RemoveAccessories(this: Humanoid): void;
15466
+ RemoveAccessories(this: Humanoid): null;
15275
15467
  /**
15276
15468
  * The RemoveCustomStatus function removes the defined custom status from the Status model in the Humanoid…
15277
15469
  * Tags: Deprecated
@@ -15299,7 +15491,7 @@ interface Humanoid extends Instance {
15299
15491
  *
15300
15492
  * When a particular [HumanoidStateType](https://developer.roblox.com/en-us/api-reference/enum/HumanoidStateType) is disabled, the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) can never enter that state. This is true regardless if the attempt to change state is made using [Humanoid:ChangeState](https://developer.roblox.com/en-us/api-reference/function/Humanoid/ChangeState) or Roblox internal [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) code.
15301
15493
  */
15302
- SetStateEnabled(this: Humanoid, state: CastsToEnum<Enum.HumanoidStateType>, enabled: boolean): void;
15494
+ SetStateEnabled(this: Humanoid, state: CastsToEnum<Enum.HumanoidStateType>, enabled: boolean): null;
15303
15495
  /**
15304
15496
  * This function lowers the [Humanoid.Health](https://developer.roblox.com/en-us/api-reference/property/Humanoid/Health) of the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) by the given _amount_ if it is not protected by a [ForceField](https://developer.roblox.com/en-us/api-reference/class/ForceField)
15305
15497
  *
@@ -15318,7 +15510,7 @@ interface Humanoid extends Instance {
15318
15510
  *
15319
15511
  * For more information on how [ForceFields](https://developer.roblox.com/en-us/api-reference/class/ForceField) protect [Humanoids](https://developer.roblox.com/en-us/api-reference/class/Humanoid) see the [ForceField](https://developer.roblox.com/en-us/api-reference/class/ForceField) page
15320
15512
  */
15321
- TakeDamage(this: Humanoid, amount: number): void;
15513
+ TakeDamage(this: Humanoid, amount: number): null;
15322
15514
  /**
15323
15515
  * This function unequips any [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool) currently equipped by the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid)
15324
15516
  *
@@ -15333,7 +15525,7 @@ interface Humanoid extends Instance {
15333
15525
  *
15334
15526
  * * To instead equip a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool), use [Humanoid:EquipTool](https://developer.roblox.com/en-us/api-reference/function/Humanoid/EquipTool)
15335
15527
  */
15336
- UnequipTools(this: Humanoid): void;
15528
+ UnequipTools(this: Humanoid): null;
15337
15529
  /**
15338
15530
  * This yield function makes the [character's](https://developer.roblox.com/en-us/api-reference/property/Player/Character) look match that of the passed in [HumanoidDescription](https://developer.roblox.com/en-us/api-reference/class/HumanoidDescription). A copy of the passed look will then be cached in the [Humanoid](https://developer.roblox.com/en-us/api-reference/class/Humanoid) as the current HumanoidDescription for the Humanoid.
15339
15531
  *
@@ -15348,11 +15540,11 @@ interface Humanoid extends Instance {
15348
15540
  * * [Player:LoadCharacterWithHumanoidDescription](https://developer.roblox.com/en-us/api-reference/function/Player/LoadCharacterWithHumanoidDescription), spawns a player with the look from the HumanoidDescription Instance passed in
15349
15541
  * Tags: Yields
15350
15542
  */
15351
- ApplyDescription(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): void;
15543
+ ApplyDescription(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): null;
15352
15544
  /**
15353
15545
  * Tags: Yields
15354
15546
  */
15355
- ApplyDescriptionReset(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): void;
15547
+ ApplyDescriptionReset(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): null;
15356
15548
  /**
15357
15549
  * If the emote could not be played because the emoteName is not found in the HumanoidDescription for the humanoid or the Humanoid is in the wrong HumanoidState for emotes then this API would return false to indicate that the emote was not played. The API would return true to indicate that the emote was played successfully.
15358
15550
  * Tags: Yields
@@ -16120,7 +16312,7 @@ interface HumanoidDescription extends Instance {
16120
16312
  * * [SetEmotes](https://developer.roblox.com/en-us/api-reference/function/HumanoidDescription/SetEmotes) and [RemoveEmote](https://developer.roblox.com/en-us/api-reference/function/HumanoidDescription/RemoveEmote), which also manipulate what emotes have been added
16121
16313
  * * [EmotesChanged](https://developer.roblox.com/en-us/api-reference/event/HumanoidDescription/EmotesChanged), which fires after this function is called
16122
16314
  */
16123
- AddEmote(this: HumanoidDescription, name: string, assetId: number): void;
16315
+ AddEmote(this: HumanoidDescription, name: string, assetId: number): null;
16124
16316
  /**
16125
16317
  * Returns a table of an avatar's current accessories. If the second parameter (includeRigidAccessories) is true then the returned table will also include entries for rigid accessories from the rigid accessory properties.
16126
16318
  */
@@ -16182,11 +16374,11 @@ interface HumanoidDescription extends Instance {
16182
16374
  * * [SetEmotes](https://developer.roblox.com/en-us/api-reference/function/HumanoidDescription/SetEmotes) and [AddEmote](https://developer.roblox.com/en-us/api-reference/function/HumanoidDescription/AddEmote), which can add emotes that may be removed
16183
16375
  * * [GetEmotes](https://developer.roblox.com/en-us/api-reference/function/HumanoidDescription/GetEmotes), which can retrieve a dictionary of emotes that may be removed
16184
16376
  */
16185
- RemoveEmote(this: HumanoidDescription, name: string): void;
16377
+ RemoveEmote(this: HumanoidDescription, name: string): null;
16186
16378
  /**
16187
16379
  * Accepts a table that sets the accessories and related properties for an avatar. If the second parameter (includeRigidAccessories) is true, then this function can also be used to set the rigid accessories in the rigid accessory properties. In this case any table entry that does not have an Order will be considered a rigid accessory and put in the appropriate property according to the AccessoryType.
16188
16380
  */
16189
- SetAccessories(this: HumanoidDescription, accessories: Array<any>, includeRigidAccessories: boolean): void;
16381
+ SetAccessories(this: HumanoidDescription, accessories: Array<any>, includeRigidAccessories: boolean): null;
16190
16382
  /**
16191
16383
  * **SetEmotes** sets all of the emotes on this description given a table similar to that returned by [GetEmotes](https://developer.roblox.com/en-us/api-reference/function/HumanoidDescription/GetEmotes). It fires [EmotesChanged](https://developer.roblox.com/en-us/api-reference/event/HumanoidDescription/EmotesChanged)
16192
16384
  *
@@ -16354,191 +16546,14 @@ interface ImageDataExperimental extends Instance {
16354
16546
  * Tags: ReadOnly, NotReplicated
16355
16547
  */
16356
16548
  readonly TemporaryId: string;
16357
- Clear(this: ImageDataExperimental): void;
16358
- DrawCircle(this: ImageDataExperimental, center: Vector2, radius: number, color: Color3, alpha: number): void;
16359
- Resize(this: ImageDataExperimental, newSize: Vector2): void;
16360
- Rotate(this: ImageDataExperimental, degrees: number, resizeCanvas?: boolean): void;
16549
+ Clear(this: ImageDataExperimental): null;
16550
+ DrawCircle(this: ImageDataExperimental, center: Vector2, radius: number, color: Color3, alpha: number): null;
16551
+ Resize(this: ImageDataExperimental, newSize: Vector2): null;
16552
+ Rotate(this: ImageDataExperimental, degrees: number, resizeCanvas?: boolean): null;
16361
16553
  /**
16362
16554
  * Tags: Yields
16363
16555
  */
16364
- PopulateFromImageAsync(this: ImageDataExperimental, textureId: string): void;
16365
- }
16366
-
16367
- interface ImporterBaseSettings extends Instance {
16368
- /**
16369
- * **DO NOT USE!**
16370
- *
16371
- * This field exists to force TypeScript to recognize this as a nominal type
16372
- * @hidden
16373
- * @deprecated
16374
- */
16375
- readonly _nominal_ImporterBaseSettings: unique symbol;
16376
- /**
16377
- * Tags: ReadOnly, NotReplicated
16378
- */
16379
- readonly Id: string;
16380
- ImportName: string;
16381
- ShouldImport: boolean;
16382
- }
16383
-
16384
- interface ImporterAnimationSettings extends ImporterBaseSettings {
16385
- /**
16386
- * **DO NOT USE!**
16387
- *
16388
- * This field exists to force TypeScript to recognize this as a nominal type
16389
- * @hidden
16390
- * @deprecated
16391
- */
16392
- readonly _nominal_ImporterAnimationSettings: unique symbol;
16393
- }
16394
-
16395
- interface ImporterFacsSettings extends ImporterBaseSettings {
16396
- /**
16397
- * **DO NOT USE!**
16398
- *
16399
- * This field exists to force TypeScript to recognize this as a nominal type
16400
- * @hidden
16401
- * @deprecated
16402
- */
16403
- readonly _nominal_ImporterFacsSettings: unique symbol;
16404
- }
16405
-
16406
- interface ImporterGroupSettings extends ImporterBaseSettings {
16407
- /**
16408
- * **DO NOT USE!**
16409
- *
16410
- * This field exists to force TypeScript to recognize this as a nominal type
16411
- * @hidden
16412
- * @deprecated
16413
- */
16414
- readonly _nominal_ImporterGroupSettings: unique symbol;
16415
- Anchored: boolean;
16416
- ImportAsModelAsset: boolean;
16417
- InsertInWorkspace: boolean;
16418
- }
16419
-
16420
- interface ImporterJointSettings extends ImporterBaseSettings {
16421
- /**
16422
- * **DO NOT USE!**
16423
- *
16424
- * This field exists to force TypeScript to recognize this as a nominal type
16425
- * @hidden
16426
- * @deprecated
16427
- */
16428
- readonly _nominal_ImporterJointSettings: unique symbol;
16429
- }
16430
-
16431
- interface ImporterMaterialSettings extends ImporterBaseSettings {
16432
- /**
16433
- * **DO NOT USE!**
16434
- *
16435
- * This field exists to force TypeScript to recognize this as a nominal type
16436
- * @hidden
16437
- * @deprecated
16438
- */
16439
- readonly _nominal_ImporterMaterialSettings: unique symbol;
16440
- DiffuseFilePath: string;
16441
- /**
16442
- * Tags: ReadOnly, NotReplicated
16443
- */
16444
- readonly IsPbr: boolean;
16445
- MetalnessFilePath: string;
16446
- NormalFilePath: string;
16447
- RoughnessFilePath: string;
16448
- }
16449
-
16450
- interface ImporterMeshSettings extends ImporterBaseSettings {
16451
- /**
16452
- * **DO NOT USE!**
16453
- *
16454
- * This field exists to force TypeScript to recognize this as a nominal type
16455
- * @hidden
16456
- * @deprecated
16457
- */
16458
- readonly _nominal_ImporterMeshSettings: unique symbol;
16459
- Anchored: boolean;
16460
- /**
16461
- * Tags: ReadOnly, NotReplicated
16462
- */
16463
- readonly CageManifold: boolean;
16464
- CageMeshIntersectedPreview: boolean;
16465
- /**
16466
- * Tags: ReadOnly, NotReplicated
16467
- */
16468
- readonly CageMeshNotIntersected: boolean;
16469
- /**
16470
- * Tags: ReadOnly, NotReplicated
16471
- */
16472
- readonly CageNoOverlappingVertices: boolean;
16473
- CageNonManifoldPreview: boolean;
16474
- CageOverlappingVerticesPreview: boolean;
16475
- /**
16476
- * Tags: ReadOnly, NotReplicated
16477
- */
16478
- readonly CageUVMatched: boolean;
16479
- CageUVMisMatchedPreview: boolean;
16480
- /**
16481
- * Tags: ReadOnly, NotReplicated
16482
- */
16483
- readonly Dimensions: Vector3;
16484
- DoubleSided: boolean;
16485
- IgnoreVertexColors: boolean;
16486
- IrrelevantCageModifiedPreview: boolean;
16487
- MeshHoleDetectedPreview: boolean;
16488
- /**
16489
- * Tags: ReadOnly, NotReplicated
16490
- */
16491
- readonly MeshNoHoleDetected: boolean;
16492
- /**
16493
- * Tags: ReadOnly, NotReplicated
16494
- */
16495
- readonly NoIrrelevantCageModified: boolean;
16496
- /**
16497
- * Tags: ReadOnly, NotReplicated
16498
- */
16499
- readonly NoOuterCageFarExtendedFromMesh: boolean;
16500
- OuterCageFarExtendedFromMeshPreview: boolean;
16501
- /**
16502
- * Tags: ReadOnly, NotReplicated
16503
- */
16504
- readonly PolygonCount: number;
16505
- UseImportedPivot: boolean;
16506
- }
16507
-
16508
- interface ImporterRootSettings extends ImporterBaseSettings {
16509
- /**
16510
- * **DO NOT USE!**
16511
- *
16512
- * This field exists to force TypeScript to recognize this as a nominal type
16513
- * @hidden
16514
- * @deprecated
16515
- */
16516
- readonly _nominal_ImporterRootSettings: unique symbol;
16517
- AddModelToInventory: boolean;
16518
- Anchored: boolean;
16519
- ExistingPackageId: string;
16520
- /**
16521
- * Tags: ReadOnly, NotReplicated
16522
- */
16523
- readonly FileDimensions: Vector3;
16524
- ImportAsModelAsset: boolean;
16525
- ImportAsPackage: boolean;
16526
- InsertInWorkspace: boolean;
16527
- InsertWithScenePosition: boolean;
16528
- InvertNegativeFaces: boolean;
16529
- MergeMeshes: boolean;
16530
- /**
16531
- * Tags: ReadOnly, NotReplicated
16532
- */
16533
- readonly PolygonCount: number;
16534
- RigScale: Enum.RigScale;
16535
- RigType: Enum.RigType;
16536
- ScaleUnit: Enum.MeshScaleUnit;
16537
- UseSceneOriginAsCFrame: boolean;
16538
- UseSceneOriginAsPivot: boolean;
16539
- UsesCages: boolean;
16540
- WorldForward: Enum.NormalId;
16541
- WorldUp: Enum.NormalId;
16556
+ PopulateFromImageAsync(this: ImageDataExperimental, textureId: string): null;
16542
16557
  }
16543
16558
 
16544
16559
  interface IncrementalPatchBuilder extends Instance {
@@ -18206,18 +18221,18 @@ interface InsertService extends Instance {
18206
18221
  * Tags: Deprecated
18207
18222
  * @deprecated
18208
18223
  */
18209
- ApproveAssetId(this: InsertService, assetId: number): void;
18224
+ ApproveAssetId(this: InsertService, assetId: number): null;
18210
18225
  /**
18211
18226
  * Tags: Deprecated
18212
18227
  * @deprecated
18213
18228
  */
18214
- ApproveAssetVersionId(this: InsertService, assetVersionId: number): void;
18229
+ ApproveAssetVersionId(this: InsertService, assetVersionId: number): null;
18215
18230
  /**
18216
18231
  * The Insert function is an ancient method used to insert an [Instance](https://developer.roblox.com/en-us/api-reference/class/Instance) into Workspace.
18217
18232
  * Tags: Deprecated
18218
18233
  * @deprecated
18219
18234
  */
18220
- Insert(this: InsertService, instance: Instance): void;
18235
+ Insert(this: InsertService, instance: Instance): null;
18221
18236
  /**
18222
18237
  * Tags: Yields, Deprecated, [object Object]
18223
18238
  * @deprecated
@@ -18642,7 +18657,7 @@ interface Motor extends JointInstance {
18642
18657
  /**
18643
18658
  * Sets [Motor.DesiredAngle](https://developer.roblox.com/en-us/api-reference/property/Motor/DesiredAngle) of the motor.
18644
18659
  */
18645
- SetDesiredAngle(this: Motor, value: number): void;
18660
+ SetDesiredAngle(this: Motor, value: number): null;
18646
18661
  }
18647
18662
 
18648
18663
  /** **Motor6D** joins two [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) ([Part0](https://developer.roblox.com/en-us/api-reference/property/JointInstance/Part0) and [Part1](https://developer.roblox.com/en-us/api-reference/property/JointInstance/Part1)) together in an animatable way. The [Transform](https://developer.roblox.com/en-us/api-reference/property/Motor6D/Transform) property determines the offset between these parts. This can be set manually using [RunService.Stepped](https://developer.roblox.com/en-us/api-reference/event/RunService/Stepped) or through an [Animator](https://developer.roblox.com/en-us/api-reference/class/Animator).
@@ -18788,11 +18803,11 @@ interface JointsService extends Instance {
18788
18803
  /**
18789
18804
  * Will remove any 'create joints' that were made visible via the [JointsService:ShowPermissibleJoints](https://developer.roblox.com/en-us/api-reference/function/JointsService/ShowPermissibleJoints) method.
18790
18805
  */
18791
- ClearJoinAfterMoveJoints(this: JointsService): void;
18806
+ ClearJoinAfterMoveJoints(this: JointsService): null;
18792
18807
  /**
18793
18808
  * Updates all visible joints for the parts assigned by the [JointsService:SetJoinAfterMoveTarget](https://developer.roblox.com/en-us/api-reference/function/JointsService/SetJoinAfterMoveTarget) and [JointsService:SetJoinAfterMoveInstance](https://developer.roblox.com/en-us/api-reference/function/JointsService/SetJoinAfterMoveInstance) methods.
18794
18809
  */
18795
- CreateJoinAfterMoveJoints(this: JointsService): void;
18810
+ CreateJoinAfterMoveJoints(this: JointsService): null;
18796
18811
  /**
18797
18812
  * Sets the PVInstance that will be connected with the target PVInstance specified by [JointsService:SetJoinAfterMoveTarget](https://developer.roblox.com/en-us/api-reference/function/JointsService/SetJoinAfterMoveTarget).
18798
18813
  */
@@ -18804,7 +18819,7 @@ interface JointsService extends Instance {
18804
18819
  /**
18805
18820
  * When used it will visibly display a potential surface connection between the two [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart), which were set with [JointsService:SetJoinAfterMoveTarget](https://developer.roblox.com/en-us/api-reference/function/JointsService/SetJoinAfterMoveTarget) and [JointsService:SetJoinAfterMoveInstance](https://developer.roblox.com/en-us/api-reference/function/JointsService/SetJoinAfterMoveInstance).
18806
18821
  */
18807
- ShowPermissibleJoints(this: JointsService): void;
18822
+ ShowPermissibleJoints(this: JointsService): null;
18808
18823
  }
18809
18824
 
18810
18825
  /** A Keyframe holds the [Pose](https://developer.roblox.com/en-us/api-reference/class/Pose)s applied to joints in a [Model](https://developer.roblox.com/en-us/api-reference/class/Model) at a given point of time in an animation. [Keyframe](https://developer.roblox.com/en-us/api-reference/class/Keyframe)s are interpolated between during animation playback.
@@ -18863,7 +18878,7 @@ interface Keyframe extends Instance {
18863
18878
  *
18864
18879
  * Note, this function will not error when an instance other than a [Pose](https://developer.roblox.com/en-us/api-reference/class/Pose) is given as the pose parameter and will parent it successfully.
18865
18880
  */
18866
- AddPose(this: Keyframe, pose: Pose): void;
18881
+ AddPose(this: Keyframe, pose: Pose): null;
18867
18882
  /**
18868
18883
  * This function returns an array containing all [KeyframeMarkers](https://developer.roblox.com/en-us/api-reference/class/KeyframeMarker) that have been added to the [Keyframe](https://developer.roblox.com/en-us/api-reference/class/Keyframe). Note, this function will only return [instances](https://developer.roblox.com/en-us/api-reference/class/Instance) of type KeyframeMarker.
18869
18884
  *
@@ -18915,7 +18930,7 @@ interface Keyframe extends Instance {
18915
18930
  *
18916
18931
  * Note, this function will not error when an instance other than a [Pose](https://developer.roblox.com/en-us/api-reference/class/Pose) is given as the pose parameter.
18917
18932
  */
18918
- RemovePose(this: Keyframe, pose: Pose): void;
18933
+ RemovePose(this: Keyframe, pose: Pose): null;
18919
18934
  }
18920
18935
 
18921
18936
  /** A KeyframeMarker is an instance meant to represent an event that will eventually be fired when a [Keyframe](https://developer.roblox.com/en-us/api-reference/class/Keyframe) is hit.
@@ -19604,7 +19619,7 @@ interface Lighting extends Instance {
19604
19619
  * wait()
19605
19620
  * end
19606
19621
  */
19607
- SetMinutesAfterMidnight(this: Lighting, minutes: number): void;
19622
+ SetMinutesAfterMidnight(this: Lighting, minutes: number): null;
19608
19623
  /**
19609
19624
  * This event fires when a [Lighting](https://developer.roblox.com/en-us/api-reference/class/Lighting) property is changed or a [Sky](https://developer.roblox.com/en-us/api-reference/class/Sky) is added or removed from [Lighting](https://developer.roblox.com/en-us/api-reference/class/Lighting).
19610
19625
  *
@@ -20844,11 +20859,11 @@ interface LocalizationTable extends Instance {
20844
20859
  /**
20845
20860
  * Removes an entry from the LocalizationTable, using the specified _key_, _source_, and _context_ to narrow down the specific entry to be removed.
20846
20861
  */
20847
- RemoveEntry(this: LocalizationTable, key: string, source: string, context: string): void;
20862
+ RemoveEntry(this: LocalizationTable, key: string, source: string, context: string): null;
20848
20863
  /**
20849
20864
  * Removes a single language translation from the LocalizationTable, using the provided _key_, _source_, _context_, and _localeId_ to narrow down the specific entry to be removed.
20850
20865
  */
20851
- RemoveEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string): void;
20866
+ RemoveEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string): null;
20852
20867
  /**
20853
20868
  * Deprecated in favor of [LocalizationTable:RemoveEntry](https://developer.roblox.com/en-us/api-reference/function/LocalizationTable/RemoveEntry).
20854
20869
  *
@@ -20858,17 +20873,17 @@ interface LocalizationTable extends Instance {
20858
20873
  * Tags: Deprecated, [object Object]
20859
20874
  * @deprecated
20860
20875
  */
20861
- RemoveKey(this: LocalizationTable, key: string): void;
20876
+ RemoveKey(this: LocalizationTable, key: string): null;
20862
20877
  /**
20863
20878
  * Removes all translations from the LocalizationTable with the specified localeId.
20864
20879
  */
20865
- RemoveTargetLocale(this: LocalizationTable, localeId: string): void;
20880
+ RemoveTargetLocale(this: LocalizationTable, localeId: string): null;
20866
20881
  /**
20867
20882
  * The SetContents function sets the contents of the LocalizationTable, via the legacy JSON format.
20868
20883
  * Tags: Deprecated, [object Object]
20869
20884
  * @deprecated
20870
20885
  */
20871
- SetContents(this: LocalizationTable, contents: string): void;
20886
+ SetContents(this: LocalizationTable, contents: string): null;
20872
20887
  /**
20873
20888
  * Sets the contents of the LocalizationTable.
20874
20889
  *
@@ -20879,27 +20894,27 @@ interface LocalizationTable extends Instance {
20879
20894
  * Tags: Deprecated, [object Object]
20880
20895
  * @deprecated
20881
20896
  */
20882
- SetEntry(this: LocalizationTable, key: string, targetLocaleId: string, text: string): void;
20897
+ SetEntry(this: LocalizationTable, key: string, targetLocaleId: string, text: string): null;
20883
20898
  /**
20884
20899
  * Sets the **Context** field of a LocalizationTable entry to _newContext_, using the specified _key_, _source_, and _context_ to narrow down the entry that will have this change applied.
20885
20900
  */
20886
- SetEntryContext(this: LocalizationTable, key: string, source: string, context: string, newContext: string): void;
20901
+ SetEntryContext(this: LocalizationTable, key: string, source: string, context: string, newContext: string): null;
20887
20902
  /**
20888
20903
  * Sets the **Example** field of a LocalizationTable entry to _example_, using the specified _key_, _source_, and _context_ to narrow down the entry that will have this change applied.
20889
20904
  */
20890
- SetEntryExample(this: LocalizationTable, key: string, source: string, context: string, example: string): void;
20905
+ SetEntryExample(this: LocalizationTable, key: string, source: string, context: string, example: string): null;
20891
20906
  /**
20892
20907
  * Sets the **Key** field of a LocalizationTable entry to _newKey_, using the specified _key_, _source_, and _context_ to narrow down the entry that will have this change applied.
20893
20908
  */
20894
- SetEntryKey(this: LocalizationTable, key: string, source: string, context: string, newKey: string): void;
20909
+ SetEntryKey(this: LocalizationTable, key: string, source: string, context: string, newKey: string): null;
20895
20910
  /**
20896
20911
  * Sets the **Source** field of a LocalizationTable entry to _newSource_, using the specified _key_, _source_, and _context_ to narrow down the entry that will have this change applied.
20897
20912
  */
20898
- SetEntrySource(this: LocalizationTable, key: string, source: string, context: string, newSource: string): void;
20913
+ SetEntrySource(this: LocalizationTable, key: string, source: string, context: string, newSource: string): null;
20899
20914
  /**
20900
20915
  * Sets the text of the specified localeId in a LocalizationTable entry, using the specified _key_, _source_, and _context_ to narrow down the entry that will have this change applied.
20901
20916
  */
20902
- SetEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string, text: string): void;
20917
+ SetEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string, text: string): null;
20903
20918
  }
20904
20919
 
20905
20920
  interface CloudLocalizationTable extends LocalizationTable {
@@ -21166,11 +21181,11 @@ interface MarketplaceService extends Instance {
21166
21181
  /**
21167
21182
  * Used to prompt a user to purchase a bundle with the given bundleId
21168
21183
  */
21169
- PromptBundlePurchase(this: MarketplaceService, player: Player, bundleId: number): void;
21184
+ PromptBundlePurchase(this: MarketplaceService, player: Player, bundleId: number): null;
21170
21185
  /**
21171
21186
  * Used to prompt a user to purchase a game pass with the given assetId.
21172
21187
  */
21173
- PromptGamePassPurchase(this: MarketplaceService, player: Player, gamePassId: number): void;
21188
+ PromptGamePassPurchase(this: MarketplaceService, player: Player, gamePassId: number): null;
21174
21189
  /**
21175
21190
  * Used to prompt a user to purchase Premium. If the user is already premium, the user will receive an error message “You are already subscribed to Roblox Premium! Please try again.”
21176
21191
  *
@@ -21184,7 +21199,7 @@ interface MarketplaceService extends Instance {
21184
21199
  * * [MarketplaceService.PromptPremiumPurchaseFinished](https://developer.roblox.com/en-us/api-reference/event/MarketplaceService/PromptPremiumPurchaseFinished), fires when the Premium purchase UI closes
21185
21200
  * * [Players.PlayerMembershipChanged](https://developer.roblox.com/en-us/api-reference/event/Players/PlayerMembershipChanged), fires when the game server recognizes that a player's membership has changed
21186
21201
  */
21187
- PromptPremiumPurchase(this: MarketplaceService, player: Player): void;
21202
+ PromptPremiumPurchase(this: MarketplaceService, player: Player): null;
21188
21203
  /**
21189
21204
  * Used to prompt a user to purchase a product with the given product id.
21190
21205
  */
@@ -21213,8 +21228,8 @@ interface MarketplaceService extends Instance {
21213
21228
  equipIfPurchased?: boolean,
21214
21229
  currencyType?: CastsToEnum<Enum.CurrencyType>,
21215
21230
  ): void;
21216
- PromptSubscriptionCancellation(this: MarketplaceService, player: Player, subscriptionId: number): void;
21217
- PromptSubscriptionPurchase(this: MarketplaceService, player: Player, subscriptionId: number): void;
21231
+ PromptSubscriptionCancellation(this: MarketplaceService, player: Player, subscriptionId: number): null;
21232
+ PromptSubscriptionPurchase(this: MarketplaceService, player: Player, subscriptionId: number): null;
21218
21233
  /**
21219
21234
  * Returns a [Pages](https://developer.roblox.com/en-us/api-reference/class/Pages) object which contains information for all of the current game's developer products.
21220
21235
  * Tags: Yields
@@ -21584,7 +21599,7 @@ interface MaterialService extends Instance {
21584
21599
  readonly _nominal_MaterialService: unique symbol;
21585
21600
  GetBaseMaterialOverride(this: MaterialService, material: CastsToEnum<Enum.Material>): string;
21586
21601
  GetMaterialVariant(this: MaterialService, material: CastsToEnum<Enum.Material>, name: string): MaterialVariant;
21587
- SetBaseMaterialOverride(this: MaterialService, material: CastsToEnum<Enum.Material>, name: string): void;
21602
+ SetBaseMaterialOverride(this: MaterialService, material: CastsToEnum<Enum.Material>, name: string): null;
21588
21603
  }
21589
21604
 
21590
21605
  interface MaterialVariant extends Instance {
@@ -21618,7 +21633,7 @@ interface MemoryStoreQueue extends Instance {
21618
21633
  * Adds an item to the queue.
21619
21634
  * Tags: Yields
21620
21635
  */
21621
- AddAsync(this: MemoryStoreQueue, value: unknown, expiration: number, priority?: number): void;
21636
+ AddAsync(this: MemoryStoreQueue, value: unknown, expiration: number, priority?: number): null;
21622
21637
  /**
21623
21638
  * Reads one or more items from the queue as a single atomic operation.
21624
21639
  *
@@ -21635,7 +21650,7 @@ interface MemoryStoreQueue extends Instance {
21635
21650
  * Removes an item or items previously read from the queue. This method uses the identifier returned by [MemoryStoreQueue:ReadAsync](https://developer.roblox.com/en-us/api-reference/function/MemoryStoreQueue/ReadAsync) to identify the items to remove. If called after the invisibility timeout has expired, the call has no effect.
21636
21651
  * Tags: Yields
21637
21652
  */
21638
- RemoveAsync(this: MemoryStoreQueue, id: string): void;
21653
+ RemoveAsync(this: MemoryStoreQueue, id: string): null;
21639
21654
  }
21640
21655
 
21641
21656
  /** A top-level singleton class which exposes methods to access specific primitives within the MemoryStoreService. Use it for any data that rapidly changes that other servers can restore, such as global leaderboards, matchmaking queues, and auction houses.
@@ -21695,7 +21710,7 @@ interface MemoryStoreSortedMap extends Instance {
21695
21710
  * For a more in-depth look, take a look at the [Memory Store](https://developer.roblox.com/en-us/articles/memory-store) article.
21696
21711
  * Tags: Yields
21697
21712
  */
21698
- RemoveAsync(this: MemoryStoreSortedMap, key: string): void;
21713
+ RemoveAsync(this: MemoryStoreSortedMap, key: string): null;
21699
21714
  /**
21700
21715
  * Sets the value of the key overwriting any existing key value.
21701
21716
  * Tags: Yields
@@ -21738,7 +21753,7 @@ interface MeshDataExperimental extends Instance {
21738
21753
  /**
21739
21754
  * Tags: Yields
21740
21755
  */
21741
- PopulateFromMeshAsync(this: MeshDataExperimental, meshId: string): void;
21756
+ PopulateFromMeshAsync(this: MeshDataExperimental, meshId: string): null;
21742
21757
  }
21743
21758
 
21744
21759
  interface MessageBusConnection extends Instance {
@@ -21818,7 +21833,7 @@ interface MessagingService extends Instance {
21818
21833
  * * [MessagingService:SubscribeAsync](https://developer.roblox.com/en-us/api-reference/function/MessagingService/SubscribeAsync), begins listening to the given topic
21819
21834
  * Tags: Yields
21820
21835
  */
21821
- PublishAsync(this: MessagingService, topic: string, message: unknown): void;
21836
+ PublishAsync(this: MessagingService, topic: string, message: unknown): null;
21822
21837
  /**
21823
21838
  * This function registers a callback to begin listening to the given topic. The callback is invoked when a topic receives a message. It can be called multiple times for the same topic.
21824
21839
  *
@@ -22434,7 +22449,7 @@ interface PVInstance extends Instance {
22434
22449
  *
22435
22450
  * [Models](https://developer.roblox.com/en-us/api-reference/class/Model) and [BaseParts](https://developer.roblox.com/en-us/api-reference/class/BasePart) are both [PVInstances](https://developer.roblox.com/en-us/api-reference/class/PVInstance) (“Position Velocity Instances”) and so both have this function.
22436
22451
  */
22437
- PivotTo(this: PVInstance, targetCFrame: CFrame): void;
22452
+ PivotTo(this: PVInstance, targetCFrame: CFrame): null;
22438
22453
  }
22439
22454
 
22440
22455
  /** BasePart is an abstract base class for in-world objects that render and are physically simulated while in the [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace). There are several implementations of BasePart, the most common is [Part](https://developer.roblox.com/en-us/api-reference/class/Part), a simple 6-face rectangular prism. Others include [SpawnLocation](https://developer.roblox.com/en-us/api-reference/class/SpawnLocation), [WedgePart](https://developer.roblox.com/en-us/api-reference/class/WedgePart) and the singleton [Terrain](https://developer.roblox.com/en-us/api-reference/class/Terrain) object within the [Workspace](https://developer.roblox.com/en-us/api-reference/class/Workspace). Most of the time, when documentation refers to a part, most BasePart implementations will work and not just [Part](https://developer.roblox.com/en-us/api-reference/class/Part).
@@ -22669,7 +22684,8 @@ interface BasePart extends PVInstance {
22669
22684
  * The CollisionGroupId property describes the ID number of the part's collision group. Parts start off in the Default group whose ID is 0. Although this property can be directly changed, it is recommended to instead manipulate the collision group of a part using the **name** of the group with the [PhysicsService:SetPartCollisionGroup](https://developer.roblox.com/en-us/api-reference/function/PhysicsService/SetPartCollisionGroup) function. You can find the ID of a collision group by using [PhysicsService:GetCollisionGroupId](https://developer.roblox.com/en-us/api-reference/function/PhysicsService/GetCollisionGroupId).
22670
22685
  *
22671
22686
  * This value cannot be negative, and cannot exceed [PhysicsService:GetMaxCollisionGroups](https://developer.roblox.com/en-us/api-reference/function/PhysicsService/GetMaxCollisionGroups). Invalid IDs are clamped.
22672
- * Tags: NotReplicated
22687
+ * Tags: NotReplicated, Deprecated, [object Object]
22688
+ * @deprecated
22673
22689
  */
22674
22690
  CollisionGroupId: number;
22675
22691
  /**
@@ -23157,7 +23173,7 @@ interface BasePart extends PVInstance {
23157
23173
  *
23158
23174
  * If the part is owned by the server, this function must be called on a server [Script](https://developer.roblox.com/en-us/api-reference/class/Script). If the part is owned by a client, this function must be called on a \`LocalScript\`\`.
23159
23175
  */
23160
- ApplyAngularImpulse(this: BasePart, impulse: Vector3): void;
23176
+ ApplyAngularImpulse(this: BasePart, impulse: Vector3): null;
23161
23177
  /**
23162
23178
  * This function applies an instant force impulse to this [part's](https://developer.roblox.com/en-us/api-reference/class/BasePart) assembly.
23163
23179
  *
@@ -23167,7 +23183,7 @@ interface BasePart extends PVInstance {
23167
23183
  *
23168
23184
  * If the part is owned by the server, this function must be called on a server [Script](https://developer.roblox.com/en-us/api-reference/class/Script). If the part is owned by a client, this function must be called on a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript).
23169
23185
  */
23170
- ApplyImpulse(this: BasePart, impulse: Vector3): void;
23186
+ ApplyImpulse(this: BasePart, impulse: Vector3): null;
23171
23187
  /**
23172
23188
  * This function pplies an instant force impulse to this [part's](https://developer.roblox.com/en-us/api-reference/class/BasePart) assembly, at the specified position in world space.
23173
23189
  *
@@ -23177,13 +23193,13 @@ interface BasePart extends PVInstance {
23177
23193
  *
23178
23194
  * If the part is owned by the server, this function must be called on a server [Script](https://developer.roblox.com/en-us/api-reference/class/Script). If the part is owned by a client, this function must be called on a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript).
23179
23195
  */
23180
- ApplyImpulseAtPosition(this: BasePart, impulse: Vector3, position: Vector3): void;
23196
+ ApplyImpulseAtPosition(this: BasePart, impulse: Vector3, position: Vector3): null;
23181
23197
  /**
23182
23198
  * Breaks any surface connection with any adjacent part, including [Weld](https://developer.roblox.com/en-us/api-reference/class/Weld) and other [JointInstance](https://developer.roblox.com/en-us/api-reference/class/JointInstance).
23183
23199
  * Tags: Deprecated
23184
23200
  * @deprecated
23185
23201
  */
23186
- BreakJoints(this: BasePart): void;
23202
+ BreakJoints(this: BasePart): null;
23187
23203
  /**
23188
23204
  * Returns whether the parts can collide with each other or not. This function takes into account the collision groups of the two parts.
23189
23205
  *
@@ -23293,7 +23309,7 @@ interface BasePart extends PVInstance {
23293
23309
  * Tags: Deprecated
23294
23310
  * @deprecated
23295
23311
  */
23296
- MakeJoints(this: BasePart): void;
23312
+ MakeJoints(this: BasePart): null;
23297
23313
  /**
23298
23314
  * Changes the size of an object just like using the Studio resize tool.
23299
23315
  */
@@ -23614,7 +23630,7 @@ interface Seat extends Part {
23614
23630
  /**
23615
23631
  * Forces the character with the specified [Humanoid](https://developer.roblox.com/api-reference/class/Humanoid "Humanoid") to sit in the Seat.
23616
23632
  */
23617
- Sit(this: Seat, humanoid: Humanoid): void;
23633
+ Sit(this: Seat, humanoid: Humanoid): null;
23618
23634
  /**
23619
23635
  * Tags: Hidden
23620
23636
  */
@@ -23660,7 +23676,7 @@ interface SkateboardPlatform extends Part {
23660
23676
  /**
23661
23677
  * Adds ''impulseWorld'' to the SkateboardPlatform's [BasePart.Velocity](https://developer.roblox.com/en-us/api-reference/property/BasePart/Velocity).
23662
23678
  */
23663
- ApplySpecificImpulse(this: SkateboardPlatform, impulseWorld: Vector3): void;
23679
+ ApplySpecificImpulse(this: SkateboardPlatform, impulseWorld: Vector3): null;
23664
23680
  /**
23665
23681
  * Fired when the skateboard is equipped.
23666
23682
  */
@@ -23823,7 +23839,7 @@ interface Terrain extends BasePart {
23823
23839
  * Tags: Deprecated
23824
23840
  * @deprecated
23825
23841
  */
23826
- AutowedgeCells(this: Terrain, region: Region3int16): void;
23842
+ AutowedgeCells(this: Terrain, region: Region3int16): null;
23827
23843
  /**
23828
23844
  * Returns the world position of the center of the terrain cell (x, y, z).
23829
23845
  */
@@ -23835,7 +23851,7 @@ interface Terrain extends BasePart {
23835
23851
  /**
23836
23852
  * Clears the terrain.
23837
23853
  */
23838
- Clear(this: Terrain): void;
23854
+ Clear(this: Terrain): null;
23839
23855
  /**
23840
23856
  * Stores a chunk of terrain into a [TerrainRegion](https://developer.roblox.com/en-us/api-reference/class/TerrainRegion) object so it can be loaded back later. Note: [TerrainRegion](https://developer.roblox.com/en-us/api-reference/class/TerrainRegion) data does not replicate between server and client.
23841
23857
  */
@@ -23847,11 +23863,11 @@ interface Terrain extends BasePart {
23847
23863
  /**
23848
23864
  * Fills a ball of smooth terrain in a given space.
23849
23865
  */
23850
- FillBall(this: Terrain, center: Vector3, radius: number, material: CastsToEnum<Enum.Material>): void;
23866
+ FillBall(this: Terrain, center: Vector3, radius: number, material: CastsToEnum<Enum.Material>): null;
23851
23867
  /**
23852
23868
  * Fills a block of smooth terrain with a given location, rotation, size, and material.
23853
23869
  */
23854
- FillBlock(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): void;
23870
+ FillBlock(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): null;
23855
23871
  /**
23856
23872
  * Fills a cylinder of smooth terrain in a given space. The space is defined using a CFrame, height, and radius.
23857
23873
  *
@@ -23860,11 +23876,11 @@ interface Terrain extends BasePart {
23860
23876
  *
23861
23877
  * workspace.Terrain:FillCylinder(CFrame.new(0, 50, 0), 5, 30, Enum.Material.Asphalt)
23862
23878
  */
23863
- FillCylinder(this: Terrain, cframe: CFrame, height: number, radius: number, material: CastsToEnum<Enum.Material>): void;
23879
+ FillCylinder(this: Terrain, cframe: CFrame, height: number, radius: number, material: CastsToEnum<Enum.Material>): null;
23864
23880
  /**
23865
23881
  * Fills a [Region3](https://developer.roblox.com/api-reference/datatype/Region3 "Region3") space with smooth terrain.
23866
23882
  */
23867
- FillRegion(this: Terrain, region: Region3, resolution: number, material: CastsToEnum<Enum.Material>): void;
23883
+ FillRegion(this: Terrain, region: Region3, resolution: number, material: CastsToEnum<Enum.Material>): null;
23868
23884
  /**
23869
23885
  * **FillWedge** fills a wedge-shaped volume of Terrain with the given [Material](https://developer.roblox.com/en-us/api-reference/enum/Material) and the area's CFrame and Size. The orientation of the wedge is the same as an equivalent [WedgePart](https://developer.roblox.com/en-us/api-reference/class/WedgePart).
23870
23886
  *
@@ -23874,7 +23890,7 @@ interface Terrain extends BasePart {
23874
23890
  *
23875
23891
  * workspace.Terrain:FillWedge(CFrame.new(0, 50, 0), Vector3.new(20, 20, 20), Enum.Material.Asphalt)
23876
23892
  */
23877
- FillWedge(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): void;
23893
+ FillWedge(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): null;
23878
23894
  /**
23879
23895
  * Returns the closest CellMaterial from the legacy terrain engine that matches the smooth terrain voxel specified. CellBlock will always be ''Solid'' and CellOrientation will always be ''NegZ''.
23880
23896
  * Tags: Deprecated
@@ -23894,7 +23910,7 @@ interface Terrain extends BasePart {
23894
23910
  /**
23895
23911
  * Applies a chunk of terrain to the Terrain object. Note: [TerrainRegion](https://developer.roblox.com/en-us/api-reference/class/TerrainRegion) data does not replicate between server and client.
23896
23912
  */
23897
- PasteRegion(this: Terrain, region: TerrainRegion, corner: Vector3int16, pasteEmptyCells: boolean): void;
23913
+ PasteRegion(this: Terrain, region: TerrainRegion, corner: Vector3int16, pasteEmptyCells: boolean): null;
23898
23914
  /**
23899
23915
  * Returns a certain region of [smooth terrain](https://developer.roblox.com/articles/Intro-To-Terrain) in [table format](https://developer.roblox.com/articles/Scripting-With-Terrain#reading-and-writing-voxels). Both of the returned arrays have an additional `Size` property, a [Vector3](https://developer.roblox.com/en-us/api-reference/datatype/Vector3).
23900
23916
  * Tags: CustomLuaState
@@ -23912,7 +23928,7 @@ interface Terrain extends BasePart {
23912
23928
  *
23913
23929
  * When calling this method, the `resolution` parameter must be exactly 4. Additionally, the Region3 must be aligned to the terrain materials grid, i.e. the components of the Region3's minimum and maximum points must be divisible by 4. Use `Region3:ExpandToGrid` to make a region compatible with this function.
23914
23930
  */
23915
- ReplaceMaterial(this: Terrain, region: Region3, resolution: number, sourceMaterial: CastsToEnum<Enum.Material>, targetMaterial: CastsToEnum<Enum.Material>): void;
23931
+ ReplaceMaterial(this: Terrain, region: Region3, resolution: number, sourceMaterial: CastsToEnum<Enum.Material>, targetMaterial: CastsToEnum<Enum.Material>): null;
23916
23932
  /**
23917
23933
  * Sets the occupancy of the specified terrain voxel to 1, and sets it's material to the closest smooth terrain material that matches the CellMaterial.
23918
23934
  *
@@ -23920,7 +23936,7 @@ interface Terrain extends BasePart {
23920
23936
  * Tags: Deprecated
23921
23937
  * @deprecated
23922
23938
  */
23923
- SetCell(this: Terrain, x: number, y: number, z: number, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): void;
23939
+ SetCell(this: Terrain, x: number, y: number, z: number, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): null;
23924
23940
  /**
23925
23941
  * Sets the occupancy of all terrain voxels in the specified region to 1, and sets their materials to the closest smooth terrain material that matches the CellMaterial.
23926
23942
  *
@@ -23928,11 +23944,11 @@ interface Terrain extends BasePart {
23928
23944
  * Tags: Deprecated
23929
23945
  * @deprecated
23930
23946
  */
23931
- SetCells(this: Terrain, region: Region3int16, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): void;
23947
+ SetCells(this: Terrain, region: Region3int16, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): null;
23932
23948
  /**
23933
23949
  * Sets current terrain material color for specified terrain material. Terrain material will shift its base color toward specified color.
23934
23950
  */
23935
- SetMaterialColor(this: Terrain, material: CastsToEnum<Enum.Material>, value: Color3): void;
23951
+ SetMaterialColor(this: Terrain, material: CastsToEnum<Enum.Material>, value: Color3): null;
23936
23952
  /**
23937
23953
  * Sets the specified terrain voxel's material to ''Water'' and sets its occupancy to 1. _WaterDirection_ and _WaterForce_ no longer have any effect.
23938
23954
  *
@@ -23940,7 +23956,7 @@ interface Terrain extends BasePart {
23940
23956
  * Tags: Deprecated
23941
23957
  * @deprecated
23942
23958
  */
23943
- SetWaterCell(this: Terrain, x: number, y: number, z: number, force: CastsToEnum<Enum.WaterForce>, direction: CastsToEnum<Enum.WaterDirection>): void;
23959
+ SetWaterCell(this: Terrain, x: number, y: number, z: number, force: CastsToEnum<Enum.WaterForce>, direction: CastsToEnum<Enum.WaterDirection>): null;
23944
23960
  /**
23945
23961
  * Returns the grid cell location that contains the point **position**.
23946
23962
  */
@@ -24107,7 +24123,7 @@ interface MeshPart extends TriangleMeshPart {
24107
24123
  * A mesh can only be textured if the mesh has been UV mapped. UV mapping refers to the practice of projecting a texture map onto a mesh. This cannot be done using Roblox Studio and has to be done using an external 3D modelling application such as [Blender](https://www.blender.org/).
24108
24124
  */
24109
24125
  TextureID: string;
24110
- ApplyMesh(this: MeshPart, meshPart: MeshPart): void;
24126
+ ApplyMesh(this: MeshPart, meshPart: MeshPart): null;
24111
24127
  }
24112
24128
 
24113
24129
  /** An abstract class that all parts based on [solid modeling](https://developer.roblox.com/en-us/articles/3d-modeling-with-parts) inherit from. */
@@ -24295,7 +24311,7 @@ interface VehicleSeat extends BasePart {
24295
24311
  /**
24296
24312
  * Forces the character with the specified [Humanoid](https://developer.roblox.com/api-reference/class/Humanoid "Humanoid") to sit in the VehicleSeat.
24297
24313
  */
24298
- Sit(this: VehicleSeat, humanoid: Humanoid): void;
24314
+ Sit(this: VehicleSeat, humanoid: Humanoid): null;
24299
24315
  /**
24300
24316
  * Tags: Hidden
24301
24317
  */
@@ -24358,7 +24374,7 @@ interface Model extends PVInstance {
24358
24374
  * Tags: NotReplicated
24359
24375
  */
24360
24376
  WorldPivot: CFrame;
24361
- AddPersistentPlayer(this: Model, playerInstance?: Player): void;
24377
+ AddPersistentPlayer(this: Model, playerInstance?: Player): null;
24362
24378
  /**
24363
24379
  * Breaks connections between `BaseParts`, including surface connections with any adjacent parts, [WeldConstraint](https://developer.roblox.com/en-us/api-reference/class/WeldConstraint)s, and all [Weld](https://developer.roblox.com/en-us/api-reference/class/Weld)s and other [JointInstance](https://developer.roblox.com/en-us/api-reference/class/JointInstance)s.
24364
24380
  *
@@ -24368,7 +24384,7 @@ interface Model extends PVInstance {
24368
24384
  * Tags: Deprecated
24369
24385
  * @deprecated
24370
24386
  */
24371
- BreakJoints(this: Model): void;
24387
+ BreakJoints(this: Model): null;
24372
24388
  /**
24373
24389
  * This function returns a description of a volume that contains all [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) children within a [Model](https://developer.roblox.com/en-us/api-reference/class/Model). The volume's orientation is based on the orientation of the [PrimaryPart](https://developer.roblox.com/en-us/api-reference/property/Model/PrimaryPart), and matches the selection box rendered in Studio when the model is selected. The description is provided in the form of a [CFrame](https://developer.roblox.com/en-us/api-reference/datatype/CFrame) **orientation** and [Vector3](https://developer.roblox.com/en-us/api-reference/datatype/Vector3) **size**.
24374
24390
  *
@@ -24449,7 +24465,7 @@ interface Model extends PVInstance {
24449
24465
  * Tags: Deprecated
24450
24466
  * @deprecated
24451
24467
  */
24452
- MakeJoints(this: Model): void;
24468
+ MakeJoints(this: Model): null;
24453
24469
  /**
24454
24470
  * Moves the [Model.PrimaryPart](https://developer.roblox.com/en-us/api-reference/property/Model/PrimaryPart) to the given position. If a primary part has not been specified then the root part of the model will be used. Because the root part is not deterministic, it is recommended to always set a [Model.PrimaryPart](https://developer.roblox.com/en-us/api-reference/property/Model/PrimaryPart) when using MoveTo.
24455
24471
  *
@@ -24457,21 +24473,21 @@ interface Model extends PVInstance {
24457
24473
  *
24458
24474
  * Note that rotation is not preserved when moving a model with MoveTo. It is recommended to use either [Model:TranslateBy](https://developer.roblox.com/en-us/api-reference/function/Model/TranslateBy) or [Model:SetPrimaryPartCFrame](https://developer.roblox.com/en-us/api-reference/function/Model/SetPrimaryPartCFrame) if the current rotation of the model needs to be preserved.
24459
24475
  */
24460
- MoveTo(this: Model, position: Vector3): void;
24461
- RemovePersistentPlayer(this: Model, playerInstance?: Player): void;
24476
+ MoveTo(this: Model, position: Vector3): null;
24477
+ RemovePersistentPlayer(this: Model, playerInstance?: Player): null;
24462
24478
  /**
24463
24479
  * Resets the rotation of the model's parts to the previously set identity rotation, which is done through the [Model:SetIdentityOrientation](https://developer.roblox.com/en-us/api-reference/function/Model/SetIdentityOrientation) method.
24464
24480
  * Tags: Deprecated, [object Object]
24465
24481
  * @deprecated
24466
24482
  */
24467
- ResetOrientationToIdentity(this: Model): void;
24468
- ScaleTo(this: Model, newScaleFactor: number): void;
24483
+ ResetOrientationToIdentity(this: Model): null;
24484
+ ScaleTo(this: Model, newScaleFactor: number): null;
24469
24485
  /**
24470
24486
  * Sets the identity rotation of the given model, allowing you to reset the rotation of the entire model later, through the use of the `ResetOrientationToIdentity` method.
24471
24487
  * Tags: Deprecated, [object Object]
24472
24488
  * @deprecated
24473
24489
  */
24474
- SetIdentityOrientation(this: Model): void;
24490
+ SetIdentityOrientation(this: Model): null;
24475
24491
  /**
24476
24492
  * This function has been superseded by [PVInstance:PivotTo](https://developer.roblox.com/en-us/api-reference/function/PVInstance/PivotTo) which acts as a more performant replacement and does not change your code's behavior. Use [PVInstance:PivotTo](https://developer.roblox.com/en-us/api-reference/function/PVInstance/PivotTo) for new work and migrate your existing [Model:SetPrimaryPartCFrame](https://developer.roblox.com/en-us/api-reference/function/Model/SetPrimaryPartCFrame) calls when convenient.
24477
24493
  *
@@ -24489,13 +24505,13 @@ interface Model extends PVInstance {
24489
24505
  * Tags: Deprecated, [object Object]
24490
24506
  * @deprecated
24491
24507
  */
24492
- SetPrimaryPartCFrame(this: Model, cframe: CFrame): void;
24508
+ SetPrimaryPartCFrame(this: Model, cframe: CFrame): null;
24493
24509
  /**
24494
24510
  * Shifts a [Model](https://developer.roblox.com/en-us/api-reference/class/Model) by the given `Vector3` offset, preserving the [Model](https://developer.roblox.com/en-us/api-reference/class/Model)'s orientation. If another [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) or [Terrain](https://developer.roblox.com/en-us/api-reference/class/Terrain) already exists at the new position then the [Model](https://developer.roblox.com/en-us/api-reference/class/Model) will overlap said object.
24495
24511
  *
24496
24512
  * The translation is applied in world space rather than object space, meaning even if the model's parts are orientated differently it will still move along the standard axis.
24497
24513
  */
24498
- TranslateBy(this: Model, delta: Vector3): void;
24514
+ TranslateBy(this: Model, delta: Vector3): null;
24499
24515
  }
24500
24516
 
24501
24517
  /** This is the Actor Class */
@@ -24510,7 +24526,7 @@ interface Actor extends Model {
24510
24526
  readonly _nominal_Actor: unique symbol;
24511
24527
  BindToMessage(this: Actor, topic: string, callback: Callback): RBXScriptConnection;
24512
24528
  BindToMessageParallel(this: Actor, topic: string, callback: Callback): RBXScriptConnection;
24513
- SendMessage(this: Actor, topic: string, message: Array<any>): void;
24529
+ SendMessage(this: Actor, topic: string, message: Array<any>): null;
24514
24530
  }
24515
24531
 
24516
24532
  /** BackpackItem is an abstract class for backpack items such as HopperBins and Tools. */
@@ -24665,7 +24681,7 @@ interface Tool extends BackpackItem {
24665
24681
  *
24666
24682
  * tool.Activated:Connect(toolActivated)
24667
24683
  */
24668
- Activate(this: Tool): void;
24684
+ Activate(this: Tool): null;
24669
24685
  /**
24670
24686
  * The Deactivate function simulates the deactivation of a [Tool](https://developer.roblox.com/en-us/api-reference/class/Tool). The Tool must be equipped for this function to work.
24671
24687
  *
@@ -24687,7 +24703,7 @@ interface Tool extends BackpackItem {
24687
24703
  *
24688
24704
  * tool.Deactivated:Connect(toolDeactivated)
24689
24705
  */
24690
- Deactivate(this: Tool): void;
24706
+ Deactivate(this: Tool): null;
24691
24707
  /**
24692
24708
  * **Activated** is not called if the Ctrl key is pressed during a click.
24693
24709
  *
@@ -24774,7 +24790,7 @@ interface WorldRoot extends Model {
24774
24790
  *
24775
24791
  * The third argument of BulkMoveTo allows you to further speed up movement of the parts by specifying the [Position](https://developer.roblox.com/en-us/api-reference/property/BasePart/Position) and [Orientation](https://developer.roblox.com/en-us/api-reference/property/BasePart/Orientation). Changed events should not be fired on the parts. If you specify FireCFrameChanged as the BulkMoveMode then only CFrame .Changed will be fired, rather than changed firing for Position, Orientation, and CFrame like it normally does.
24776
24792
  */
24777
- BulkMoveTo(this: WorldRoot, partList: Array<Instance>, cframeList: Array<any>, eventMode?: CastsToEnum<Enum.BulkMoveMode>): void;
24793
+ BulkMoveTo(this: WorldRoot, partList: Array<Instance>, cframeList: Array<any>, eventMode?: CastsToEnum<Enum.BulkMoveMode>): null;
24778
24794
  /**
24779
24795
  * **FindPartOnRay** uses [raycasting](https://developer.roblox.com/articles/Raycasting) to find the first [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) or [Terrain](https://developer.roblox.com/en-us/api-reference/class/Terrain) cell intersecting with a given [Ray](https://developer.roblox.com/en-us/api-reference/datatype/Ray). This function returns the [BasePart](https://developer.roblox.com/en-us/api-reference/class/BasePart) or terrain cell hit, the point of intersection, the surface normal at the point of intersection, and the associated [Material](https://developer.roblox.com/en-us/api-reference/enum/Material) hit.
24780
24796
  *
@@ -25323,7 +25339,7 @@ interface Workspace extends WorldRoot {
25323
25339
  *
25324
25340
  * Developers interested in seeing how this function is used in the Roblox Studio should see the [Studio Tools GitHub repository](https://github.com/Roblox/Studio-Tools).
25325
25341
  */
25326
- JoinToOutsiders(this: Workspace, objects: Array<Instance>, jointType: CastsToEnum<Enum.JointCreationMode>): void;
25342
+ JoinToOutsiders(this: Workspace, objects: Array<Instance>, jointType: CastsToEnum<Enum.JointCreationMode>): null;
25327
25343
  /**
25328
25344
  * Returns true if the game has the PGS Physics solver enabled.
25329
25345
  *
@@ -25360,7 +25376,7 @@ interface Workspace extends WorldRoot {
25360
25376
  *
25361
25377
  * Developers interested in seeing how this function is used in the Roblox Studio should see the [Studio Tools GitHub repository](https://github.com/Roblox/Studio-Tools).
25362
25378
  */
25363
- UnjoinFromOutsiders(this: Workspace, objects: Array<Instance>): void;
25379
+ UnjoinFromOutsiders(this: Workspace, objects: Array<Instance>): null;
25364
25380
  readonly PersistentLoaded: RBXScriptSignal<(player: Player) => void>;
25365
25381
  }
25366
25382
 
@@ -25466,7 +25482,7 @@ interface Pages<T = unknown> extends Instance {
25466
25482
  * Iterates to the next page in the pages object, if possible.
25467
25483
  * Tags: Yields
25468
25484
  */
25469
- AdvanceToNextPageAsync(this: Pages): void;
25485
+ AdvanceToNextPageAsync(this: Pages): null;
25470
25486
  }
25471
25487
 
25472
25488
  interface AudioPages extends Pages {
@@ -25901,13 +25917,13 @@ interface ParticleEmitter extends Instance {
25901
25917
  *
25902
25918
  * Sometimes it is desirable to clear particles before teleporting a character so that there are no lingering effects that might follow due to [ParticleEmitter.LockedToPart](https://developer.roblox.com/en-us/api-reference/property/ParticleEmitter/LockedToPart).
25903
25919
  */
25904
- Clear(this: ParticleEmitter): void;
25920
+ Clear(this: ParticleEmitter): null;
25905
25921
  /**
25906
25922
  * The Emit method will cause the [ParticleEmitter](https://developer.roblox.com/en-us/api-reference/class/ParticleEmitter) to emit the given number of particles similar to how [ParticleEmitter.Rate](https://developer.roblox.com/en-us/api-reference/property/ParticleEmitter/Rate) does on `ParticleEmitter/Enalbed` emitters. Be warned - this always emits exactly the number of particles even if Roblox' graphics settings are lower. Emitting too many particles can cause performance issues on lower-end hardware.
25907
25923
  *
25908
25924
  * To clear any emit particles, use [ParticleEmitter:Clear](https://developer.roblox.com/en-us/api-reference/function/ParticleEmitter/Clear).
25909
25925
  */
25910
- Emit(this: ParticleEmitter, particleCount?: number): void;
25926
+ Emit(this: ParticleEmitter, particleCount?: number): null;
25911
25927
  /**
25912
25928
  * Tags: Hidden
25913
25929
  */
@@ -25999,7 +26015,7 @@ interface Path extends Instance {
25999
26015
  * * [Pathfinding](https://developer.roblox.com/en-us/articles/pathfinding), provides an in-depth pathfinding walkthrough
26000
26016
  * Tags: Yields
26001
26017
  */
26002
- ComputeAsync(this: Path, start: Vector3, finish: Vector3): void;
26018
+ ComputeAsync(this: Path, start: Vector3, finish: Vector3): null;
26003
26019
  readonly Blocked: RBXScriptSignal<(blockedWaypointIdx: number) => void>;
26004
26020
  readonly Unblocked: RBXScriptSignal<(unblockedWaypointIdx: number) => void>;
26005
26021
  }
@@ -26258,7 +26274,7 @@ interface PhysicsService extends Instance {
26258
26274
  *
26259
26275
  * This function will throw an error if either of the groups do not exist.
26260
26276
  */
26261
- CollisionGroupSetCollidable(this: PhysicsService, name1: string, name2: string, collidable: boolean): void;
26277
+ CollisionGroupSetCollidable(this: PhysicsService, name1: string, name2: string, collidable: boolean): null;
26262
26278
  /**
26263
26279
  * Returns whether the two specified collision groups will collide.
26264
26280
  *
@@ -26323,7 +26339,7 @@ interface PhysicsService extends Instance {
26323
26339
  GetMaxCollisionGroups(this: PhysicsService): number;
26324
26340
  GetRegisteredCollisionGroups(this: PhysicsService): unknown;
26325
26341
  IsCollisionGroupRegistered(this: PhysicsService, name: string): boolean;
26326
- RegisterCollisionGroup(this: PhysicsService, name: string): void;
26342
+ RegisterCollisionGroup(this: PhysicsService, name: string): null;
26327
26343
  /**
26328
26344
  * Removes the collision group with the given name. If an invalid name is provided the function will not do anything, although if the reserved name “Default” is provided then the function will throw an error.
26329
26345
  *
@@ -26336,7 +26352,7 @@ interface PhysicsService extends Instance {
26336
26352
  * Tags: Deprecated, [object Object]
26337
26353
  * @deprecated
26338
26354
  */
26339
- RemoveCollisionGroup(this: PhysicsService, name: string): void;
26355
+ RemoveCollisionGroup(this: PhysicsService, name: string): null;
26340
26356
  /**
26341
26357
  * Renames the specified collision group. The first argument of this function is the name of the group to rename, the second argument is the new name for the group. If the specified group does not exist, then this function will not do anything.
26342
26358
  *
@@ -26347,7 +26363,7 @@ interface PhysicsService extends Instance {
26347
26363
  * * Invalid or empty name provided for either argument.
26348
26364
  * * The function is called from a client.
26349
26365
  */
26350
- RenameCollisionGroup(this: PhysicsService, from: string, to: string): void;
26366
+ RenameCollisionGroup(this: PhysicsService, from: string, to: string): null;
26351
26367
  /**
26352
26368
  * The SetPartCollisionGroup function sets the collision group of the specified part to the group with the specified name.
26353
26369
  *
@@ -26362,8 +26378,8 @@ interface PhysicsService extends Instance {
26362
26378
  * Tags: Deprecated, [object Object]
26363
26379
  * @deprecated
26364
26380
  */
26365
- SetPartCollisionGroup(this: PhysicsService, part: BasePart, name: string): void;
26366
- UnregisterCollisionGroup(this: PhysicsService, name: string): void;
26381
+ SetPartCollisionGroup(this: PhysicsService, part: BasePart, name: string): null;
26382
+ UnregisterCollisionGroup(this: PhysicsService, name: string): null;
26367
26383
  }
26368
26384
 
26369
26385
  /** A Player object a client that is currently connected. These objects are added to the [Players](https://developer.roblox.com/en-us/api-reference/class/Players) service when a new player connects, then removed when they eventually disconnect from the server.
@@ -26712,7 +26728,7 @@ interface Player extends Instance {
26712
26728
  *
26713
26729
  * It does not remove [t-shirts](https://developer.roblox.com/en-us/api-reference/class/ShirtGraphic), head meshes, or faces.
26714
26730
  */
26715
- ClearCharacterAppearance(this: Player): void;
26731
+ ClearCharacterAppearance(this: Player): null;
26716
26732
  /**
26717
26733
  * The DistanceFromCharacter [Player](https://developer.roblox.com/en-us/api-reference/class/Player) function returns the distance between the character's head and the given [Vector3](https://developer.roblox.com/en-us/api-reference/datatype/Vector3) point. It returns 0 if the player has no [Player.Character](https://developer.roblox.com/en-us/api-reference/property/Player/Character).
26718
26734
  *
@@ -26807,6 +26823,7 @@ interface Player extends Instance {
26807
26823
  * This is useful when determining whether a player's appearance has loaded after they first join the game, which can be tracked using the [Players.PlayerAdded](https://developer.roblox.com/en-us/api-reference/event/Players/PlayerAdded) event.
26808
26824
  */
26809
26825
  HasAppearanceLoaded(this: Player): boolean;
26826
+ IsVerified(this: Player): boolean;
26810
26827
  /**
26811
26828
  * The Kick [Player](https://developer.roblox.com/en-us/api-reference/class/Player) method allows a game to gracefully disconnect a client from the game and optionally provide a message to the disconnected player. This is useful for moderating abusive players. When used in conjunction with a [DataStore](https://developer.roblox.com/en-us/api-reference/class/DataStore), it is possible to create ban lists with expiration dates. Only allow specific whitelisted users whom you trust to trigger this method on other players.
26812
26829
  *
@@ -26821,7 +26838,7 @@ interface Player extends Instance {
26821
26838
  *
26822
26839
  * ![Getting kicked with a message.](https://developer.roblox.com/assets/blt20acf098fdbd2b30/KickedWithANoteCropped.png)
26823
26840
  */
26824
- Kick(this: Player, message?: string): void;
26841
+ Kick(this: Player, message?: string): null;
26825
26842
  /**
26826
26843
  * This function returns a boolean value that was previously saved to the player with [Player:SaveBoolean](https://developer.roblox.com/en-us/api-reference/function/Player/SaveBoolean) with the same key. Returns false if the key doesn't exist, not nil.
26827
26844
  * Tags: Deprecated
@@ -26845,7 +26862,7 @@ interface Player extends Instance {
26845
26862
  * Tags: Deprecated
26846
26863
  * @deprecated
26847
26864
  */
26848
- LoadCharacterAppearance(this: Player, assetInstance: Instance): void;
26865
+ LoadCharacterAppearance(this: Player, assetInstance: Instance): null;
26849
26866
  /**
26850
26867
  * This function returns an instance that was previously saved to the player with [Player:SaveInstance](https://developer.roblox.com/en-us/api-reference/function/Player/SaveInstance) with the same key. Returns nil if the key doesn't exist.
26851
26868
  * Tags: Deprecated
@@ -26871,31 +26888,31 @@ interface Player extends Instance {
26871
26888
  *
26872
26889
  * Note that the function's second argument indicates whether the provided [Vector3](https://developer.roblox.com/en-us/api-reference/datatype/Vector3) should move the player relative to world coordinates (_false_) or the player's [Camera](https://developer.roblox.com/en-us/api-reference/class/Camera) (_true_).
26873
26890
  */
26874
- Move(this: Player, walkDirection: Vector3, relativeToCamera?: boolean): void;
26891
+ Move(this: Player, walkDirection: Vector3, relativeToCamera?: boolean): null;
26875
26892
  /**
26876
26893
  * This function is used to save a boolean value that can be loaded again at a later time using [Player:LoadBoolean](https://developer.roblox.com/en-us/api-reference/function/Player/LoadBoolean).
26877
26894
  * Tags: Deprecated
26878
26895
  * @deprecated
26879
26896
  */
26880
- SaveBoolean(this: Player, key: string, value: boolean): void;
26897
+ SaveBoolean(this: Player, key: string, value: boolean): null;
26881
26898
  /**
26882
26899
  * This function was once used by an ancient data persistence method to save an instance which can be loaded again at a later time using [Player:LoadInstance](https://developer.roblox.com/en-us/api-reference/function/Player/LoadInstance)…
26883
26900
  * Tags: Deprecated
26884
26901
  * @deprecated
26885
26902
  */
26886
- SaveInstance(this: Player, key: string, value: Instance): void;
26903
+ SaveInstance(this: Player, key: string, value: Instance): null;
26887
26904
  /**
26888
26905
  * This function was once used by an ancient data persistence method to save a number value that can be loaded again at a later time using [Player:LoadNumber](https://developer.roblox.com/en-us/api-reference/function/Player/LoadNumber).
26889
26906
  * Tags: Deprecated
26890
26907
  * @deprecated
26891
26908
  */
26892
- SaveNumber(this: Player, key: string, value: number): void;
26909
+ SaveNumber(this: Player, key: string, value: number): null;
26893
26910
  /**
26894
26911
  * This function was once used by an ancient data persistence method to save a string value that can be loaded again at a later time using [Player:LoadString](https://developer.roblox.com/en-us/api-reference/function/Player/LoadString).
26895
26912
  * Tags: Deprecated
26896
26913
  * @deprecated
26897
26914
  */
26898
- SaveString(this: Player, key: string, value: string): void;
26915
+ SaveString(this: Player, key: string, value: string): null;
26899
26916
  /**
26900
26917
  * This function returns a dictionary array of online friends, limited by the `maxFriends` value.
26901
26918
  *
@@ -27091,7 +27108,7 @@ interface Player extends Instance {
27091
27108
  * For more details, see the [Game Content Streaming](https://developer.roblox.com/en-us/articles/content-streaming) article.
27092
27109
  * Tags: Yields
27093
27110
  */
27094
- RequestStreamAroundAsync(this: Player, position: Vector3, timeOut?: number): void;
27111
+ RequestStreamAroundAsync(this: Player, position: Vector3, timeOut?: number): null;
27095
27112
  /**
27096
27113
  * This function is used to pause the script until the player's data is available to manipulate, or until a certain amount of time has elapsed without fetching the player's data
27097
27114
  * Tags: Yields, Deprecated
@@ -27194,35 +27211,35 @@ interface PlayerScripts extends Instance {
27194
27211
  /**
27195
27212
  * Unregisters all ComputerCameraMovementMode enums from the game settings menu.
27196
27213
  */
27197
- ClearComputerCameraMovementModes(this: PlayerScripts): void;
27214
+ ClearComputerCameraMovementModes(this: PlayerScripts): null;
27198
27215
  /**
27199
27216
  * Unregisters all ComputerMovementMode enums from the game settings menu.
27200
27217
  */
27201
- ClearComputerMovementModes(this: PlayerScripts): void;
27218
+ ClearComputerMovementModes(this: PlayerScripts): null;
27202
27219
  /**
27203
27220
  * Unregisters all TouchCameraMovementMode enums from the game settings menu.
27204
27221
  */
27205
- ClearTouchCameraMovementModes(this: PlayerScripts): void;
27222
+ ClearTouchCameraMovementModes(this: PlayerScripts): null;
27206
27223
  /**
27207
27224
  * Unregisters all TouchMovementMode enums from the game settings menu.
27208
27225
  */
27209
- ClearTouchMovementModes(this: PlayerScripts): void;
27226
+ ClearTouchMovementModes(this: PlayerScripts): null;
27210
27227
  /**
27211
27228
  * Registers that a computer camera movement mode is available to be selected from the game menu.
27212
27229
  */
27213
- RegisterComputerCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.ComputerCameraMovementMode>): void;
27230
+ RegisterComputerCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.ComputerCameraMovementMode>): null;
27214
27231
  /**
27215
27232
  * Registers that a computer movement mode is available to be selected from the game menu.
27216
27233
  */
27217
- RegisterComputerMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.ComputerMovementMode>): void;
27234
+ RegisterComputerMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.ComputerMovementMode>): null;
27218
27235
  /**
27219
27236
  * Registers that a touch camera movement mode is available to be selected from the game menu.
27220
27237
  */
27221
- RegisterTouchCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.TouchCameraMovementMode>): void;
27238
+ RegisterTouchCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.TouchCameraMovementMode>): null;
27222
27239
  /**
27223
27240
  * Registers that a touch movement mode is available to be selected from the game menu.
27224
27241
  */
27225
- RegisterTouchMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.TouchMovementMode>): void;
27242
+ RegisterTouchMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.TouchMovementMode>): null;
27226
27243
  }
27227
27244
 
27228
27245
  /** The Players game service contains only [Player](https://developer.roblox.com/en-us/api-reference/class/Player) objects for presently connected clients to a Roblox game server. It also contains information about a place's configuration (such as bubble chat or classic chat). It can fetch information about players not connected to the server, such as character appearances, friends and avatar thumbnail. */
@@ -27862,7 +27879,7 @@ interface Pose extends PoseBase {
27862
27879
  *
27863
27880
  * Note, this function will not error when an instance other than a [Pose](https://developer.roblox.com/en-us/api-reference/class/Pose) is given as the pose parameter and will parent it successfully.
27864
27881
  */
27865
- AddSubPose(this: Pose, pose: Pose): void;
27882
+ AddSubPose(this: Pose, pose: Pose): null;
27866
27883
  /**
27867
27884
  * This function returns an array containing all sub [Pose](https://developer.roblox.com/en-us/api-reference/class/Pose)s that have been added to a [Pose](https://developer.roblox.com/en-us/api-reference/class/Pose). This is functionally the same as using the [Instance:GetChildren](https://developer.roblox.com/en-us/api-reference/function/Instance/GetChildren) function on the [Pose](https://developer.roblox.com/en-us/api-reference/class/Pose).
27868
27885
  *
@@ -27874,7 +27891,7 @@ interface Pose extends PoseBase {
27874
27891
  *
27875
27892
  * Note, this function will not error when an instance other than a [Pose](https://developer.roblox.com/en-us/api-reference/class/Pose) is given as the pose parameter and remove it successfully.
27876
27893
  */
27877
- RemoveSubPose(this: Pose, pose: Pose): void;
27894
+ RemoveSubPose(this: Pose, pose: Pose): null;
27878
27895
  }
27879
27896
 
27880
27897
  /** PostEffect is an abstract base class for post-processing effects, such as [BloomEffect](https://developer.roblox.com/en-us/api-reference/class/BloomEffect) and [ColorCorrectionEffect](https://developer.roblox.com/en-us/api-reference/class/ColorCorrectionEffect). They change how the world looks **after** it has been rendered. They do not affect [GuiObject](https://developer.roblox.com/en-us/api-reference/class/GuiObject)s. Objects of this kind should be parented to the [Lighting](https://developer.roblox.com/en-us/api-reference/class/Lighting) or the [Workspace.CurrentCamera](https://developer.roblox.com/en-us/api-reference/property/Workspace/CurrentCamera) in order to work.
@@ -28165,11 +28182,11 @@ interface ProximityPrompt extends Instance {
28165
28182
  /**
28166
28183
  * This function triggers a signal indicating that the user began pressing the [ProximityPrompt](https://developer.roblox.com/en-us/api-reference/class/ProximityPrompt) prompt button. It should be used by developers who wish to customize the prompt and trigger it from a prompt GUI button press.
28167
28184
  */
28168
- InputHoldBegin(this: ProximityPrompt): void;
28185
+ InputHoldBegin(this: ProximityPrompt): null;
28169
28186
  /**
28170
28187
  * A counterpoint to [ProximityPrompt:InputHoldBegin](https://developer.roblox.com/en-us/api-reference/function/ProximityPrompt/InputHoldBegin), this signals that the user ended pressing the prompt GUI button.
28171
28188
  */
28172
- InputHoldEnd(this: ProximityPrompt): void;
28189
+ InputHoldEnd(this: ProximityPrompt): null;
28173
28190
  /**
28174
28191
  * This event triggers when a player begins holding down the [key](https://developer.roblox.com/en-us/api-reference/property/ProximityPrompt/KeyboardKeyCode)/button on a prompt with a non-zero [ProximityPrompt.HoldDuration](https://developer.roblox.com/en-us/api-reference/property/ProximityPrompt/HoldDuration). One possible usage includes to animate a hold progress bar.
28175
28192
  */
@@ -28491,7 +28508,7 @@ interface ReplicatedFirst extends Instance {
28491
28508
  *
28492
28509
  * It is advised to not remove the default loading screen unless the developer wishes to display their own loading screen as an alternative. If the default screen is removed without replacement users will be able to see geometry loading in the background.
28493
28510
  */
28494
- RemoveDefaultLoadingScreen(this: ReplicatedFirst): void;
28511
+ RemoveDefaultLoadingScreen(this: ReplicatedFirst): null;
28495
28512
  }
28496
28513
 
28497
28514
  /** **ReplicatedStorage** is a general container service for objects that are available to both the server and connected game clients. It is ideal for [ModuleScript](https://developer.roblox.com/en-us/api-reference/class/ModuleScript), [RemoteFunction](https://developer.roblox.com/en-us/api-reference/class/RemoteFunction), [RemoteEvent](https://developer.roblox.com/en-us/api-reference/class/RemoteEvent) and other objects which are useful to both server-side [Script](https://developer.roblox.com/en-us/api-reference/class/Script)s and client-side [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript)s. [Script](https://developer.roblox.com/en-us/api-reference/class/Script) and [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript) objects will not run if they are parented to this service even if they are not [Disabled](https://developer.roblox.com/en-us/api-reference/property/BaseScript/Disabled).
@@ -28865,7 +28882,7 @@ interface RunService extends Instance {
28865
28882
  * print("An error occurred: "..message)
28866
28883
  * end
28867
28884
  */
28868
- UnbindFromRenderStep(this: RunService, name: string): void;
28885
+ UnbindFromRenderStep(this: RunService, name: string): null;
28869
28886
  /**
28870
28887
  * The Heartbeat event fires every _frame_, after the physics simulation has completed. The _step_ argument indicates the time that has elapsed since the previous frame.
28871
28888
  *
@@ -29100,7 +29117,11 @@ interface SensorBase extends Instance {
29100
29117
  */
29101
29118
  readonly _nominal_SensorBase: unique symbol;
29102
29119
  UpdateType: Enum.SensorUpdateType;
29103
- Sense(this: SensorBase): void;
29120
+ /**
29121
+ * Tags: Deprecated
29122
+ * @deprecated
29123
+ */
29124
+ Sense(this: SensorBase): null;
29104
29125
  readonly OnSensorOutputChanged: RBXScriptSignal<() => void>;
29105
29126
  }
29106
29127
 
@@ -29571,7 +29592,7 @@ interface UserSettings extends GenericSettings<{ UserGameSettings: UserGameSetti
29571
29592
  /**
29572
29593
  * Erases the saved state of the UserSettings, and restores its values back to default. This function will fail to run correctly from a LocalScript, as it does not have permission to restore all of the properties in the [UserGameSettings](https://developer.roblox.com/en-us/api-reference/class/UserGameSettings) class.
29573
29594
  */
29574
- Reset(this: UserSettings): void;
29595
+ Reset(this: UserSettings): null;
29575
29596
  }
29576
29597
 
29577
29598
  interface ServiceVisibilityService extends Instance {
@@ -29606,7 +29627,7 @@ interface SharedTableRegistry extends Instance {
29606
29627
  */
29607
29628
  readonly _nominal_SharedTableRegistry: unique symbol;
29608
29629
  GetSharedTable(this: SharedTableRegistry, name: string): SharedTable;
29609
- SetSharedTable(this: SharedTableRegistry, name: string, st: SharedTable | undefined): void;
29630
+ SetSharedTable(this: SharedTableRegistry, name: string, st: SharedTable | undefined): null;
29610
29631
  }
29611
29632
 
29612
29633
  interface ShorelineUpgraderService extends Instance {
@@ -29794,7 +29815,7 @@ interface SocialService extends Instance {
29794
29815
  *
29795
29816
  * Before using this function, you should use the [CanSendGameInviteAsync](https://developer.roblox.com/en-us/api-reference/function/SocialService/CanSendGameInviteAsync) function to determine whether a player can send a game invite, as this can vary depending on the platform or player. After determining that invites are possible for this player, allow the player to opt-in to inviting others. For example, the player clicked on an “Invite Friends” button, shown after `CanSendGameInviteAsync` returned true.\`
29796
29817
  */
29797
- PromptGameInvite(this: SocialService, player: Player, experienceInviteOptions?: ExperienceInviteOptions): void;
29818
+ PromptGameInvite(this: SocialService, player: Player, experienceInviteOptions?: ExperienceInviteOptions): null;
29798
29819
  /**
29799
29820
  * **CanSendGameInviteAsync** indicates whether the given [Player](https://developer.roblox.com/en-us/api-reference/class/Player) can invite other players to the current game. If they can, it returns true.
29800
29821
  *
@@ -30113,7 +30134,7 @@ interface Sound extends Instance {
30113
30134
  *
30114
30135
  * 0
30115
30136
  */
30116
- Pause(this: Sound): void;
30137
+ Pause(this: Sound): null;
30117
30138
  /**
30118
30139
  * Plays the [Sound](https://developer.roblox.com/en-us/api-reference/class/Sound). Sets [Sound.TimePosition](https://developer.roblox.com/en-us/api-reference/property/Sound/TimePosition) to the last value set by a [Script](https://developer.roblox.com/en-us/api-reference/class/Script) (or 0 if it has not been set), and then sets [Sound.Playing](https://developer.roblox.com/en-us/api-reference/property/Sound/Playing) to true.
30119
30140
  *
@@ -30149,7 +30170,7 @@ interface Sound extends Instance {
30149
30170
  *
30150
30171
  * 0
30151
30172
  */
30152
- Play(this: Sound): void;
30173
+ Play(this: Sound): null;
30153
30174
  /**
30154
30175
  * Resumes the [Sound](https://developer.roblox.com/en-us/api-reference/class/Sound). Sets [Sound.Playing](https://developer.roblox.com/en-us/api-reference/property/Sound/Playing) to true. Does not alter [Sound.TimePosition](https://developer.roblox.com/en-us/api-reference/property/Sound/TimePosition) and thus can be used to resume the playback of a sound stopped using [Sound:Pause](https://developer.roblox.com/en-us/api-reference/function/Sound/Pause).
30155
30176
  *
@@ -30185,7 +30206,7 @@ interface Sound extends Instance {
30185
30206
  *
30186
30207
  * 0
30187
30208
  */
30188
- Resume(this: Sound): void;
30209
+ Resume(this: Sound): null;
30189
30210
  /**
30190
30211
  * Stops the [Sound](https://developer.roblox.com/en-us/api-reference/class/Sound). Sets [Sound.Playing](https://developer.roblox.com/en-us/api-reference/property/Sound/Playing) to false then sets [Sound.TimePosition](https://developer.roblox.com/en-us/api-reference/property/Sound/TimePosition) to 0.
30191
30212
  *
@@ -30221,7 +30242,7 @@ interface Sound extends Instance {
30221
30242
  *
30222
30243
  * 0
30223
30244
  */
30224
- Stop(this: Sound): void;
30245
+ Stop(this: Sound): null;
30225
30246
  /**
30226
30247
  * Event that fires whenever the [Sound](https://developer.roblox.com/en-us/api-reference/class/Sound) loops. Returns soundId and numOfTimesLooped, giving the contentID of the sound and the number of times looped respectively.
30227
30248
  *
@@ -31667,7 +31688,7 @@ interface Teams extends Instance {
31667
31688
  * Tags: Deprecated
31668
31689
  * @deprecated
31669
31690
  */
31670
- RebalanceTeams(this: Teams): void;
31691
+ RebalanceTeams(this: Teams): null;
31671
31692
  }
31672
31693
 
31673
31694
  /** This class is an instance that is returned by the `TeleportAsync` function with information about the teleport. */
@@ -31796,7 +31817,7 @@ interface TeleportOptions extends Instance {
31796
31817
  *
31797
31818
  * For more information on how to teleport players between servers, take a look at the [Telporting Between Places](../../../articles/Teleporting-Between-Places) article.
31798
31819
  */
31799
- SetTeleportData(this: TeleportOptions, teleportData: unknown): void;
31820
+ SetTeleportData(this: TeleportOptions, teleportData: unknown): null;
31800
31821
  }
31801
31822
 
31802
31823
  /** TeleportService is responsible for transporting [Player](https://developer.roblox.com/en-us/api-reference/class/Player)s between different [places](https://developer.roblox.com/articles/games-and-places) and servers.
@@ -32707,6 +32728,14 @@ interface ChatInputBarConfiguration extends TextChatConfigurations {
32707
32728
  BackgroundTransparency: number;
32708
32729
  Enabled: boolean;
32709
32730
  FontFace: Font;
32731
+ /**
32732
+ * Tags: ReadOnly, NotReplicated
32733
+ */
32734
+ readonly IsFocused: boolean;
32735
+ /**
32736
+ * Tags: Hidden
32737
+ */
32738
+ KeyboardKeyCode: Enum.KeyCode;
32710
32739
  PlaceholderColor3: Color3;
32711
32740
  TargetTextChannel: TextChannel | undefined;
32712
32741
  TextBox: TextBox | undefined;
@@ -33225,7 +33254,7 @@ interface Trail extends Instance {
33225
33254
  *
33226
33255
  * Calling this function will only affect old segments that have already been done. It will not affect the drawing of any new trail segments after this function call. If you would like to clear existing trail segments, and temporarily prevent new segments from being drawn, consider toggling the trail's [Trail.Enabled](https://developer.roblox.com/en-us/api-reference/property/Trail/Enabled) property to false at the same time.
33227
33256
  */
33228
- Clear(this: Trail): void;
33257
+ Clear(this: Trail): null;
33229
33258
  /**
33230
33259
  * Tags: Hidden
33231
33260
  */
@@ -33379,7 +33408,7 @@ interface TweenBase extends Instance {
33379
33408
  *
33380
33409
  * Only the tween variables are reset, not the properties being changed by the tween. This means if you cancel a tween half way through its animation the properties will not reset to their original values. Where Cancel differs from [TweenBase:Pause](https://developer.roblox.com/en-us/api-reference/function/TweenBase/Pause) is that once resumed, it will take the full duration of the tween to complete the animation.
33381
33410
  */
33382
- Cancel(this: TweenBase): void;
33411
+ Cancel(this: TweenBase): null;
33383
33412
  /**
33384
33413
  * The Pause function halts playback of its [Tween](https://developer.roblox.com/en-us/api-reference/class/Tween). However the progress variables of the tween will not be reset, meaning that when [TweenBase:Play](https://developer.roblox.com/en-us/api-reference/function/TweenBase/Play) is called again the tween will resume playback from the moment it was paused.
33385
33414
  *
@@ -33387,13 +33416,13 @@ interface TweenBase extends Instance {
33387
33416
  *
33388
33417
  * This means a tween paused half way through its animation will take half of its duration to complete when resumed.
33389
33418
  */
33390
- Pause(this: TweenBase): void;
33419
+ Pause(this: TweenBase): null;
33391
33420
  /**
33392
33421
  * The Play function starts the playback of its [Tween](https://developer.roblox.com/en-us/api-reference/class/Tween). Note that if a tween has already begun calling Play will have no effect unless the tween has finished or has been stopped (either by [TweenBase:Cancel](https://developer.roblox.com/en-us/api-reference/function/TweenBase/Cancel) or [TweenBase:Pause](https://developer.roblox.com/en-us/api-reference/function/TweenBase/Pause)).
33393
33422
  *
33394
33423
  * Multiple tweens can be played on the same object at the same time, but they must not be animating the same property. If two tweens attempt to modify the same property, the initial tween will be cancelled and overwritten by the most recent tween (see examples).
33395
33424
  */
33396
- Play(this: TweenBase): void;
33425
+ Play(this: TweenBase): null;
33397
33426
  /**
33398
33427
  * The Completed event of a [Tween](https://developer.roblox.com/en-us/api-reference/class/Tween) fires when the tween finishes playing. This will happen either when the tween naturally finishes playing, or if it is stopped with [TweenBase:Cancel](https://developer.roblox.com/en-us/api-reference/function/TweenBase/Cancel).
33399
33428
  *
@@ -33856,7 +33885,7 @@ interface UIGridStyleLayout extends UILayout {
33856
33885
  * Tags: Deprecated
33857
33886
  * @deprecated
33858
33887
  */
33859
- ApplyLayout(this: UIGridStyleLayout): void;
33888
+ ApplyLayout(this: UIGridStyleLayout): null;
33860
33889
  /**
33861
33890
  * This method is deprecated. Use [UIGridStyleLayout.SortOrder](https://developer.roblox.com/en-us/api-reference/property/UIGridStyleLayout/SortOrder) instead.
33862
33891
  *
@@ -33865,7 +33894,7 @@ interface UIGridStyleLayout extends UILayout {
33865
33894
  * Tags: Deprecated
33866
33895
  * @deprecated
33867
33896
  */
33868
- SetCustomSortFunction(this: UIGridStyleLayout, callback?: Callback): void;
33897
+ SetCustomSortFunction(this: UIGridStyleLayout, callback?: Callback): null;
33869
33898
  }
33870
33899
 
33871
33900
  /** A UIGridLayout (not to be confused with the abstract [UIGridStyleLayout](https://developer.roblox.com/en-us/api-reference/class/UIGridStyleLayout) from which this class inherits) lays out sibling UI elements in multiple rows within the parent UI element, adding elements to a row one-by-one until the next element would not fit. It then continues adding elements in the next row. A UIGridLayout will take UI elements' [GuiObject.Size](https://developer.roblox.com/en-us/api-reference/property/GuiObject/Size) and [GuiObject.Position](https://developer.roblox.com/en-us/api-reference/property/GuiObject/Position) under control. While under control, these UI elements' properties will not be editable in the Properties window.
@@ -34011,15 +34040,15 @@ interface UIPageLayout extends UIGridStyleLayout {
34011
34040
  /**
34012
34041
  * If the index is >= 0 and less than the size of the layout, this method acts like [UIPageLayout:JumpTo](https://developer.roblox.com/en-us/api-reference/function/UIPageLayout/JumpTo). If it's out of bounds and circular is set, it will animate the full distance between the in-bounds index of [UIPageLayout.CurrentPage](https://developer.roblox.com/en-us/api-reference/property/UIPageLayout/CurrentPage) and the new index.
34013
34042
  */
34014
- JumpToIndex(this: UIPageLayout, index: number): void;
34043
+ JumpToIndex(this: UIPageLayout, index: number): null;
34015
34044
  /**
34016
34045
  * Sets [UIPageLayout.CurrentPage](https://developer.roblox.com/en-us/api-reference/property/UIPageLayout/CurrentPage) to the page after the current page and animates to it, or does nothing if there isn't a next page.
34017
34046
  */
34018
- Next(this: UIPageLayout): void;
34047
+ Next(this: UIPageLayout): null;
34019
34048
  /**
34020
34049
  * Sets [UIPageLayout.CurrentPage](https://developer.roblox.com/en-us/api-reference/property/UIPageLayout/CurrentPage) to the page before the current page and animates to it, or does nothing if there isn't a previous page.
34021
34050
  */
34022
- Previous(this: UIPageLayout): void;
34051
+ Previous(this: UIPageLayout): null;
34023
34052
  /**
34024
34053
  * Fires when a page comes into view, and is going to be rendered.
34025
34054
  */
@@ -34393,11 +34422,11 @@ interface UserGameSettings extends Instance {
34393
34422
  /**
34394
34423
  * If called, Roblox toggles the menu option to invert the user's camera y axis.
34395
34424
  */
34396
- SetCameraYInvertVisible(this: UserGameSettings): void;
34425
+ SetCameraYInvertVisible(this: UserGameSettings): null;
34397
34426
  /**
34398
34427
  * If called, Roblox toggles the menu option to control the camera sensitivity with gamepads.
34399
34428
  */
34400
- SetGamepadCameraSensitivityVisible(this: UserGameSettings): void;
34429
+ SetGamepadCameraSensitivityVisible(this: UserGameSettings): null;
34401
34430
  /**
34402
34431
  * Sets the given onboarding as completed, so it won't be shown again to the user the next time they play.
34403
34432
  *
@@ -34410,7 +34439,7 @@ interface UserGameSettings extends Instance {
34410
34439
  *
34411
34440
  * * [UserGameSettings:GetOnboardingCompleted](https://developer.roblox.com/en-us/api-reference/function/UserGameSettings/GetOnboardingCompleted), checks if onboarding has been completed
34412
34441
  */
34413
- SetOnboardingCompleted(this: UserGameSettings, onboardingId: string): void;
34442
+ SetOnboardingCompleted(this: UserGameSettings, onboardingId: string): null;
34414
34443
  /**
34415
34444
  * Fires if the user's full screen mode is changed.
34416
34445
  * The event will only fire on desktop devices that can toggle full screen mode. The game will always be in full screen on mobile devices and consoles.
@@ -35251,7 +35280,7 @@ interface UserInputService extends Instance {
35251
35280
  *
35252
35281
  * Since [UserInputService](https://developer.roblox.com/en-us/api-reference/class/UserInputService) is client-side only, this function can only be used in a [LocalScript](https://developer.roblox.com/en-us/api-reference/class/LocalScript).
35253
35282
  */
35254
- RecenterUserHeadCFrame(this: UserInputService): void;
35283
+ RecenterUserHeadCFrame(this: UserInputService): null;
35255
35284
  /**
35256
35285
  * The SetNavigationGamepad function sets whether the specified [UserInputType](https://developer.roblox.com/en-us/api-reference/enum/UserInputType) gamepad can move the GUI navigator. A gamepad that is allowed to move the GUI navigator is considered a _navigation gamepad_.
35257
35286
  *
@@ -35278,7 +35307,7 @@ interface UserInputService extends Instance {
35278
35307
  * * [UserInputService:GamepadSupports](https://developer.roblox.com/en-us/api-reference/function/UserInputService/GamepadSupports)
35279
35308
  * * [UserInputService.GamepadEnabled](https://developer.roblox.com/en-us/api-reference/property/UserInputService/GamepadEnabled)
35280
35309
  */
35281
- SetNavigationGamepad(this: UserInputService, gamepadEnum: CastsToEnum<Enum.UserInputType>, enabled: boolean): void;
35310
+ SetNavigationGamepad(this: UserInputService, gamepadEnum: CastsToEnum<Enum.UserInputType>, enabled: boolean): null;
35282
35311
  /**
35283
35312
  * The DeviceAccelerationChanged event fires when a user moves a device that has an accelerometer.
35284
35313
  *
@@ -36015,7 +36044,7 @@ interface VRService extends Instance {
36015
36044
  *
36016
36045
  * Since `/VRServiceService` only runs client-side, this function will only work when used in a `/LocalScript`.
36017
36046
  */
36018
- RecenterUserHeadCFrame(this: VRService): void;
36047
+ RecenterUserHeadCFrame(this: VRService): null;
36019
36048
  /**
36020
36049
  * The RequestNavigation function requests navigation to the specified [CFrame](https://developer.roblox.com/en-us/api-reference/datatype/CFrame), using the specified [UserCFrame](https://developer.roblox.com/en-us/api-reference/enum/UserCFrame) as the origin for the visualizer parabola.
36021
36050
  *
@@ -36025,7 +36054,7 @@ interface VRService extends Instance {
36025
36054
  *
36026
36055
  * Since VRService only runs client-side, this function will only work when used in a `/LocalScript`.
36027
36056
  */
36028
- RequestNavigation(this: VRService, cframe: CFrame, inputUserCFrame: CastsToEnum<Enum.UserCFrame>): void;
36057
+ RequestNavigation(this: VRService, cframe: CFrame, inputUserCFrame: CastsToEnum<Enum.UserCFrame>): null;
36029
36058
  /**
36030
36059
  * The SetTouchpadMode function sets the mode of the specified [VRTouchpad](https://developer.roblox.com/en-us/api-reference/enum/VRTouchpad) to the specified [VRTouchpadMode](https://developer.roblox.com/en-us/api-reference/enum/VRTouchpadMode).
36031
36060
  *
@@ -36035,7 +36064,7 @@ interface VRService extends Instance {
36035
36064
  *
36036
36065
  * Since `/VRService` only runs client-side, this function will only work when used in a `/LocalScript`.
36037
36066
  */
36038
- SetTouchpadMode(this: VRService, pad: CastsToEnum<Enum.VRTouchpad>, mode: CastsToEnum<Enum.VRTouchpadMode>): void;
36067
+ SetTouchpadMode(this: VRService, pad: CastsToEnum<Enum.VRTouchpad>, mode: CastsToEnum<Enum.VRTouchpadMode>): null;
36039
36068
  /**
36040
36069
  * The NavigationRequested event fires when navigation is requested from the VRService for a specified [UserCFrame](https://developer.roblox.com/en-us/api-reference/enum/UserCFrame) VR device.
36041
36070
  *
@@ -36597,7 +36626,7 @@ interface VoiceChatInternal extends Instance {
36597
36626
  * Tags: Deprecated
36598
36627
  * @deprecated
36599
36628
  */
36600
- Leave(this: VoiceChatInternal): void;
36629
+ Leave(this: VoiceChatInternal): null;
36601
36630
  /**
36602
36631
  * Tags: Deprecated
36603
36632
  * @deprecated
@@ -36607,12 +36636,12 @@ interface VoiceChatInternal extends Instance {
36607
36636
  * Tags: Deprecated
36608
36637
  * @deprecated
36609
36638
  */
36610
- SetMicDevice(this: VoiceChatInternal, micDeviceName: string, micDeviceGuid: string): void;
36639
+ SetMicDevice(this: VoiceChatInternal, micDeviceName: string, micDeviceGuid: string): null;
36611
36640
  /**
36612
36641
  * Tags: Deprecated
36613
36642
  * @deprecated
36614
36643
  */
36615
- SetSpeakerDevice(this: VoiceChatInternal, speakerDeviceName: string, speakerDeviceGuid: string): void;
36644
+ SetSpeakerDevice(this: VoiceChatInternal, speakerDeviceName: string, speakerDeviceGuid: string): null;
36616
36645
  /**
36617
36646
  * Tags: Deprecated
36618
36647
  * @deprecated
@@ -36667,21 +36696,6 @@ interface VoiceChatService extends Instance {
36667
36696
  IsVoiceEnabledForUserIdAsync(this: VoiceChatService, userId: number): boolean;
36668
36697
  }
36669
36698
 
36670
- interface VoiceSource extends Instance {
36671
- /**
36672
- * **DO NOT USE!**
36673
- *
36674
- * This field exists to force TypeScript to recognize this as a nominal type
36675
- * @hidden
36676
- * @deprecated
36677
- */
36678
- readonly _nominal_VoiceSource: unique symbol;
36679
- /**
36680
- * Tags: ReadOnly, NotReplicated
36681
- */
36682
- readonly UserId: number;
36683
- }
36684
-
36685
36699
  /** **WeldConstraints** are used to attach two [parts](https://developer.roblox.com/en-us/api-reference/class/BasePart) together. The constraint makes sure that the parts stay in the same relative position and orientation to one another, meaning that if one part moves, the other will move the same amount. Even if the two parts are not touching one another, they can be welded together with a weld constraint.
36686
36700
  *
36687
36701
  * The most common way to create a weld constraint is through the Studio **Create** menu in the **Model** tab (select **Weld**). This tool will act differently based on how many parts are selected when the tool is activated: