@rbxts/types 1.0.678 → 1.0.680

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.
@@ -507,7 +507,6 @@ interface Instances extends Services, CreatableInstances, AbstractInstances {
507
507
  ScriptDocument: ScriptDocument;
508
508
  ScriptRuntime: ScriptRuntime;
509
509
  SensorBase: SensorBase;
510
- Speaker: Speaker;
511
510
  StackFrame: StackFrame;
512
511
  StandardPages: StandardPages;
513
512
  StarterCharacterScripts: StarterCharacterScripts;
@@ -643,7 +642,7 @@ interface Instance {
643
642
  * end
644
643
  * end
645
644
  */
646
- ClearAllChildren(this: Instance): null;
645
+ ClearAllChildren(this: Instance): void;
647
646
  /**
648
647
  * **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
648
  *
@@ -676,7 +675,7 @@ interface Instance {
676
675
  *
677
676
  * 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
677
  */
679
- Destroy(this: Instance): null;
678
+ Destroy(this: Instance): void;
680
679
  /**
681
680
  * 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
681
  *
@@ -1329,7 +1328,7 @@ interface AnalyticsService extends Instance {
1329
1328
  * Tags: Deprecated
1330
1329
  * @deprecated
1331
1330
  */
1332
- FireEvent(this: AnalyticsService, category: string, value: unknown): null;
1331
+ FireEvent(this: AnalyticsService, category: string, value: unknown): void;
1333
1332
  /**
1334
1333
  * This function triggers an event used to track player actions pertaining to the in-game economy.
1335
1334
  *
@@ -1616,7 +1615,7 @@ interface KeyframeSequence extends AnimationClip {
1616
1615
  *
1617
1616
  * 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
1617
  */
1619
- AddKeyframe(this: KeyframeSequence, keyframe: Keyframe): null;
1618
+ AddKeyframe(this: KeyframeSequence, keyframe: Keyframe): void;
1620
1619
  /**
1621
1620
  * **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
1621
  */
@@ -1628,7 +1627,7 @@ interface KeyframeSequence extends AnimationClip {
1628
1627
  *
1629
1628
  * 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
1629
  */
1631
- RemoveKeyframe(this: KeyframeSequence, keyframe: Keyframe): null;
1630
+ RemoveKeyframe(this: KeyframeSequence, keyframe: Keyframe): void;
1632
1631
  }
1633
1632
 
1634
1633
  interface AnimationClipProvider extends Instance {
@@ -1915,7 +1914,7 @@ interface AnimationTrack extends Instance {
1915
1914
  * 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
1915
  * Tags: CustomLuaState
1917
1916
  */
1918
- AdjustSpeed(this: AnimationTrack, speed?: number): null;
1917
+ AdjustSpeed(this: AnimationTrack, speed?: number): void;
1919
1918
  /**
1920
1919
  * 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
1920
  *
@@ -1930,7 +1929,7 @@ interface AnimationTrack extends Instance {
1930
1929
  * 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
1930
  * Tags: CustomLuaState
1932
1931
  */
1933
- AdjustWeight(this: AnimationTrack, weight?: number, fadeTime?: number): null;
1932
+ AdjustWeight(this: AnimationTrack, weight?: number, fadeTime?: number): void;
1934
1933
  /**
1935
1934
  * 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
1935
  *
@@ -1971,7 +1970,7 @@ interface AnimationTrack extends Instance {
1971
1970
  * 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
1971
  * Tags: CustomLuaState
1973
1972
  */
1974
- Play(this: AnimationTrack, fadeTime?: number, weight?: number, speed?: number): null;
1973
+ Play(this: AnimationTrack, fadeTime?: number, weight?: number, speed?: number): void;
1975
1974
  /**
1976
1975
  * 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
1976
  *
@@ -1980,7 +1979,7 @@ interface AnimationTrack extends Instance {
1980
1979
  * 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
1980
  * Tags: CustomLuaState
1982
1981
  */
1983
- Stop(this: AnimationTrack, fadeTime?: number): null;
1982
+ Stop(this: AnimationTrack, fadeTime?: number): void;
1984
1983
  /**
1985
1984
  * 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
1985
  *
@@ -2298,7 +2297,7 @@ interface AssetService extends Instance {
2298
2297
  * 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
2298
  * Tags: Yields
2300
2299
  */
2301
- SavePlaceAsync(this: AssetService): null;
2300
+ SavePlaceAsync(this: AssetService): void;
2302
2301
  /**
2303
2302
  * Tags: Yields
2304
2303
  */
@@ -2509,13 +2508,13 @@ interface Attachment extends Instance {
2509
2508
  * Tags: Deprecated, [object Object]
2510
2509
  * @deprecated
2511
2510
  */
2512
- SetAxis(this: Attachment, axis: Vector3): null;
2511
+ SetAxis(this: Attachment, axis: Vector3): void;
2513
2512
  /**
2514
2513
  * Sets the value of the Attachment's [Attachment.SecondaryAxis](https://developer.roblox.com/en-us/api-reference/property/Attachment/SecondaryAxis).
2515
2514
  * Tags: Deprecated, [object Object]
2516
2515
  * @deprecated
2517
2516
  */
2518
- SetSecondaryAxis(this: Attachment, axis: Vector3): null;
2517
+ SetSecondaryAxis(this: Attachment, axis: Vector3): void;
2519
2518
  }
2520
2519
 
2521
2520
  interface Bone extends Attachment {
@@ -2606,31 +2605,31 @@ interface AvatarEditorService extends Instance {
2606
2605
  /**
2607
2606
  * 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
2607
  */
2609
- PromptAllowInventoryReadAccess(this: AvatarEditorService): null;
2608
+ PromptAllowInventoryReadAccess(this: AvatarEditorService): void;
2610
2609
  /**
2611
2610
  * 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
2611
  */
2613
- PromptCreateOutfit(this: AvatarEditorService, outfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): null;
2612
+ PromptCreateOutfit(this: AvatarEditorService, outfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): void;
2614
2613
  /**
2615
2614
  * 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
2615
  */
2617
- PromptDeleteOutfit(this: AvatarEditorService, outfitId: number): null;
2616
+ PromptDeleteOutfit(this: AvatarEditorService, outfitId: number): void;
2618
2617
  /**
2619
2618
  * 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
2619
  */
2621
- PromptRenameOutfit(this: AvatarEditorService, outfitId: number): null;
2620
+ PromptRenameOutfit(this: AvatarEditorService, outfitId: number): void;
2622
2621
  /**
2623
2622
  * 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
2623
  */
2625
- PromptSaveAvatar(this: AvatarEditorService, humanoidDescription: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): null;
2624
+ PromptSaveAvatar(this: AvatarEditorService, humanoidDescription: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): void;
2626
2625
  /**
2627
2626
  * 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
2627
  */
2629
- PromptSetFavorite(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType>, shouldFavorite: boolean): null;
2628
+ PromptSetFavorite(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType>, shouldFavorite: boolean): void;
2630
2629
  /**
2631
2630
  * 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
2631
  */
2633
- PromptUpdateOutfit(this: AvatarEditorService, outfitId: number, updatedOutfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): null;
2632
+ PromptUpdateOutfit(this: AvatarEditorService, outfitId: number, updatedOutfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): void;
2634
2633
  /**
2635
2634
  * 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
2635
  *
@@ -3389,7 +3388,7 @@ interface PlayerGui extends BasePlayerGui {
3389
3388
  * Tags: Deprecated
3390
3389
  * @deprecated
3391
3390
  */
3392
- SetTopbarTransparency(this: PlayerGui, transparency: number): null;
3391
+ SetTopbarTransparency(this: PlayerGui, transparency: number): void;
3393
3392
  /**
3394
3393
  * Fires when the transparency of the Topbar CoreGui changes.
3395
3394
  * Tags: Deprecated
@@ -4104,7 +4103,7 @@ interface StarterGui extends BasePlayerGui {
4104
4103
  *
4105
4104
  * 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).
4106
4105
  */
4107
- SetCoreGuiEnabled(this: StarterGui, coreGuiType: CastsToEnum<Enum.CoreGuiType>, enabled: boolean): null;
4106
+ SetCoreGuiEnabled(this: StarterGui, coreGuiType: CastsToEnum<Enum.CoreGuiType>, enabled: boolean): void;
4108
4107
  /**
4109
4108
  * 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.
4110
4109
  *
@@ -4685,7 +4684,7 @@ interface Beam extends Instance {
4685
4684
  * * If the [Beam.Texture](https://developer.roblox.com/en-us/api-reference/property/Beam/Texture) property is not set, this function will do nothing
4686
4685
  * * 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
4687
4686
  */
4688
- SetTextureOffset(this: Beam, offset?: number): null;
4687
+ SetTextureOffset(this: Beam, offset?: number): void;
4689
4688
  }
4690
4689
 
4691
4690
  /** 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.
@@ -5393,11 +5392,11 @@ interface RocketPropulsion extends BodyMover {
5393
5392
  /**
5394
5393
  * Causes the Rocket to stop moving towards its target, making it fall.
5395
5394
  */
5396
- Abort(this: RocketPropulsion): null;
5395
+ Abort(this: RocketPropulsion): void;
5397
5396
  /**
5398
5397
  * Causes the rocket to fly towards Target.
5399
5398
  */
5400
- Fire(this: RocketPropulsion): null;
5399
+ Fire(this: RocketPropulsion): void;
5401
5400
  /**
5402
5401
  * 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.
5403
5402
  */
@@ -5857,7 +5856,7 @@ interface Camera extends Instance {
5857
5856
  * Tags: Deprecated
5858
5857
  * @deprecated
5859
5858
  */
5860
- Interpolate(this: Camera, endPos: CFrame, endFocus: CFrame, duration: number): null;
5859
+ Interpolate(this: Camera, endPos: CFrame, endFocus: CFrame, duration: number): void;
5861
5860
  /**
5862
5861
  * 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.
5863
5862
  *
@@ -5872,7 +5871,7 @@ interface Camera extends Instance {
5872
5871
  * Tags: Deprecated
5873
5872
  * @deprecated
5874
5873
  */
5875
- PanUnits(this: Camera, units: number): null;
5874
+ PanUnits(this: Camera, units: number): void;
5876
5875
  /**
5877
5876
  * 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).
5878
5877
  *
@@ -5893,7 +5892,7 @@ interface Camera extends Instance {
5893
5892
  *
5894
5893
  * SetCameraPan mode has no effect on PC / Mac users.
5895
5894
  */
5896
- SetCameraPanMode(this: Camera, mode?: CastsToEnum<Enum.CameraPanMode>): null;
5895
+ SetCameraPanMode(this: Camera, mode?: CastsToEnum<Enum.CameraPanMode>): void;
5897
5896
  /**
5898
5897
  * This function is outdated and no longer considered best practice.
5899
5898
  *
@@ -5917,7 +5916,7 @@ interface Camera extends Instance {
5917
5916
  * local rollCFrame = CFrame.Angles(0, 0, roll)
5918
5917
  * workspace.CurrentCamera.CFrame = currentCFrame \* rollCFrame
5919
5918
  */
5920
- SetRoll(this: Camera, rollAngle: number): null;
5919
+ SetRoll(this: Camera, rollAngle: number): void;
5921
5920
  /**
5922
5921
  * 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.
5923
5922
  *
@@ -5997,7 +5996,7 @@ interface Camera extends Instance {
5997
5996
  * 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).
5998
5997
  */
5999
5998
  WorldToViewportPoint(this: Camera, worldPoint: Vector3): LuaTuple<[Vector3, boolean]>;
6000
- ZoomToExtents(this: Camera, boundingBoxCFrame: CFrame, boundingBoxSize: Vector3): null;
5999
+ ZoomToExtents(this: Camera, boundingBoxCFrame: CFrame, boundingBoxSize: Vector3): void;
6001
6000
  /**
6002
6001
  * 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.
6003
6002
  *
@@ -6310,7 +6309,7 @@ interface Chat extends Instance {
6310
6309
  *
6311
6310
  * _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.
6312
6311
  */
6313
- Chat(this: Chat, partOrCharacter: BasePart | Model, message: string, color?: CastsToEnum<Enum.ChatColor>): null;
6312
+ Chat(this: Chat, partOrCharacter: BasePart | Model, message: string, color?: CastsToEnum<Enum.ChatColor>): void;
6314
6313
  /**
6315
6314
  * 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.
6316
6315
  *
@@ -6343,7 +6342,7 @@ interface Chat extends Instance {
6343
6342
  * * Set `message.ShouldDeliver` to false in order to cancel delivery of the message to players (useful for implementing a chat blacklist)
6344
6343
  * * Get/set the speaker's name color (`message.ExtraData.NameColor`, a Color3) on a message-by-message basis
6345
6344
  */
6346
- RegisterChatCallback(this: Chat, callbackType: CastsToEnum<Enum.ChatCallbackType>, callbackFunction: Callback): null;
6345
+ RegisterChatCallback(this: Chat, callbackType: CastsToEnum<Enum.ChatCallbackType>, callbackFunction: Callback): void;
6347
6346
  /**
6348
6347
  * **Note**
6349
6348
  *
@@ -6357,7 +6356,7 @@ interface Chat extends Instance {
6357
6356
  *
6358
6357
  * This function is client-side only, attempting to call it on the server will trigger an error.
6359
6358
  */
6360
- SetBubbleChatSettings(this: Chat, settings: unknown): null;
6359
+ SetBubbleChatSettings(this: Chat, settings: unknown): void;
6361
6360
  /**
6362
6361
  * 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.
6363
6362
  * Tags: Yields
@@ -6573,7 +6572,7 @@ interface CollectionService extends Instance {
6573
6572
  *
6574
6573
  * **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).
6575
6574
  */
6576
- AddTag(this: CollectionService, instance: Instance, tag: string): null;
6575
+ AddTag(this: CollectionService, instance: Instance, tag: string): void;
6577
6576
  GetAllTags(this: CollectionService): unknown;
6578
6577
  /**
6579
6578
  * GetInstanceAdded is given a tag (a string) and returns a signal which fires under two conditions:
@@ -6630,7 +6629,7 @@ interface CollectionService extends Instance {
6630
6629
  *
6631
6630
  * 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.
6632
6631
  */
6633
- RemoveTag(this: CollectionService, instance: Instance, tag: string): null;
6632
+ RemoveTag(this: CollectionService, instance: Instance, tag: string): void;
6634
6633
  /**
6635
6634
  * 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).
6636
6635
  * Tags: Deprecated, [object Object]
@@ -8085,13 +8084,13 @@ interface ContentProvider extends Instance {
8085
8084
  * Tags: Deprecated, [object Object]
8086
8085
  * @deprecated
8087
8086
  */
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;
8087
+ Preload(this: ContentProvider, contentId: string): void;
8088
+ RegisterDefaultEncryptionKey(this: ContentProvider, encryptionKey: string): void;
8089
+ RegisterDefaultSessionKey(this: ContentProvider, sessionKey: string): void;
8090
+ RegisterEncryptedAsset(this: ContentProvider, assetId: string, encryptionKey: string): void;
8091
+ RegisterSessionEncryptedAsset(this: ContentProvider, contentId: string, sessionKey: string): void;
8092
+ UnregisterDefaultEncryptionKey(this: ContentProvider): void;
8093
+ UnregisterEncryptedAsset(this: ContentProvider, assetId: string): void;
8095
8094
  /**
8096
8095
  * 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.
8097
8096
  *
@@ -8243,13 +8242,13 @@ interface ContextActionService extends Instance {
8243
8242
  * Tags: Deprecated, [object Object]
8244
8243
  * @deprecated
8245
8244
  */
8246
- BindActionToInputTypes(this: ContextActionService, actionName: string, functionToBind: Callback, createTouchButton: boolean, inputTypes: Array<any>): null;
8245
+ BindActionToInputTypes(this: ContextActionService, actionName: string, functionToBind: Callback, createTouchButton: boolean, inputTypes: Array<any>): void;
8247
8246
  /**
8248
8247
  * 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).
8249
8248
  *
8250
8249
  * 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.
8251
8250
  */
8252
- BindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodesForActivation: Array<any>): null;
8251
+ BindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodesForActivation: Array<any>): void;
8253
8252
  /**
8254
8253
  * 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.
8255
8254
  */
@@ -8318,39 +8317,39 @@ interface ContextActionService extends Instance {
8318
8317
  *
8319
8318
  * 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.
8320
8319
  */
8321
- SetDescription(this: ContextActionService, actionName: string, description: string): null;
8320
+ SetDescription(this: ContextActionService, actionName: string, description: string): void;
8322
8321
  /**
8323
8322
  * 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.
8324
8323
  *
8325
8324
  * 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).
8326
8325
  */
8327
- SetImage(this: ContextActionService, actionName: string, image: string): null;
8326
+ SetImage(this: ContextActionService, actionName: string, image: string): void;
8328
8327
  /**
8329
8328
  * 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.
8330
8329
  *
8331
8330
  * 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).
8332
8331
  */
8333
- SetPosition(this: ContextActionService, actionName: string, position: UDim2): null;
8332
+ SetPosition(this: ContextActionService, actionName: string, position: UDim2): void;
8334
8333
  /**
8335
8334
  * 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.
8336
8335
  *
8337
8336
  * 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).
8338
8337
  */
8339
- SetTitle(this: ContextActionService, actionName: string, title: string): null;
8338
+ SetTitle(this: ContextActionService, actionName: string, title: string): void;
8340
8339
  /**
8341
8340
  * 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.
8342
8341
  *
8343
8342
  * 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.
8344
8343
  */
8345
- UnbindAction(this: ContextActionService, actionName: string): null;
8344
+ UnbindAction(this: ContextActionService, actionName: string): void;
8346
8345
  /**
8347
8346
  * 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.
8348
8347
  */
8349
- UnbindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodeForActivation?: CastsToEnum<Enum.KeyCode>): null;
8348
+ UnbindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodeForActivation?: CastsToEnum<Enum.KeyCode>): void;
8350
8349
  /**
8351
8350
  * 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.
8352
8351
  */
8353
- UnbindAllActions(this: ContextActionService): null;
8352
+ UnbindAllActions(this: ContextActionService): void;
8354
8353
  /**
8355
8354
  * 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.
8356
8355
  *
@@ -8381,7 +8380,7 @@ interface Controller extends Instance {
8381
8380
  /**
8382
8381
  * Activates an overriding bind on the specified button.
8383
8382
  */
8384
- BindButton(this: Controller, button: CastsToEnum<Enum.Button>, caption: string): null;
8383
+ BindButton(this: Controller, button: CastsToEnum<Enum.Button>, caption: string): void;
8385
8384
  /**
8386
8385
  * Returns whether or not Button is being pressed.
8387
8386
  */
@@ -8389,7 +8388,7 @@ interface Controller extends Instance {
8389
8388
  /**
8390
8389
  * Removes the bind on button.
8391
8390
  */
8392
- UnbindButton(this: Controller, button: CastsToEnum<Enum.Button>): null;
8391
+ UnbindButton(this: Controller, button: CastsToEnum<Enum.Button>): void;
8393
8392
  /**
8394
8393
  * 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.
8395
8394
  */
@@ -8485,8 +8484,8 @@ interface AirController extends ControllerBase {
8485
8484
  MoveMaxForce: number;
8486
8485
  OrientationMaxTorque: number;
8487
8486
  OrientationSpeedFactor: number;
8488
- TurningMaxTorque: number;
8489
- TurningSpeedFactor: number;
8487
+ TurnMaxTorque: number;
8488
+ TurnSpeedFactor: number;
8490
8489
  /**
8491
8490
  * Tags: Hidden, NotReplicated, Deprecated
8492
8491
  * @deprecated
@@ -8570,11 +8569,6 @@ interface ControllerManager extends Instance {
8570
8569
  FacingDirection: Vector3;
8571
8570
  GroundSensor: ControllerSensor | undefined;
8572
8571
  MovingDirection: Vector3;
8573
- /**
8574
- * Tags: Deprecated
8575
- * @deprecated
8576
- */
8577
- GetControllers(this: ControllerManager): Array<Instance>;
8578
8572
  }
8579
8573
 
8580
8574
  /** Container class for the [HumanoidController](https://developer.roblox.com/en-us/api-reference/class/HumanoidController) among other classes. */
@@ -8919,7 +8913,7 @@ interface DataStoreIncrementOptions extends Instance {
8919
8913
  *
8920
8914
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
8921
8915
  */
8922
- SetMetadata(this: DataStoreIncrementOptions, attributes: object): null;
8916
+ SetMetadata(this: DataStoreIncrementOptions, attributes: object): void;
8923
8917
  }
8924
8918
 
8925
8919
  /** 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).
@@ -9141,7 +9135,7 @@ interface DataStoreOptions extends Instance {
9141
9135
  *
9142
9136
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
9143
9137
  */
9144
- SetExperimentalFeatures(this: DataStoreOptions, experimentalFeatures: object): null;
9138
+ SetExperimentalFeatures(this: DataStoreOptions, experimentalFeatures: object): void;
9145
9139
  }
9146
9140
 
9147
9141
  /** **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).
@@ -9222,7 +9216,7 @@ interface DataStoreSetOptions extends Instance {
9222
9216
  *
9223
9217
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
9224
9218
  */
9225
- SetMetadata(this: DataStoreSetOptions, attributes: object): null;
9219
+ SetMetadata(this: DataStoreSetOptions, attributes: object): void;
9226
9220
  }
9227
9221
 
9228
9222
  /** 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.
@@ -9301,7 +9295,7 @@ interface Debris extends Instance {
9301
9295
  *
9302
9296
  * 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.
9303
9297
  */
9304
- AddItem(this: Debris, item: Instance, lifetime?: number): null;
9298
+ AddItem(this: Debris, item: Instance, lifetime?: number): void;
9305
9299
  }
9306
9300
 
9307
9301
  interface DebuggablePluginWatcher extends Instance {
@@ -9551,7 +9545,7 @@ interface Dragger extends Instance {
9551
9545
  /**
9552
9546
  * Rotates the currently dragged part(s) by 90 degrees on the given axis.
9553
9547
  */
9554
- AxisRotate(this: Dragger, axis?: CastsToEnum<Enum.Axis>): null;
9548
+ AxisRotate(this: Dragger, axis?: CastsToEnum<Enum.Axis>): void;
9555
9549
  /**
9556
9550
  * Initializes a dragging action, specifying which parts to use when dragging.
9557
9551
  */
@@ -9559,11 +9553,11 @@ interface Dragger extends Instance {
9559
9553
  /**
9560
9554
  * Tries to move the currently dragged part to the point where MouseRay hits another part.
9561
9555
  */
9562
- MouseMove(this: Dragger, mouseRay: Ray): null;
9556
+ MouseMove(this: Dragger, mouseRay: Ray): void;
9563
9557
  /**
9564
9558
  * Stops the current dragging action (made by [MouseDown](https://developer.roblox.com/api-reference/function/Dragger/MouseDown "MouseDown"))
9565
9559
  */
9566
- MouseUp(this: Dragger): null;
9560
+ MouseUp(this: Dragger): void;
9567
9561
  }
9568
9562
 
9569
9563
  interface DraggerService extends Instance {
@@ -10474,7 +10468,7 @@ interface GamepadService extends Instance {
10474
10468
  */
10475
10469
  readonly _nominal_GamepadService: unique symbol;
10476
10470
  readonly GamepadCursorEnabled: boolean;
10477
- DisableGamepadCursor(this: GamepadService): null;
10471
+ DisableGamepadCursor(this: GamepadService): void;
10478
10472
  EnableGamepadCursor(this: GamepadService, guiObject: GuiObject | undefined): void;
10479
10473
  }
10480
10474
 
@@ -10710,7 +10704,7 @@ interface DataStore extends GlobalDataStore {
10710
10704
  * * [Data Stores](https://developer.roblox.com/en-us/articles/data-store), an in-depth guide on data structure, management, error handling, etc.
10711
10705
  * Tags: Yields
10712
10706
  */
10713
- RemoveVersionAsync(this: DataStore, key: string, version: string): null;
10707
+ RemoveVersionAsync(this: DataStore, key: string, version: string): void;
10714
10708
  }
10715
10709
 
10716
10710
  /** 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.
@@ -12833,7 +12827,7 @@ interface TextBox extends GuiObject {
12833
12827
  /**
12834
12828
  * Forces the client to focus on the TextBox.
12835
12829
  */
12836
- CaptureFocus(this: TextBox): null;
12830
+ CaptureFocus(this: TextBox): void;
12837
12831
  /**
12838
12832
  * Returns true if the textbox is focused, or false if it is not.
12839
12833
  */
@@ -12861,7 +12855,7 @@ interface TextBox extends GuiObject {
12861
12855
  *
12862
12856
  * Please be aware that the above example assumes that it's in a LocalScript, as a child of a TextBox.
12863
12857
  */
12864
- ReleaseFocus(this: TextBox, submitted?: boolean): null;
12858
+ ReleaseFocus(this: TextBox, submitted?: boolean): void;
12865
12859
  /**
12866
12860
  * 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.
12867
12861
  *
@@ -12951,11 +12945,11 @@ interface VideoFrame extends GuiObject {
12951
12945
  *
12952
12946
  * 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.
12953
12947
  */
12954
- Pause(this: VideoFrame): null;
12948
+ Pause(this: VideoFrame): void;
12955
12949
  /**
12956
12950
  * 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).
12957
12951
  */
12958
- Play(this: VideoFrame): null;
12952
+ Play(this: VideoFrame): void;
12959
12953
  /**
12960
12954
  * 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.
12961
12955
  */
@@ -13455,6 +13449,7 @@ interface AdGui extends SurfaceGuiBase {
13455
13449
  */
13456
13450
  readonly _nominal_AdGui: unique symbol;
13457
13451
  AdShape: Enum.AdShape;
13452
+ FallbackImage: string;
13458
13453
  /**
13459
13454
  * Tags: ReadOnly, NotReplicated
13460
13455
  */
@@ -13933,10 +13928,10 @@ interface WireframeHandleAdornment extends HandleAdornment {
13933
13928
  */
13934
13929
  readonly _nominal_WireframeHandleAdornment: unique symbol;
13935
13930
  Scale: Vector3;
13936
- AddLine(this: WireframeHandleAdornment, from: Vector3, to: Vector3): null;
13937
- AddLines(this: WireframeHandleAdornment, points: Array<any>): null;
13938
- AddPath(this: WireframeHandleAdornment, points: Array<any>, loop: boolean): null;
13939
- Clear(this: WireframeHandleAdornment): null;
13931
+ AddLine(this: WireframeHandleAdornment, from: Vector3, to: Vector3): void;
13932
+ AddLines(this: WireframeHandleAdornment, points: Array<any>): void;
13933
+ AddPath(this: WireframeHandleAdornment, points: Array<any>, loop: boolean): void;
13934
+ Clear(this: WireframeHandleAdornment): void;
13940
13935
  }
13941
13936
 
13942
13937
  /** A special type of Adornment that is still a work in progress.
@@ -14254,7 +14249,7 @@ interface GuiService extends Instance {
14254
14249
  * * [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
14255
14250
  * * [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
14256
14251
  */
14257
- CloseInspectMenu(this: GuiService): null;
14252
+ CloseInspectMenu(this: GuiService): void;
14258
14253
  /**
14259
14254
  * Returns a boolean indicating whether or not the player Emotes menu is open.
14260
14255
  *
@@ -14318,7 +14313,7 @@ interface GuiService extends Instance {
14318
14313
  * * `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
14319
14314
  * * [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
14320
14315
  */
14321
- InspectPlayerFromUserId(this: GuiService, userId: number): null;
14316
+ InspectPlayerFromUserId(this: GuiService, userId: number): void;
14322
14317
  /**
14323
14318
  * Returns true if the client is using the ten foot interface, which is a special version of Roblox's UI, exclusive to consoles.
14324
14319
  *
@@ -14328,12 +14323,12 @@ interface GuiService extends Instance {
14328
14323
  /**
14329
14324
  * 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).
14330
14325
  */
14331
- RemoveSelectionGroup(this: GuiService, selectionName: string): null;
14326
+ RemoveSelectionGroup(this: GuiService, selectionName: string): void;
14332
14327
  Select(this: GuiService, selectionParent: Instance): void;
14333
14328
  /**
14334
14329
  * Opens or closes the player Emotes menu.
14335
14330
  */
14336
- SetEmotesMenuOpen(this: GuiService, isOpen: boolean): null;
14331
+ SetEmotesMenuOpen(this: GuiService, isOpen: boolean): void;
14337
14332
  /**
14338
14333
  * 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.
14339
14334
  *
@@ -14344,7 +14339,7 @@ interface GuiService extends Instance {
14344
14339
  *
14345
14340
  * * [Workspace.StreamingPauseMode](https://developer.roblox.com/en-us/api-reference/property/Workspace/StreamingPauseMode), controls which streaming physics pause mode is active
14346
14341
  */
14347
- SetGameplayPausedNotificationEnabled(this: GuiService, enabled: boolean): null;
14342
+ SetGameplayPausedNotificationEnabled(this: GuiService, enabled: boolean): void;
14348
14343
  /**
14349
14344
  * 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.
14350
14345
  *
@@ -14360,7 +14355,7 @@ interface GuiService extends Instance {
14360
14355
  * * [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
14361
14356
  * * [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
14362
14357
  */
14363
- SetInspectMenuEnabled(this: GuiService, enabled: boolean): null;
14358
+ SetInspectMenuEnabled(this: GuiService, enabled: boolean): void;
14364
14359
  /**
14365
14360
  * Fires when the user **closes** the Roblox coregui escape menu.
14366
14361
  */
@@ -15233,7 +15228,7 @@ interface Humanoid extends Instance {
15233
15228
  *
15234
15229
  * 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.
15235
15230
  */
15236
- AddAccessory(this: Humanoid, accessory: Accessory): null;
15231
+ AddAccessory(this: Humanoid, accessory: Accessory): void;
15237
15232
  /**
15238
15233
  * 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.
15239
15234
  * Tags: Deprecated
@@ -15253,7 +15248,7 @@ interface Humanoid extends Instance {
15253
15248
  *
15254
15249
  * See the provided code sample below to see how this function works.
15255
15250
  */
15256
- BuildRigFromAttachments(this: Humanoid): null;
15251
+ BuildRigFromAttachments(this: Humanoid): void;
15257
15252
  /**
15258
15253
  * 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).
15259
15254
  *
@@ -15272,7 +15267,7 @@ interface Humanoid extends Instance {
15272
15267
  * * To enable or disable a particular state use [Humanoid:SetStateEnabled](https://developer.roblox.com/en-us/api-reference/function/Humanoid/SetStateEnabled)
15273
15268
  * * To get the current state use [Humanoid:GetState](https://developer.roblox.com/en-us/api-reference/function/Humanoid/GetState)
15274
15269
  */
15275
- ChangeState(this: Humanoid, state?: CastsToEnum<Enum.HumanoidStateType>): null;
15270
+ ChangeState(this: Humanoid, state?: CastsToEnum<Enum.HumanoidStateType>): void;
15276
15271
  /**
15277
15272
  * 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).
15278
15273
  *
@@ -15300,7 +15295,7 @@ interface Humanoid extends Instance {
15300
15295
  *
15301
15296
  * * To unequip tools, use [Humanoid:UnequipTools](https://developer.roblox.com/en-us/api-reference/function/Humanoid/UnequipTools)
15302
15297
  */
15303
- EquipTool(this: Humanoid, tool: Tool): null;
15298
+ EquipTool(this: Humanoid, tool: Tool): void;
15304
15299
  /**
15305
15300
  * 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.
15306
15301
  *
@@ -15445,7 +15440,7 @@ interface Humanoid extends Instance {
15445
15440
  * * 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
15446
15441
  * * 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
15447
15442
  */
15448
- Move(this: Humanoid, moveDirection: Vector3, relativeToCamera?: boolean): null;
15443
+ Move(this: Humanoid, moveDirection: Vector3, relativeToCamera?: boolean): void;
15449
15444
  /**
15450
15445
  * 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.
15451
15446
  *
@@ -15455,7 +15450,7 @@ interface Humanoid extends Instance {
15455
15450
  *
15456
15451
  * 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.
15457
15452
  */
15458
- MoveTo(this: Humanoid, location: Vector3, part?: BasePart): null;
15453
+ MoveTo(this: Humanoid, location: Vector3, part?: BasePart): void;
15459
15454
  /**
15460
15455
  * 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.
15461
15456
  *
@@ -15467,7 +15462,7 @@ interface Humanoid extends Instance {
15467
15462
  * * 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
15468
15463
  * * 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
15469
15464
  */
15470
- RemoveAccessories(this: Humanoid): null;
15465
+ RemoveAccessories(this: Humanoid): void;
15471
15466
  /**
15472
15467
  * The RemoveCustomStatus function removes the defined custom status from the Status model in the Humanoid…
15473
15468
  * Tags: Deprecated
@@ -15495,7 +15490,7 @@ interface Humanoid extends Instance {
15495
15490
  *
15496
15491
  * 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.
15497
15492
  */
15498
- SetStateEnabled(this: Humanoid, state: CastsToEnum<Enum.HumanoidStateType>, enabled: boolean): null;
15493
+ SetStateEnabled(this: Humanoid, state: CastsToEnum<Enum.HumanoidStateType>, enabled: boolean): void;
15499
15494
  /**
15500
15495
  * 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)
15501
15496
  *
@@ -15514,7 +15509,7 @@ interface Humanoid extends Instance {
15514
15509
  *
15515
15510
  * 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
15516
15511
  */
15517
- TakeDamage(this: Humanoid, amount: number): null;
15512
+ TakeDamage(this: Humanoid, amount: number): void;
15518
15513
  /**
15519
15514
  * 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)
15520
15515
  *
@@ -15529,7 +15524,7 @@ interface Humanoid extends Instance {
15529
15524
  *
15530
15525
  * * 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)
15531
15526
  */
15532
- UnequipTools(this: Humanoid): null;
15527
+ UnequipTools(this: Humanoid): void;
15533
15528
  /**
15534
15529
  * 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.
15535
15530
  *
@@ -15544,11 +15539,11 @@ interface Humanoid extends Instance {
15544
15539
  * * [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
15545
15540
  * Tags: Yields
15546
15541
  */
15547
- ApplyDescription(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): null;
15542
+ ApplyDescription(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): void;
15548
15543
  /**
15549
15544
  * Tags: Yields
15550
15545
  */
15551
- ApplyDescriptionReset(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): null;
15546
+ ApplyDescriptionReset(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): void;
15552
15547
  /**
15553
15548
  * 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.
15554
15549
  * Tags: Yields
@@ -16316,7 +16311,7 @@ interface HumanoidDescription extends Instance {
16316
16311
  * * [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
16317
16312
  * * [EmotesChanged](https://developer.roblox.com/en-us/api-reference/event/HumanoidDescription/EmotesChanged), which fires after this function is called
16318
16313
  */
16319
- AddEmote(this: HumanoidDescription, name: string, assetId: number): null;
16314
+ AddEmote(this: HumanoidDescription, name: string, assetId: number): void;
16320
16315
  /**
16321
16316
  * 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.
16322
16317
  */
@@ -16378,11 +16373,11 @@ interface HumanoidDescription extends Instance {
16378
16373
  * * [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
16379
16374
  * * [GetEmotes](https://developer.roblox.com/en-us/api-reference/function/HumanoidDescription/GetEmotes), which can retrieve a dictionary of emotes that may be removed
16380
16375
  */
16381
- RemoveEmote(this: HumanoidDescription, name: string): null;
16376
+ RemoveEmote(this: HumanoidDescription, name: string): void;
16382
16377
  /**
16383
16378
  * 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.
16384
16379
  */
16385
- SetAccessories(this: HumanoidDescription, accessories: Array<any>, includeRigidAccessories: boolean): null;
16380
+ SetAccessories(this: HumanoidDescription, accessories: Array<any>, includeRigidAccessories: boolean): void;
16386
16381
  /**
16387
16382
  * **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)
16388
16383
  *
@@ -16550,14 +16545,14 @@ interface ImageDataExperimental extends Instance {
16550
16545
  * Tags: ReadOnly, NotReplicated
16551
16546
  */
16552
16547
  readonly TemporaryId: string;
16553
- Clear(this: ImageDataExperimental): null;
16554
- DrawCircle(this: ImageDataExperimental, center: Vector2, radius: number, color: Color3, alpha: number): null;
16555
- Resize(this: ImageDataExperimental, newSize: Vector2): null;
16556
- Rotate(this: ImageDataExperimental, degrees: number, resizeCanvas?: boolean): null;
16548
+ Clear(this: ImageDataExperimental): void;
16549
+ DrawCircle(this: ImageDataExperimental, center: Vector2, radius: number, color: Color3, alpha: number): void;
16550
+ Resize(this: ImageDataExperimental, newSize: Vector2): void;
16551
+ Rotate(this: ImageDataExperimental, degrees: number, resizeCanvas?: boolean): void;
16557
16552
  /**
16558
16553
  * Tags: Yields
16559
16554
  */
16560
- PopulateFromImageAsync(this: ImageDataExperimental, textureId: string): null;
16555
+ PopulateFromImageAsync(this: ImageDataExperimental, textureId: string): void;
16561
16556
  }
16562
16557
 
16563
16558
  interface IncrementalPatchBuilder extends Instance {
@@ -18225,18 +18220,18 @@ interface InsertService extends Instance {
18225
18220
  * Tags: Deprecated
18226
18221
  * @deprecated
18227
18222
  */
18228
- ApproveAssetId(this: InsertService, assetId: number): null;
18223
+ ApproveAssetId(this: InsertService, assetId: number): void;
18229
18224
  /**
18230
18225
  * Tags: Deprecated
18231
18226
  * @deprecated
18232
18227
  */
18233
- ApproveAssetVersionId(this: InsertService, assetVersionId: number): null;
18228
+ ApproveAssetVersionId(this: InsertService, assetVersionId: number): void;
18234
18229
  /**
18235
18230
  * The Insert function is an ancient method used to insert an [Instance](https://developer.roblox.com/en-us/api-reference/class/Instance) into Workspace.
18236
18231
  * Tags: Deprecated
18237
18232
  * @deprecated
18238
18233
  */
18239
- Insert(this: InsertService, instance: Instance): null;
18234
+ Insert(this: InsertService, instance: Instance): void;
18240
18235
  /**
18241
18236
  * Tags: Yields, Deprecated, [object Object]
18242
18237
  * @deprecated
@@ -18661,7 +18656,7 @@ interface Motor extends JointInstance {
18661
18656
  /**
18662
18657
  * Sets [Motor.DesiredAngle](https://developer.roblox.com/en-us/api-reference/property/Motor/DesiredAngle) of the motor.
18663
18658
  */
18664
- SetDesiredAngle(this: Motor, value: number): null;
18659
+ SetDesiredAngle(this: Motor, value: number): void;
18665
18660
  }
18666
18661
 
18667
18662
  /** **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).
@@ -18807,11 +18802,11 @@ interface JointsService extends Instance {
18807
18802
  /**
18808
18803
  * 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.
18809
18804
  */
18810
- ClearJoinAfterMoveJoints(this: JointsService): null;
18805
+ ClearJoinAfterMoveJoints(this: JointsService): void;
18811
18806
  /**
18812
18807
  * 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.
18813
18808
  */
18814
- CreateJoinAfterMoveJoints(this: JointsService): null;
18809
+ CreateJoinAfterMoveJoints(this: JointsService): void;
18815
18810
  /**
18816
18811
  * 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).
18817
18812
  */
@@ -18823,7 +18818,7 @@ interface JointsService extends Instance {
18823
18818
  /**
18824
18819
  * 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).
18825
18820
  */
18826
- ShowPermissibleJoints(this: JointsService): null;
18821
+ ShowPermissibleJoints(this: JointsService): void;
18827
18822
  }
18828
18823
 
18829
18824
  /** 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.
@@ -18882,7 +18877,7 @@ interface Keyframe extends Instance {
18882
18877
  *
18883
18878
  * 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.
18884
18879
  */
18885
- AddPose(this: Keyframe, pose: Pose): null;
18880
+ AddPose(this: Keyframe, pose: Pose): void;
18886
18881
  /**
18887
18882
  * 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.
18888
18883
  *
@@ -18934,7 +18929,7 @@ interface Keyframe extends Instance {
18934
18929
  *
18935
18930
  * 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.
18936
18931
  */
18937
- RemovePose(this: Keyframe, pose: Pose): null;
18932
+ RemovePose(this: Keyframe, pose: Pose): void;
18938
18933
  }
18939
18934
 
18940
18935
  /** 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.
@@ -19623,7 +19618,7 @@ interface Lighting extends Instance {
19623
19618
  * wait()
19624
19619
  * end
19625
19620
  */
19626
- SetMinutesAfterMidnight(this: Lighting, minutes: number): null;
19621
+ SetMinutesAfterMidnight(this: Lighting, minutes: number): void;
19627
19622
  /**
19628
19623
  * 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).
19629
19624
  *
@@ -20863,11 +20858,11 @@ interface LocalizationTable extends Instance {
20863
20858
  /**
20864
20859
  * Removes an entry from the LocalizationTable, using the specified _key_, _source_, and _context_ to narrow down the specific entry to be removed.
20865
20860
  */
20866
- RemoveEntry(this: LocalizationTable, key: string, source: string, context: string): null;
20861
+ RemoveEntry(this: LocalizationTable, key: string, source: string, context: string): void;
20867
20862
  /**
20868
20863
  * 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.
20869
20864
  */
20870
- RemoveEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string): null;
20865
+ RemoveEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string): void;
20871
20866
  /**
20872
20867
  * Deprecated in favor of [LocalizationTable:RemoveEntry](https://developer.roblox.com/en-us/api-reference/function/LocalizationTable/RemoveEntry).
20873
20868
  *
@@ -20877,17 +20872,17 @@ interface LocalizationTable extends Instance {
20877
20872
  * Tags: Deprecated, [object Object]
20878
20873
  * @deprecated
20879
20874
  */
20880
- RemoveKey(this: LocalizationTable, key: string): null;
20875
+ RemoveKey(this: LocalizationTable, key: string): void;
20881
20876
  /**
20882
20877
  * Removes all translations from the LocalizationTable with the specified localeId.
20883
20878
  */
20884
- RemoveTargetLocale(this: LocalizationTable, localeId: string): null;
20879
+ RemoveTargetLocale(this: LocalizationTable, localeId: string): void;
20885
20880
  /**
20886
20881
  * The SetContents function sets the contents of the LocalizationTable, via the legacy JSON format.
20887
20882
  * Tags: Deprecated, [object Object]
20888
20883
  * @deprecated
20889
20884
  */
20890
- SetContents(this: LocalizationTable, contents: string): null;
20885
+ SetContents(this: LocalizationTable, contents: string): void;
20891
20886
  /**
20892
20887
  * Sets the contents of the LocalizationTable.
20893
20888
  *
@@ -20898,27 +20893,27 @@ interface LocalizationTable extends Instance {
20898
20893
  * Tags: Deprecated, [object Object]
20899
20894
  * @deprecated
20900
20895
  */
20901
- SetEntry(this: LocalizationTable, key: string, targetLocaleId: string, text: string): null;
20896
+ SetEntry(this: LocalizationTable, key: string, targetLocaleId: string, text: string): void;
20902
20897
  /**
20903
20898
  * 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.
20904
20899
  */
20905
- SetEntryContext(this: LocalizationTable, key: string, source: string, context: string, newContext: string): null;
20900
+ SetEntryContext(this: LocalizationTable, key: string, source: string, context: string, newContext: string): void;
20906
20901
  /**
20907
20902
  * 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.
20908
20903
  */
20909
- SetEntryExample(this: LocalizationTable, key: string, source: string, context: string, example: string): null;
20904
+ SetEntryExample(this: LocalizationTable, key: string, source: string, context: string, example: string): void;
20910
20905
  /**
20911
20906
  * 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.
20912
20907
  */
20913
- SetEntryKey(this: LocalizationTable, key: string, source: string, context: string, newKey: string): null;
20908
+ SetEntryKey(this: LocalizationTable, key: string, source: string, context: string, newKey: string): void;
20914
20909
  /**
20915
20910
  * 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.
20916
20911
  */
20917
- SetEntrySource(this: LocalizationTable, key: string, source: string, context: string, newSource: string): null;
20912
+ SetEntrySource(this: LocalizationTable, key: string, source: string, context: string, newSource: string): void;
20918
20913
  /**
20919
20914
  * 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.
20920
20915
  */
20921
- SetEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string, text: string): null;
20916
+ SetEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string, text: string): void;
20922
20917
  }
20923
20918
 
20924
20919
  interface CloudLocalizationTable extends LocalizationTable {
@@ -21185,11 +21180,11 @@ interface MarketplaceService extends Instance {
21185
21180
  /**
21186
21181
  * Used to prompt a user to purchase a bundle with the given bundleId
21187
21182
  */
21188
- PromptBundlePurchase(this: MarketplaceService, player: Player, bundleId: number): null;
21183
+ PromptBundlePurchase(this: MarketplaceService, player: Player, bundleId: number): void;
21189
21184
  /**
21190
21185
  * Used to prompt a user to purchase a game pass with the given assetId.
21191
21186
  */
21192
- PromptGamePassPurchase(this: MarketplaceService, player: Player, gamePassId: number): null;
21187
+ PromptGamePassPurchase(this: MarketplaceService, player: Player, gamePassId: number): void;
21193
21188
  /**
21194
21189
  * 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.”
21195
21190
  *
@@ -21203,7 +21198,7 @@ interface MarketplaceService extends Instance {
21203
21198
  * * [MarketplaceService.PromptPremiumPurchaseFinished](https://developer.roblox.com/en-us/api-reference/event/MarketplaceService/PromptPremiumPurchaseFinished), fires when the Premium purchase UI closes
21204
21199
  * * [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
21205
21200
  */
21206
- PromptPremiumPurchase(this: MarketplaceService, player: Player): null;
21201
+ PromptPremiumPurchase(this: MarketplaceService, player: Player): void;
21207
21202
  /**
21208
21203
  * Used to prompt a user to purchase a product with the given product id.
21209
21204
  */
@@ -21232,8 +21227,8 @@ interface MarketplaceService extends Instance {
21232
21227
  equipIfPurchased?: boolean,
21233
21228
  currencyType?: CastsToEnum<Enum.CurrencyType>,
21234
21229
  ): void;
21235
- PromptSubscriptionCancellation(this: MarketplaceService, player: Player, subscriptionId: number): null;
21236
- PromptSubscriptionPurchase(this: MarketplaceService, player: Player, subscriptionId: number): null;
21230
+ PromptSubscriptionCancellation(this: MarketplaceService, player: Player, subscriptionId: number): void;
21231
+ PromptSubscriptionPurchase(this: MarketplaceService, player: Player, subscriptionId: number): void;
21237
21232
  /**
21238
21233
  * 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.
21239
21234
  * Tags: Yields
@@ -21603,7 +21598,7 @@ interface MaterialService extends Instance {
21603
21598
  readonly _nominal_MaterialService: unique symbol;
21604
21599
  GetBaseMaterialOverride(this: MaterialService, material: CastsToEnum<Enum.Material>): string;
21605
21600
  GetMaterialVariant(this: MaterialService, material: CastsToEnum<Enum.Material>, name: string): MaterialVariant;
21606
- SetBaseMaterialOverride(this: MaterialService, material: CastsToEnum<Enum.Material>, name: string): null;
21601
+ SetBaseMaterialOverride(this: MaterialService, material: CastsToEnum<Enum.Material>, name: string): void;
21607
21602
  }
21608
21603
 
21609
21604
  interface MaterialVariant extends Instance {
@@ -21637,7 +21632,7 @@ interface MemoryStoreQueue extends Instance {
21637
21632
  * Adds an item to the queue.
21638
21633
  * Tags: Yields
21639
21634
  */
21640
- AddAsync(this: MemoryStoreQueue, value: unknown, expiration: number, priority?: number): null;
21635
+ AddAsync(this: MemoryStoreQueue, value: unknown, expiration: number, priority?: number): void;
21641
21636
  /**
21642
21637
  * Reads one or more items from the queue as a single atomic operation.
21643
21638
  *
@@ -21654,7 +21649,7 @@ interface MemoryStoreQueue extends Instance {
21654
21649
  * 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.
21655
21650
  * Tags: Yields
21656
21651
  */
21657
- RemoveAsync(this: MemoryStoreQueue, id: string): null;
21652
+ RemoveAsync(this: MemoryStoreQueue, id: string): void;
21658
21653
  }
21659
21654
 
21660
21655
  /** 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.
@@ -21714,7 +21709,7 @@ interface MemoryStoreSortedMap extends Instance {
21714
21709
  * For a more in-depth look, take a look at the [Memory Store](https://developer.roblox.com/en-us/articles/memory-store) article.
21715
21710
  * Tags: Yields
21716
21711
  */
21717
- RemoveAsync(this: MemoryStoreSortedMap, key: string): null;
21712
+ RemoveAsync(this: MemoryStoreSortedMap, key: string): void;
21718
21713
  /**
21719
21714
  * Sets the value of the key overwriting any existing key value.
21720
21715
  * Tags: Yields
@@ -21757,7 +21752,7 @@ interface MeshDataExperimental extends Instance {
21757
21752
  /**
21758
21753
  * Tags: Yields
21759
21754
  */
21760
- PopulateFromMeshAsync(this: MeshDataExperimental, meshId: string): null;
21755
+ PopulateFromMeshAsync(this: MeshDataExperimental, meshId: string): void;
21761
21756
  }
21762
21757
 
21763
21758
  interface MessageBusConnection extends Instance {
@@ -21837,7 +21832,7 @@ interface MessagingService extends Instance {
21837
21832
  * * [MessagingService:SubscribeAsync](https://developer.roblox.com/en-us/api-reference/function/MessagingService/SubscribeAsync), begins listening to the given topic
21838
21833
  * Tags: Yields
21839
21834
  */
21840
- PublishAsync(this: MessagingService, topic: string, message: unknown): null;
21835
+ PublishAsync(this: MessagingService, topic: string, message: unknown): void;
21841
21836
  /**
21842
21837
  * 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.
21843
21838
  *
@@ -22453,7 +22448,7 @@ interface PVInstance extends Instance {
22453
22448
  *
22454
22449
  * [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.
22455
22450
  */
22456
- PivotTo(this: PVInstance, targetCFrame: CFrame): null;
22451
+ PivotTo(this: PVInstance, targetCFrame: CFrame): void;
22457
22452
  }
22458
22453
 
22459
22454
  /** 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).
@@ -22688,7 +22683,8 @@ interface BasePart extends PVInstance {
22688
22683
  * 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).
22689
22684
  *
22690
22685
  * 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.
22691
- * Tags: NotReplicated
22686
+ * Tags: NotReplicated, Deprecated, [object Object]
22687
+ * @deprecated
22692
22688
  */
22693
22689
  CollisionGroupId: number;
22694
22690
  /**
@@ -23176,7 +23172,7 @@ interface BasePart extends PVInstance {
23176
23172
  *
23177
23173
  * 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\`\`.
23178
23174
  */
23179
- ApplyAngularImpulse(this: BasePart, impulse: Vector3): null;
23175
+ ApplyAngularImpulse(this: BasePart, impulse: Vector3): void;
23180
23176
  /**
23181
23177
  * This function applies an instant force impulse to this [part's](https://developer.roblox.com/en-us/api-reference/class/BasePart) assembly.
23182
23178
  *
@@ -23186,7 +23182,7 @@ interface BasePart extends PVInstance {
23186
23182
  *
23187
23183
  * 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).
23188
23184
  */
23189
- ApplyImpulse(this: BasePart, impulse: Vector3): null;
23185
+ ApplyImpulse(this: BasePart, impulse: Vector3): void;
23190
23186
  /**
23191
23187
  * 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.
23192
23188
  *
@@ -23196,13 +23192,13 @@ interface BasePart extends PVInstance {
23196
23192
  *
23197
23193
  * 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).
23198
23194
  */
23199
- ApplyImpulseAtPosition(this: BasePart, impulse: Vector3, position: Vector3): null;
23195
+ ApplyImpulseAtPosition(this: BasePart, impulse: Vector3, position: Vector3): void;
23200
23196
  /**
23201
23197
  * 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).
23202
23198
  * Tags: Deprecated
23203
23199
  * @deprecated
23204
23200
  */
23205
- BreakJoints(this: BasePart): null;
23201
+ BreakJoints(this: BasePart): void;
23206
23202
  /**
23207
23203
  * Returns whether the parts can collide with each other or not. This function takes into account the collision groups of the two parts.
23208
23204
  *
@@ -23312,7 +23308,7 @@ interface BasePart extends PVInstance {
23312
23308
  * Tags: Deprecated
23313
23309
  * @deprecated
23314
23310
  */
23315
- MakeJoints(this: BasePart): null;
23311
+ MakeJoints(this: BasePart): void;
23316
23312
  /**
23317
23313
  * Changes the size of an object just like using the Studio resize tool.
23318
23314
  */
@@ -23633,7 +23629,7 @@ interface Seat extends Part {
23633
23629
  /**
23634
23630
  * Forces the character with the specified [Humanoid](https://developer.roblox.com/api-reference/class/Humanoid "Humanoid") to sit in the Seat.
23635
23631
  */
23636
- Sit(this: Seat, humanoid: Humanoid): null;
23632
+ Sit(this: Seat, humanoid: Humanoid): void;
23637
23633
  /**
23638
23634
  * Tags: Hidden
23639
23635
  */
@@ -23679,7 +23675,7 @@ interface SkateboardPlatform extends Part {
23679
23675
  /**
23680
23676
  * Adds ''impulseWorld'' to the SkateboardPlatform's [BasePart.Velocity](https://developer.roblox.com/en-us/api-reference/property/BasePart/Velocity).
23681
23677
  */
23682
- ApplySpecificImpulse(this: SkateboardPlatform, impulseWorld: Vector3): null;
23678
+ ApplySpecificImpulse(this: SkateboardPlatform, impulseWorld: Vector3): void;
23683
23679
  /**
23684
23680
  * Fired when the skateboard is equipped.
23685
23681
  */
@@ -23842,7 +23838,7 @@ interface Terrain extends BasePart {
23842
23838
  * Tags: Deprecated
23843
23839
  * @deprecated
23844
23840
  */
23845
- AutowedgeCells(this: Terrain, region: Region3int16): null;
23841
+ AutowedgeCells(this: Terrain, region: Region3int16): void;
23846
23842
  /**
23847
23843
  * Returns the world position of the center of the terrain cell (x, y, z).
23848
23844
  */
@@ -23854,7 +23850,7 @@ interface Terrain extends BasePart {
23854
23850
  /**
23855
23851
  * Clears the terrain.
23856
23852
  */
23857
- Clear(this: Terrain): null;
23853
+ Clear(this: Terrain): void;
23858
23854
  /**
23859
23855
  * 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.
23860
23856
  */
@@ -23866,11 +23862,11 @@ interface Terrain extends BasePart {
23866
23862
  /**
23867
23863
  * Fills a ball of smooth terrain in a given space.
23868
23864
  */
23869
- FillBall(this: Terrain, center: Vector3, radius: number, material: CastsToEnum<Enum.Material>): null;
23865
+ FillBall(this: Terrain, center: Vector3, radius: number, material: CastsToEnum<Enum.Material>): void;
23870
23866
  /**
23871
23867
  * Fills a block of smooth terrain with a given location, rotation, size, and material.
23872
23868
  */
23873
- FillBlock(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): null;
23869
+ FillBlock(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): void;
23874
23870
  /**
23875
23871
  * Fills a cylinder of smooth terrain in a given space. The space is defined using a CFrame, height, and radius.
23876
23872
  *
@@ -23879,11 +23875,11 @@ interface Terrain extends BasePart {
23879
23875
  *
23880
23876
  * workspace.Terrain:FillCylinder(CFrame.new(0, 50, 0), 5, 30, Enum.Material.Asphalt)
23881
23877
  */
23882
- FillCylinder(this: Terrain, cframe: CFrame, height: number, radius: number, material: CastsToEnum<Enum.Material>): null;
23878
+ FillCylinder(this: Terrain, cframe: CFrame, height: number, radius: number, material: CastsToEnum<Enum.Material>): void;
23883
23879
  /**
23884
23880
  * Fills a [Region3](https://developer.roblox.com/api-reference/datatype/Region3 "Region3") space with smooth terrain.
23885
23881
  */
23886
- FillRegion(this: Terrain, region: Region3, resolution: number, material: CastsToEnum<Enum.Material>): null;
23882
+ FillRegion(this: Terrain, region: Region3, resolution: number, material: CastsToEnum<Enum.Material>): void;
23887
23883
  /**
23888
23884
  * **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).
23889
23885
  *
@@ -23893,7 +23889,7 @@ interface Terrain extends BasePart {
23893
23889
  *
23894
23890
  * workspace.Terrain:FillWedge(CFrame.new(0, 50, 0), Vector3.new(20, 20, 20), Enum.Material.Asphalt)
23895
23891
  */
23896
- FillWedge(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): null;
23892
+ FillWedge(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): void;
23897
23893
  /**
23898
23894
  * 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''.
23899
23895
  * Tags: Deprecated
@@ -23913,7 +23909,7 @@ interface Terrain extends BasePart {
23913
23909
  /**
23914
23910
  * 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.
23915
23911
  */
23916
- PasteRegion(this: Terrain, region: TerrainRegion, corner: Vector3int16, pasteEmptyCells: boolean): null;
23912
+ PasteRegion(this: Terrain, region: TerrainRegion, corner: Vector3int16, pasteEmptyCells: boolean): void;
23917
23913
  /**
23918
23914
  * 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).
23919
23915
  * Tags: CustomLuaState
@@ -23931,7 +23927,7 @@ interface Terrain extends BasePart {
23931
23927
  *
23932
23928
  * 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.
23933
23929
  */
23934
- ReplaceMaterial(this: Terrain, region: Region3, resolution: number, sourceMaterial: CastsToEnum<Enum.Material>, targetMaterial: CastsToEnum<Enum.Material>): null;
23930
+ ReplaceMaterial(this: Terrain, region: Region3, resolution: number, sourceMaterial: CastsToEnum<Enum.Material>, targetMaterial: CastsToEnum<Enum.Material>): void;
23935
23931
  /**
23936
23932
  * 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.
23937
23933
  *
@@ -23939,7 +23935,7 @@ interface Terrain extends BasePart {
23939
23935
  * Tags: Deprecated
23940
23936
  * @deprecated
23941
23937
  */
23942
- SetCell(this: Terrain, x: number, y: number, z: number, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): null;
23938
+ SetCell(this: Terrain, x: number, y: number, z: number, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): void;
23943
23939
  /**
23944
23940
  * 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.
23945
23941
  *
@@ -23947,11 +23943,11 @@ interface Terrain extends BasePart {
23947
23943
  * Tags: Deprecated
23948
23944
  * @deprecated
23949
23945
  */
23950
- SetCells(this: Terrain, region: Region3int16, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): null;
23946
+ SetCells(this: Terrain, region: Region3int16, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): void;
23951
23947
  /**
23952
23948
  * Sets current terrain material color for specified terrain material. Terrain material will shift its base color toward specified color.
23953
23949
  */
23954
- SetMaterialColor(this: Terrain, material: CastsToEnum<Enum.Material>, value: Color3): null;
23950
+ SetMaterialColor(this: Terrain, material: CastsToEnum<Enum.Material>, value: Color3): void;
23955
23951
  /**
23956
23952
  * Sets the specified terrain voxel's material to ''Water'' and sets its occupancy to 1. _WaterDirection_ and _WaterForce_ no longer have any effect.
23957
23953
  *
@@ -23959,7 +23955,7 @@ interface Terrain extends BasePart {
23959
23955
  * Tags: Deprecated
23960
23956
  * @deprecated
23961
23957
  */
23962
- SetWaterCell(this: Terrain, x: number, y: number, z: number, force: CastsToEnum<Enum.WaterForce>, direction: CastsToEnum<Enum.WaterDirection>): null;
23958
+ SetWaterCell(this: Terrain, x: number, y: number, z: number, force: CastsToEnum<Enum.WaterForce>, direction: CastsToEnum<Enum.WaterDirection>): void;
23963
23959
  /**
23964
23960
  * Returns the grid cell location that contains the point **position**.
23965
23961
  */
@@ -24126,7 +24122,7 @@ interface MeshPart extends TriangleMeshPart {
24126
24122
  * 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/).
24127
24123
  */
24128
24124
  TextureID: string;
24129
- ApplyMesh(this: MeshPart, meshPart: MeshPart): null;
24125
+ ApplyMesh(this: MeshPart, meshPart: MeshPart): void;
24130
24126
  }
24131
24127
 
24132
24128
  /** An abstract class that all parts based on [solid modeling](https://developer.roblox.com/en-us/articles/3d-modeling-with-parts) inherit from. */
@@ -24314,7 +24310,7 @@ interface VehicleSeat extends BasePart {
24314
24310
  /**
24315
24311
  * Forces the character with the specified [Humanoid](https://developer.roblox.com/api-reference/class/Humanoid "Humanoid") to sit in the VehicleSeat.
24316
24312
  */
24317
- Sit(this: VehicleSeat, humanoid: Humanoid): null;
24313
+ Sit(this: VehicleSeat, humanoid: Humanoid): void;
24318
24314
  /**
24319
24315
  * Tags: Hidden
24320
24316
  */
@@ -24377,7 +24373,7 @@ interface Model extends PVInstance {
24377
24373
  * Tags: NotReplicated
24378
24374
  */
24379
24375
  WorldPivot: CFrame;
24380
- AddPersistentPlayer(this: Model, playerInstance?: Player): null;
24376
+ AddPersistentPlayer(this: Model, playerInstance?: Player): void;
24381
24377
  /**
24382
24378
  * 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.
24383
24379
  *
@@ -24387,7 +24383,7 @@ interface Model extends PVInstance {
24387
24383
  * Tags: Deprecated
24388
24384
  * @deprecated
24389
24385
  */
24390
- BreakJoints(this: Model): null;
24386
+ BreakJoints(this: Model): void;
24391
24387
  /**
24392
24388
  * 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**.
24393
24389
  *
@@ -24468,7 +24464,7 @@ interface Model extends PVInstance {
24468
24464
  * Tags: Deprecated
24469
24465
  * @deprecated
24470
24466
  */
24471
- MakeJoints(this: Model): null;
24467
+ MakeJoints(this: Model): void;
24472
24468
  /**
24473
24469
  * 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.
24474
24470
  *
@@ -24476,21 +24472,21 @@ interface Model extends PVInstance {
24476
24472
  *
24477
24473
  * 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.
24478
24474
  */
24479
- MoveTo(this: Model, position: Vector3): null;
24480
- RemovePersistentPlayer(this: Model, playerInstance?: Player): null;
24475
+ MoveTo(this: Model, position: Vector3): void;
24476
+ RemovePersistentPlayer(this: Model, playerInstance?: Player): void;
24481
24477
  /**
24482
24478
  * 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.
24483
24479
  * Tags: Deprecated, [object Object]
24484
24480
  * @deprecated
24485
24481
  */
24486
- ResetOrientationToIdentity(this: Model): null;
24487
- ScaleTo(this: Model, newScaleFactor: number): null;
24482
+ ResetOrientationToIdentity(this: Model): void;
24483
+ ScaleTo(this: Model, newScaleFactor: number): void;
24488
24484
  /**
24489
24485
  * 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.
24490
24486
  * Tags: Deprecated, [object Object]
24491
24487
  * @deprecated
24492
24488
  */
24493
- SetIdentityOrientation(this: Model): null;
24489
+ SetIdentityOrientation(this: Model): void;
24494
24490
  /**
24495
24491
  * 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.
24496
24492
  *
@@ -24508,13 +24504,13 @@ interface Model extends PVInstance {
24508
24504
  * Tags: Deprecated, [object Object]
24509
24505
  * @deprecated
24510
24506
  */
24511
- SetPrimaryPartCFrame(this: Model, cframe: CFrame): null;
24507
+ SetPrimaryPartCFrame(this: Model, cframe: CFrame): void;
24512
24508
  /**
24513
24509
  * 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.
24514
24510
  *
24515
24511
  * 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.
24516
24512
  */
24517
- TranslateBy(this: Model, delta: Vector3): null;
24513
+ TranslateBy(this: Model, delta: Vector3): void;
24518
24514
  }
24519
24515
 
24520
24516
  /** This is the Actor Class */
@@ -24529,7 +24525,7 @@ interface Actor extends Model {
24529
24525
  readonly _nominal_Actor: unique symbol;
24530
24526
  BindToMessage(this: Actor, topic: string, callback: Callback): RBXScriptConnection;
24531
24527
  BindToMessageParallel(this: Actor, topic: string, callback: Callback): RBXScriptConnection;
24532
- SendMessage(this: Actor, topic: string, message: Array<any>): null;
24528
+ SendMessage(this: Actor, topic: string, message: Array<any>): void;
24533
24529
  }
24534
24530
 
24535
24531
  /** BackpackItem is an abstract class for backpack items such as HopperBins and Tools. */
@@ -24684,7 +24680,7 @@ interface Tool extends BackpackItem {
24684
24680
  *
24685
24681
  * tool.Activated:Connect(toolActivated)
24686
24682
  */
24687
- Activate(this: Tool): null;
24683
+ Activate(this: Tool): void;
24688
24684
  /**
24689
24685
  * 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.
24690
24686
  *
@@ -24706,7 +24702,7 @@ interface Tool extends BackpackItem {
24706
24702
  *
24707
24703
  * tool.Deactivated:Connect(toolDeactivated)
24708
24704
  */
24709
- Deactivate(this: Tool): null;
24705
+ Deactivate(this: Tool): void;
24710
24706
  /**
24711
24707
  * **Activated** is not called if the Ctrl key is pressed during a click.
24712
24708
  *
@@ -24793,7 +24789,7 @@ interface WorldRoot extends Model {
24793
24789
  *
24794
24790
  * 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.
24795
24791
  */
24796
- BulkMoveTo(this: WorldRoot, partList: Array<Instance>, cframeList: Array<any>, eventMode?: CastsToEnum<Enum.BulkMoveMode>): null;
24792
+ BulkMoveTo(this: WorldRoot, partList: Array<Instance>, cframeList: Array<any>, eventMode?: CastsToEnum<Enum.BulkMoveMode>): void;
24797
24793
  /**
24798
24794
  * **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.
24799
24795
  *
@@ -25342,7 +25338,7 @@ interface Workspace extends WorldRoot {
25342
25338
  *
25343
25339
  * 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).
25344
25340
  */
25345
- JoinToOutsiders(this: Workspace, objects: Array<Instance>, jointType: CastsToEnum<Enum.JointCreationMode>): null;
25341
+ JoinToOutsiders(this: Workspace, objects: Array<Instance>, jointType: CastsToEnum<Enum.JointCreationMode>): void;
25346
25342
  /**
25347
25343
  * Returns true if the game has the PGS Physics solver enabled.
25348
25344
  *
@@ -25379,7 +25375,7 @@ interface Workspace extends WorldRoot {
25379
25375
  *
25380
25376
  * 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).
25381
25377
  */
25382
- UnjoinFromOutsiders(this: Workspace, objects: Array<Instance>): null;
25378
+ UnjoinFromOutsiders(this: Workspace, objects: Array<Instance>): void;
25383
25379
  readonly PersistentLoaded: RBXScriptSignal<(player: Player) => void>;
25384
25380
  }
25385
25381
 
@@ -25485,7 +25481,7 @@ interface Pages<T = unknown> extends Instance {
25485
25481
  * Iterates to the next page in the pages object, if possible.
25486
25482
  * Tags: Yields
25487
25483
  */
25488
- AdvanceToNextPageAsync(this: Pages): null;
25484
+ AdvanceToNextPageAsync(this: Pages): void;
25489
25485
  }
25490
25486
 
25491
25487
  interface AudioPages extends Pages {
@@ -25920,13 +25916,13 @@ interface ParticleEmitter extends Instance {
25920
25916
  *
25921
25917
  * 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).
25922
25918
  */
25923
- Clear(this: ParticleEmitter): null;
25919
+ Clear(this: ParticleEmitter): void;
25924
25920
  /**
25925
25921
  * 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.
25926
25922
  *
25927
25923
  * To clear any emit particles, use [ParticleEmitter:Clear](https://developer.roblox.com/en-us/api-reference/function/ParticleEmitter/Clear).
25928
25924
  */
25929
- Emit(this: ParticleEmitter, particleCount?: number): null;
25925
+ Emit(this: ParticleEmitter, particleCount?: number): void;
25930
25926
  /**
25931
25927
  * Tags: Hidden
25932
25928
  */
@@ -26018,7 +26014,7 @@ interface Path extends Instance {
26018
26014
  * * [Pathfinding](https://developer.roblox.com/en-us/articles/pathfinding), provides an in-depth pathfinding walkthrough
26019
26015
  * Tags: Yields
26020
26016
  */
26021
- ComputeAsync(this: Path, start: Vector3, finish: Vector3): null;
26017
+ ComputeAsync(this: Path, start: Vector3, finish: Vector3): void;
26022
26018
  readonly Blocked: RBXScriptSignal<(blockedWaypointIdx: number) => void>;
26023
26019
  readonly Unblocked: RBXScriptSignal<(unblockedWaypointIdx: number) => void>;
26024
26020
  }
@@ -26277,7 +26273,7 @@ interface PhysicsService extends Instance {
26277
26273
  *
26278
26274
  * This function will throw an error if either of the groups do not exist.
26279
26275
  */
26280
- CollisionGroupSetCollidable(this: PhysicsService, name1: string, name2: string, collidable: boolean): null;
26276
+ CollisionGroupSetCollidable(this: PhysicsService, name1: string, name2: string, collidable: boolean): void;
26281
26277
  /**
26282
26278
  * Returns whether the two specified collision groups will collide.
26283
26279
  *
@@ -26342,7 +26338,7 @@ interface PhysicsService extends Instance {
26342
26338
  GetMaxCollisionGroups(this: PhysicsService): number;
26343
26339
  GetRegisteredCollisionGroups(this: PhysicsService): unknown;
26344
26340
  IsCollisionGroupRegistered(this: PhysicsService, name: string): boolean;
26345
- RegisterCollisionGroup(this: PhysicsService, name: string): null;
26341
+ RegisterCollisionGroup(this: PhysicsService, name: string): void;
26346
26342
  /**
26347
26343
  * 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.
26348
26344
  *
@@ -26355,7 +26351,7 @@ interface PhysicsService extends Instance {
26355
26351
  * Tags: Deprecated, [object Object]
26356
26352
  * @deprecated
26357
26353
  */
26358
- RemoveCollisionGroup(this: PhysicsService, name: string): null;
26354
+ RemoveCollisionGroup(this: PhysicsService, name: string): void;
26359
26355
  /**
26360
26356
  * 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.
26361
26357
  *
@@ -26366,7 +26362,7 @@ interface PhysicsService extends Instance {
26366
26362
  * * Invalid or empty name provided for either argument.
26367
26363
  * * The function is called from a client.
26368
26364
  */
26369
- RenameCollisionGroup(this: PhysicsService, from: string, to: string): null;
26365
+ RenameCollisionGroup(this: PhysicsService, from: string, to: string): void;
26370
26366
  /**
26371
26367
  * The SetPartCollisionGroup function sets the collision group of the specified part to the group with the specified name.
26372
26368
  *
@@ -26381,8 +26377,8 @@ interface PhysicsService extends Instance {
26381
26377
  * Tags: Deprecated, [object Object]
26382
26378
  * @deprecated
26383
26379
  */
26384
- SetPartCollisionGroup(this: PhysicsService, part: BasePart, name: string): null;
26385
- UnregisterCollisionGroup(this: PhysicsService, name: string): null;
26380
+ SetPartCollisionGroup(this: PhysicsService, part: BasePart, name: string): void;
26381
+ UnregisterCollisionGroup(this: PhysicsService, name: string): void;
26386
26382
  }
26387
26383
 
26388
26384
  /** 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.
@@ -26731,7 +26727,7 @@ interface Player extends Instance {
26731
26727
  *
26732
26728
  * It does not remove [t-shirts](https://developer.roblox.com/en-us/api-reference/class/ShirtGraphic), head meshes, or faces.
26733
26729
  */
26734
- ClearCharacterAppearance(this: Player): null;
26730
+ ClearCharacterAppearance(this: Player): void;
26735
26731
  /**
26736
26732
  * 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).
26737
26733
  *
@@ -26841,7 +26837,7 @@ interface Player extends Instance {
26841
26837
  *
26842
26838
  * ![Getting kicked with a message.](https://developer.roblox.com/assets/blt20acf098fdbd2b30/KickedWithANoteCropped.png)
26843
26839
  */
26844
- Kick(this: Player, message?: string): null;
26840
+ Kick(this: Player, message?: string): void;
26845
26841
  /**
26846
26842
  * 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.
26847
26843
  * Tags: Deprecated
@@ -26865,7 +26861,7 @@ interface Player extends Instance {
26865
26861
  * Tags: Deprecated
26866
26862
  * @deprecated
26867
26863
  */
26868
- LoadCharacterAppearance(this: Player, assetInstance: Instance): null;
26864
+ LoadCharacterAppearance(this: Player, assetInstance: Instance): void;
26869
26865
  /**
26870
26866
  * 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.
26871
26867
  * Tags: Deprecated
@@ -26891,31 +26887,31 @@ interface Player extends Instance {
26891
26887
  *
26892
26888
  * 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_).
26893
26889
  */
26894
- Move(this: Player, walkDirection: Vector3, relativeToCamera?: boolean): null;
26890
+ Move(this: Player, walkDirection: Vector3, relativeToCamera?: boolean): void;
26895
26891
  /**
26896
26892
  * 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).
26897
26893
  * Tags: Deprecated
26898
26894
  * @deprecated
26899
26895
  */
26900
- SaveBoolean(this: Player, key: string, value: boolean): null;
26896
+ SaveBoolean(this: Player, key: string, value: boolean): void;
26901
26897
  /**
26902
26898
  * 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)…
26903
26899
  * Tags: Deprecated
26904
26900
  * @deprecated
26905
26901
  */
26906
- SaveInstance(this: Player, key: string, value: Instance): null;
26902
+ SaveInstance(this: Player, key: string, value: Instance): void;
26907
26903
  /**
26908
26904
  * 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).
26909
26905
  * Tags: Deprecated
26910
26906
  * @deprecated
26911
26907
  */
26912
- SaveNumber(this: Player, key: string, value: number): null;
26908
+ SaveNumber(this: Player, key: string, value: number): void;
26913
26909
  /**
26914
26910
  * 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).
26915
26911
  * Tags: Deprecated
26916
26912
  * @deprecated
26917
26913
  */
26918
- SaveString(this: Player, key: string, value: string): null;
26914
+ SaveString(this: Player, key: string, value: string): void;
26919
26915
  /**
26920
26916
  * This function returns a dictionary array of online friends, limited by the `maxFriends` value.
26921
26917
  *
@@ -27111,7 +27107,7 @@ interface Player extends Instance {
27111
27107
  * For more details, see the [Game Content Streaming](https://developer.roblox.com/en-us/articles/content-streaming) article.
27112
27108
  * Tags: Yields
27113
27109
  */
27114
- RequestStreamAroundAsync(this: Player, position: Vector3, timeOut?: number): null;
27110
+ RequestStreamAroundAsync(this: Player, position: Vector3, timeOut?: number): void;
27115
27111
  /**
27116
27112
  * 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
27117
27113
  * Tags: Yields, Deprecated
@@ -27214,35 +27210,35 @@ interface PlayerScripts extends Instance {
27214
27210
  /**
27215
27211
  * Unregisters all ComputerCameraMovementMode enums from the game settings menu.
27216
27212
  */
27217
- ClearComputerCameraMovementModes(this: PlayerScripts): null;
27213
+ ClearComputerCameraMovementModes(this: PlayerScripts): void;
27218
27214
  /**
27219
27215
  * Unregisters all ComputerMovementMode enums from the game settings menu.
27220
27216
  */
27221
- ClearComputerMovementModes(this: PlayerScripts): null;
27217
+ ClearComputerMovementModes(this: PlayerScripts): void;
27222
27218
  /**
27223
27219
  * Unregisters all TouchCameraMovementMode enums from the game settings menu.
27224
27220
  */
27225
- ClearTouchCameraMovementModes(this: PlayerScripts): null;
27221
+ ClearTouchCameraMovementModes(this: PlayerScripts): void;
27226
27222
  /**
27227
27223
  * Unregisters all TouchMovementMode enums from the game settings menu.
27228
27224
  */
27229
- ClearTouchMovementModes(this: PlayerScripts): null;
27225
+ ClearTouchMovementModes(this: PlayerScripts): void;
27230
27226
  /**
27231
27227
  * Registers that a computer camera movement mode is available to be selected from the game menu.
27232
27228
  */
27233
- RegisterComputerCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.ComputerCameraMovementMode>): null;
27229
+ RegisterComputerCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.ComputerCameraMovementMode>): void;
27234
27230
  /**
27235
27231
  * Registers that a computer movement mode is available to be selected from the game menu.
27236
27232
  */
27237
- RegisterComputerMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.ComputerMovementMode>): null;
27233
+ RegisterComputerMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.ComputerMovementMode>): void;
27238
27234
  /**
27239
27235
  * Registers that a touch camera movement mode is available to be selected from the game menu.
27240
27236
  */
27241
- RegisterTouchCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.TouchCameraMovementMode>): null;
27237
+ RegisterTouchCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.TouchCameraMovementMode>): void;
27242
27238
  /**
27243
27239
  * Registers that a touch movement mode is available to be selected from the game menu.
27244
27240
  */
27245
- RegisterTouchMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.TouchMovementMode>): null;
27241
+ RegisterTouchMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.TouchMovementMode>): void;
27246
27242
  }
27247
27243
 
27248
27244
  /** 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. */
@@ -27882,7 +27878,7 @@ interface Pose extends PoseBase {
27882
27878
  *
27883
27879
  * 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.
27884
27880
  */
27885
- AddSubPose(this: Pose, pose: Pose): null;
27881
+ AddSubPose(this: Pose, pose: Pose): void;
27886
27882
  /**
27887
27883
  * 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).
27888
27884
  *
@@ -27894,7 +27890,7 @@ interface Pose extends PoseBase {
27894
27890
  *
27895
27891
  * 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.
27896
27892
  */
27897
- RemoveSubPose(this: Pose, pose: Pose): null;
27893
+ RemoveSubPose(this: Pose, pose: Pose): void;
27898
27894
  }
27899
27895
 
27900
27896
  /** 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.
@@ -28185,11 +28181,11 @@ interface ProximityPrompt extends Instance {
28185
28181
  /**
28186
28182
  * 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.
28187
28183
  */
28188
- InputHoldBegin(this: ProximityPrompt): null;
28184
+ InputHoldBegin(this: ProximityPrompt): void;
28189
28185
  /**
28190
28186
  * 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.
28191
28187
  */
28192
- InputHoldEnd(this: ProximityPrompt): null;
28188
+ InputHoldEnd(this: ProximityPrompt): void;
28193
28189
  /**
28194
28190
  * 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.
28195
28191
  */
@@ -28511,7 +28507,7 @@ interface ReplicatedFirst extends Instance {
28511
28507
  *
28512
28508
  * 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.
28513
28509
  */
28514
- RemoveDefaultLoadingScreen(this: ReplicatedFirst): null;
28510
+ RemoveDefaultLoadingScreen(this: ReplicatedFirst): void;
28515
28511
  }
28516
28512
 
28517
28513
  /** **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).
@@ -28885,7 +28881,7 @@ interface RunService extends Instance {
28885
28881
  * print("An error occurred: "..message)
28886
28882
  * end
28887
28883
  */
28888
- UnbindFromRenderStep(this: RunService, name: string): null;
28884
+ UnbindFromRenderStep(this: RunService, name: string): void;
28889
28885
  /**
28890
28886
  * 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.
28891
28887
  *
@@ -29120,7 +29116,11 @@ interface SensorBase extends Instance {
29120
29116
  */
29121
29117
  readonly _nominal_SensorBase: unique symbol;
29122
29118
  UpdateType: Enum.SensorUpdateType;
29123
- Sense(this: SensorBase): null;
29119
+ /**
29120
+ * Tags: Deprecated
29121
+ * @deprecated
29122
+ */
29123
+ Sense(this: SensorBase): void;
29124
29124
  readonly OnSensorOutputChanged: RBXScriptSignal<() => void>;
29125
29125
  }
29126
29126
 
@@ -29591,7 +29591,7 @@ interface UserSettings extends GenericSettings<{ UserGameSettings: UserGameSetti
29591
29591
  /**
29592
29592
  * 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.
29593
29593
  */
29594
- Reset(this: UserSettings): null;
29594
+ Reset(this: UserSettings): void;
29595
29595
  }
29596
29596
 
29597
29597
  interface ServiceVisibilityService extends Instance {
@@ -29626,7 +29626,7 @@ interface SharedTableRegistry extends Instance {
29626
29626
  */
29627
29627
  readonly _nominal_SharedTableRegistry: unique symbol;
29628
29628
  GetSharedTable(this: SharedTableRegistry, name: string): SharedTable;
29629
- SetSharedTable(this: SharedTableRegistry, name: string, st: SharedTable | undefined): null;
29629
+ SetSharedTable(this: SharedTableRegistry, name: string, st: SharedTable | undefined): void;
29630
29630
  }
29631
29631
 
29632
29632
  interface ShorelineUpgraderService extends Instance {
@@ -29814,7 +29814,7 @@ interface SocialService extends Instance {
29814
29814
  *
29815
29815
  * 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.\`
29816
29816
  */
29817
- PromptGameInvite(this: SocialService, player: Player, experienceInviteOptions?: ExperienceInviteOptions): null;
29817
+ PromptGameInvite(this: SocialService, player: Player, experienceInviteOptions?: ExperienceInviteOptions): void;
29818
29818
  /**
29819
29819
  * **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.
29820
29820
  *
@@ -30133,7 +30133,7 @@ interface Sound extends Instance {
30133
30133
  *
30134
30134
  * 0
30135
30135
  */
30136
- Pause(this: Sound): null;
30136
+ Pause(this: Sound): void;
30137
30137
  /**
30138
30138
  * 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.
30139
30139
  *
@@ -30169,7 +30169,7 @@ interface Sound extends Instance {
30169
30169
  *
30170
30170
  * 0
30171
30171
  */
30172
- Play(this: Sound): null;
30172
+ Play(this: Sound): void;
30173
30173
  /**
30174
30174
  * 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).
30175
30175
  *
@@ -30205,7 +30205,7 @@ interface Sound extends Instance {
30205
30205
  *
30206
30206
  * 0
30207
30207
  */
30208
- Resume(this: Sound): null;
30208
+ Resume(this: Sound): void;
30209
30209
  /**
30210
30210
  * 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.
30211
30211
  *
@@ -30241,7 +30241,7 @@ interface Sound extends Instance {
30241
30241
  *
30242
30242
  * 0
30243
30243
  */
30244
- Stop(this: Sound): null;
30244
+ Stop(this: Sound): void;
30245
30245
  /**
30246
30246
  * 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.
30247
30247
  *
@@ -30945,37 +30945,6 @@ interface Sparkles extends Instance {
30945
30945
  TimeScale: number;
30946
30946
  }
30947
30947
 
30948
- interface Speaker extends Instance {
30949
- /**
30950
- * **DO NOT USE!**
30951
- *
30952
- * This field exists to force TypeScript to recognize this as a nominal type
30953
- * @hidden
30954
- * @deprecated
30955
- */
30956
- readonly _nominal_Speaker: unique symbol;
30957
- /**
30958
- * Tags: ReadOnly, NotReplicated, NotBrowsable
30959
- */
30960
- readonly ChannelCount: number;
30961
- /**
30962
- * Tags: ReadOnly, NotReplicated
30963
- */
30964
- readonly PlaybackLoudness: number;
30965
- /**
30966
- * Tags: NotReplicated
30967
- */
30968
- RollOffMaxDistance: number;
30969
- /**
30970
- * Tags: NotReplicated
30971
- */
30972
- RollOffMinDistance: number;
30973
- RollOffMode: Enum.RollOffMode;
30974
- SoundGroup: SoundGroup | undefined;
30975
- Source: Instance | undefined;
30976
- Volume: number;
30977
- }
30978
-
30979
30948
  interface StackFrame extends Instance {
30980
30949
  /**
30981
30950
  * **DO NOT USE!**
@@ -31687,7 +31656,7 @@ interface Teams extends Instance {
31687
31656
  * Tags: Deprecated
31688
31657
  * @deprecated
31689
31658
  */
31690
- RebalanceTeams(this: Teams): null;
31659
+ RebalanceTeams(this: Teams): void;
31691
31660
  }
31692
31661
 
31693
31662
  /** This class is an instance that is returned by the `TeleportAsync` function with information about the teleport. */
@@ -31816,7 +31785,7 @@ interface TeleportOptions extends Instance {
31816
31785
  *
31817
31786
  * For more information on how to teleport players between servers, take a look at the [Telporting Between Places](../../../articles/Teleporting-Between-Places) article.
31818
31787
  */
31819
- SetTeleportData(this: TeleportOptions, teleportData: unknown): null;
31788
+ SetTeleportData(this: TeleportOptions, teleportData: unknown): void;
31820
31789
  }
31821
31790
 
31822
31791
  /** 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.
@@ -32727,6 +32696,11 @@ interface ChatInputBarConfiguration extends TextChatConfigurations {
32727
32696
  BackgroundTransparency: number;
32728
32697
  Enabled: boolean;
32729
32698
  FontFace: Font;
32699
+ /**
32700
+ * Tags: ReadOnly, NotReplicated
32701
+ */
32702
+ readonly IsFocused: boolean;
32703
+ KeyboardKeyCode: Enum.KeyCode;
32730
32704
  PlaceholderColor3: Color3;
32731
32705
  TargetTextChannel: TextChannel | undefined;
32732
32706
  TextBox: TextBox | undefined;
@@ -33245,7 +33219,7 @@ interface Trail extends Instance {
33245
33219
  *
33246
33220
  * 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.
33247
33221
  */
33248
- Clear(this: Trail): null;
33222
+ Clear(this: Trail): void;
33249
33223
  /**
33250
33224
  * Tags: Hidden
33251
33225
  */
@@ -33399,7 +33373,7 @@ interface TweenBase extends Instance {
33399
33373
  *
33400
33374
  * 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.
33401
33375
  */
33402
- Cancel(this: TweenBase): null;
33376
+ Cancel(this: TweenBase): void;
33403
33377
  /**
33404
33378
  * 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.
33405
33379
  *
@@ -33407,13 +33381,13 @@ interface TweenBase extends Instance {
33407
33381
  *
33408
33382
  * This means a tween paused half way through its animation will take half of its duration to complete when resumed.
33409
33383
  */
33410
- Pause(this: TweenBase): null;
33384
+ Pause(this: TweenBase): void;
33411
33385
  /**
33412
33386
  * 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)).
33413
33387
  *
33414
33388
  * 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).
33415
33389
  */
33416
- Play(this: TweenBase): null;
33390
+ Play(this: TweenBase): void;
33417
33391
  /**
33418
33392
  * 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).
33419
33393
  *
@@ -33876,7 +33850,7 @@ interface UIGridStyleLayout extends UILayout {
33876
33850
  * Tags: Deprecated
33877
33851
  * @deprecated
33878
33852
  */
33879
- ApplyLayout(this: UIGridStyleLayout): null;
33853
+ ApplyLayout(this: UIGridStyleLayout): void;
33880
33854
  /**
33881
33855
  * This method is deprecated. Use [UIGridStyleLayout.SortOrder](https://developer.roblox.com/en-us/api-reference/property/UIGridStyleLayout/SortOrder) instead.
33882
33856
  *
@@ -33885,7 +33859,7 @@ interface UIGridStyleLayout extends UILayout {
33885
33859
  * Tags: Deprecated
33886
33860
  * @deprecated
33887
33861
  */
33888
- SetCustomSortFunction(this: UIGridStyleLayout, callback?: Callback): null;
33862
+ SetCustomSortFunction(this: UIGridStyleLayout, callback?: Callback): void;
33889
33863
  }
33890
33864
 
33891
33865
  /** 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.
@@ -34031,15 +34005,15 @@ interface UIPageLayout extends UIGridStyleLayout {
34031
34005
  /**
34032
34006
  * 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.
34033
34007
  */
34034
- JumpToIndex(this: UIPageLayout, index: number): null;
34008
+ JumpToIndex(this: UIPageLayout, index: number): void;
34035
34009
  /**
34036
34010
  * 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.
34037
34011
  */
34038
- Next(this: UIPageLayout): null;
34012
+ Next(this: UIPageLayout): void;
34039
34013
  /**
34040
34014
  * 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.
34041
34015
  */
34042
- Previous(this: UIPageLayout): null;
34016
+ Previous(this: UIPageLayout): void;
34043
34017
  /**
34044
34018
  * Fires when a page comes into view, and is going to be rendered.
34045
34019
  */
@@ -34413,11 +34387,11 @@ interface UserGameSettings extends Instance {
34413
34387
  /**
34414
34388
  * If called, Roblox toggles the menu option to invert the user's camera y axis.
34415
34389
  */
34416
- SetCameraYInvertVisible(this: UserGameSettings): null;
34390
+ SetCameraYInvertVisible(this: UserGameSettings): void;
34417
34391
  /**
34418
34392
  * If called, Roblox toggles the menu option to control the camera sensitivity with gamepads.
34419
34393
  */
34420
- SetGamepadCameraSensitivityVisible(this: UserGameSettings): null;
34394
+ SetGamepadCameraSensitivityVisible(this: UserGameSettings): void;
34421
34395
  /**
34422
34396
  * Sets the given onboarding as completed, so it won't be shown again to the user the next time they play.
34423
34397
  *
@@ -34430,7 +34404,7 @@ interface UserGameSettings extends Instance {
34430
34404
  *
34431
34405
  * * [UserGameSettings:GetOnboardingCompleted](https://developer.roblox.com/en-us/api-reference/function/UserGameSettings/GetOnboardingCompleted), checks if onboarding has been completed
34432
34406
  */
34433
- SetOnboardingCompleted(this: UserGameSettings, onboardingId: string): null;
34407
+ SetOnboardingCompleted(this: UserGameSettings, onboardingId: string): void;
34434
34408
  /**
34435
34409
  * Fires if the user's full screen mode is changed.
34436
34410
  * 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.
@@ -35271,7 +35245,7 @@ interface UserInputService extends Instance {
35271
35245
  *
35272
35246
  * 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).
35273
35247
  */
35274
- RecenterUserHeadCFrame(this: UserInputService): null;
35248
+ RecenterUserHeadCFrame(this: UserInputService): void;
35275
35249
  /**
35276
35250
  * 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_.
35277
35251
  *
@@ -35298,7 +35272,7 @@ interface UserInputService extends Instance {
35298
35272
  * * [UserInputService:GamepadSupports](https://developer.roblox.com/en-us/api-reference/function/UserInputService/GamepadSupports)
35299
35273
  * * [UserInputService.GamepadEnabled](https://developer.roblox.com/en-us/api-reference/property/UserInputService/GamepadEnabled)
35300
35274
  */
35301
- SetNavigationGamepad(this: UserInputService, gamepadEnum: CastsToEnum<Enum.UserInputType>, enabled: boolean): null;
35275
+ SetNavigationGamepad(this: UserInputService, gamepadEnum: CastsToEnum<Enum.UserInputType>, enabled: boolean): void;
35302
35276
  /**
35303
35277
  * The DeviceAccelerationChanged event fires when a user moves a device that has an accelerometer.
35304
35278
  *
@@ -36035,7 +36009,7 @@ interface VRService extends Instance {
36035
36009
  *
36036
36010
  * Since `/VRServiceService` only runs client-side, this function will only work when used in a `/LocalScript`.
36037
36011
  */
36038
- RecenterUserHeadCFrame(this: VRService): null;
36012
+ RecenterUserHeadCFrame(this: VRService): void;
36039
36013
  /**
36040
36014
  * 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.
36041
36015
  *
@@ -36045,7 +36019,7 @@ interface VRService extends Instance {
36045
36019
  *
36046
36020
  * Since VRService only runs client-side, this function will only work when used in a `/LocalScript`.
36047
36021
  */
36048
- RequestNavigation(this: VRService, cframe: CFrame, inputUserCFrame: CastsToEnum<Enum.UserCFrame>): null;
36022
+ RequestNavigation(this: VRService, cframe: CFrame, inputUserCFrame: CastsToEnum<Enum.UserCFrame>): void;
36049
36023
  /**
36050
36024
  * 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).
36051
36025
  *
@@ -36055,7 +36029,7 @@ interface VRService extends Instance {
36055
36029
  *
36056
36030
  * Since `/VRService` only runs client-side, this function will only work when used in a `/LocalScript`.
36057
36031
  */
36058
- SetTouchpadMode(this: VRService, pad: CastsToEnum<Enum.VRTouchpad>, mode: CastsToEnum<Enum.VRTouchpadMode>): null;
36032
+ SetTouchpadMode(this: VRService, pad: CastsToEnum<Enum.VRTouchpad>, mode: CastsToEnum<Enum.VRTouchpadMode>): void;
36059
36033
  /**
36060
36034
  * 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.
36061
36035
  *
@@ -36617,7 +36591,7 @@ interface VoiceChatInternal extends Instance {
36617
36591
  * Tags: Deprecated
36618
36592
  * @deprecated
36619
36593
  */
36620
- Leave(this: VoiceChatInternal): null;
36594
+ Leave(this: VoiceChatInternal): void;
36621
36595
  /**
36622
36596
  * Tags: Deprecated
36623
36597
  * @deprecated
@@ -36627,12 +36601,12 @@ interface VoiceChatInternal extends Instance {
36627
36601
  * Tags: Deprecated
36628
36602
  * @deprecated
36629
36603
  */
36630
- SetMicDevice(this: VoiceChatInternal, micDeviceName: string, micDeviceGuid: string): null;
36604
+ SetMicDevice(this: VoiceChatInternal, micDeviceName: string, micDeviceGuid: string): void;
36631
36605
  /**
36632
36606
  * Tags: Deprecated
36633
36607
  * @deprecated
36634
36608
  */
36635
- SetSpeakerDevice(this: VoiceChatInternal, speakerDeviceName: string, speakerDeviceGuid: string): null;
36609
+ SetSpeakerDevice(this: VoiceChatInternal, speakerDeviceName: string, speakerDeviceGuid: string): void;
36636
36610
  /**
36637
36611
  * Tags: Deprecated
36638
36612
  * @deprecated