Client Difference Log
API Changes
Added Property ScrollingFrame.ElasticBehavior
Added Property ScrollingFrame.ScrollingDirection
Added YieldFunction MarketplaceService.UserOwnsGamePassAsync
Added Enum ElasticBehavior
Added EnumItem ElasticBehavior.WhenScrollable
Added EnumItem ElasticBehavior.Always
Added EnumItem ElasticBehavior.Never
Added Enum ScrollingDirection
Added EnumItem ScrollingDirection.X
Added EnumItem ScrollingDirection.Y
Added EnumItem ScrollingDirection.XY
Added 'deprecated' tag to EnumItem InputType.Action1
Added 'deprecated' tag to EnumItem InputType.Action2
Added 'deprecated' tag to EnumItem InputType.Action3
Added 'deprecated' tag to EnumItem InputType.Action4
Added 'deprecated' tag to EnumItem InputType.Action5
Added 'deprecated' tag to EnumItem InputType.LeftTread
Added 'deprecated' tag to EnumItem InputType.RightTread
Added 'deprecated' tag to EnumItem InputType.Steer
Added 'deprecated' tag to EnumItem InputType.Throttle
Added 'deprecated' tag to EnumItem InputType.UpDown
Changed the value type of Property AnimationTrack.Animation to Animation
Changed the value type of Property Beam.Attachment0 to Attachment
Changed the value type of Property Beam.Attachment1 to Attachment
Changed the value type of Property BillboardGui.Adornee to Instance
Changed the value type of Property BillboardGui.PlayerToHideFrom to Instance
Changed the value type of Property Camera.CameraSubject to Instance
Changed the value type of Property CompressorSoundEffect.SideChain to Instance
Changed the value type of Property Constraint.Attachment0 to Attachment
Changed the value type of Property Constraint.Attachment1 to Attachment
Changed the value type of Property CoreGui.SelectionImageObject to GuiObject
Changed the value type of Property CustomEventReceiver.Source to Instance
Changed the value type of Property DataModel.Workspace to Workspace
Changed the value type of Property DataModel.lighting to Instance
Changed the value type of Property DataModel.workspace to Workspace
Changed the value type of Property FloorWire.From to BasePart
Changed the value type of Property FloorWire.To to BasePart
Changed the value type of Property GuiBase2d.RootLocalizationTable to Instance
Changed the value type of Property GuiObject.NextSelectionDown to GuiObject
Changed the value type of Property GuiObject.NextSelectionLeft to GuiObject
Changed the value type of Property GuiObject.NextSelectionRight to GuiObject
Changed the value type of Property GuiObject.NextSelectionUp to GuiObject
Changed the value type of Property GuiObject.SelectionImageObject to GuiObject
Changed the value type of Property GuiService.CoreEffectFolder to Folder
Changed the value type of Property GuiService.CoreGuiFolder to Folder
Changed the value type of Property GuiService.SelectedCoreObject to GuiObject
Changed the value type of Property GuiService.SelectedObject to GuiObject
Changed the value type of Property Humanoid.LeftLeg to BasePart
Changed the value type of Property Humanoid.RightLeg to BasePart
Changed the value type of Property Humanoid.RootPart to BasePart
Changed the value type of Property Humanoid.SeatPart to BasePart
Changed the value type of Property Humanoid.Torso to BasePart
Changed the value type of Property Humanoid.WalkToPart to BasePart
Changed the value type of Property Instance.Parent to Instance
Changed the value type of Property JointInstance.Part0 to BasePart
Changed the value type of Property JointInstance.Part1 to BasePart
Changed the value type of Property JointInstance.part1 to BasePart
Changed the value type of Property LocalizationTable.Root to Instance
Changed the value type of Property Model.PrimaryPart to BasePart
Changed the value type of Property Mouse.Target to BasePart
Changed the value type of Property Mouse.TargetFilter to Instance
Changed the value type of Property Mouse.target to BasePart
Changed the value type of Property ObjectValue.Value to Instance
Changed the value type of Property PVAdornment.Adornee to PVInstance
Changed the value type of Property PartAdornment.Adornee to BasePart
Changed the value type of Property Player.Character to Model
Changed the value type of Property Player.ReplicationFocus to Instance
Changed the value type of Property Player.RespawnLocation to SpawnLocation
Changed the value type of Property Player.Team to Team
Changed the value type of Property PlayerGui.SelectionImageObject to GuiObject
Changed the value type of Property Players.LocalPlayer to Instance
Changed the value type of Property Players.localPlayer to Instance
Changed the value type of Property RocketPropulsion.Target to BasePart
Changed the value type of Property ScriptDebugger.Script to Instance
Changed the value type of Property Seat.Occupant to Humanoid
Changed the value type of Property SelectionLasso.Humanoid to Humanoid
Changed the value type of Property SelectionPartLasso.Part to BasePart
Changed the value type of Property SkateboardPlatform.Controller to SkateboardController
Changed the value type of Property SkateboardPlatform.ControllingHumanoid to Humanoid
Changed the value type of Property Sound.SoundGroup to SoundGroup
Changed the value type of Property SurfaceGui.Adornee to Instance
Changed the value type of Property Trail.Attachment0 to Attachment
Changed the value type of Property Trail.Attachment1 to Attachment
Changed the value type of Property Tween.Instance to Instance
Changed the value type of Property UIPageLayout.CurrentPage to Instance
Changed the value type of Property VehicleSeat.Occupant to Humanoid
Changed the value type of Property VelocityMotor.Hole to Hole
Changed the value type of Property WeldConstraint.Part0 to BasePart
Changed the value type of Property WeldConstraint.Part1 to BasePart
Changed the value type of Property Workspace.CurrentCamera to Camera
Changed the value type of Property Workspace.Terrain to Instance
Moved Property ResetOnSpawn from ScreenGui to superclass LayerCollector
cool thanks!
Added YieldFunction MarketplaceService.UserOwnsGamePassAsync
I hope this does what I think it does
Really glad we’re getting a new function for checking for gamepasses. I was worried about the gamepass update that was brought up months ago since it was going to leave us with a function that caches results permanently.
Though of course we don’t, as far as I know, have any proof this one doesn’t. Just seems right that it shouldn’t.
Moved Property ResetOnSpawn from ScreenGui to superclass LayerCollector
[insert other arm here]
I like. I really like.
The feature is still listed as pending 25 days later, I hope that it goes live sooner rather than later because I really want to use it in my upcoming game would make dealing with gamepass caching issues much easier
I feel like any gamepasses made before it starts being used would have an asset ID still, which should, as far as I know, mean that the ones created before this change should probably always work with PlayerOwnsAsset.
However, gamepasses may all receive gamepass IDs too, in which case I would switch over to the gamepass ID. For now, what I would do is make a module to check for gamepass ownership. Inside the module, make a dictionary of asset IDs for gamepasses, something like this:
local GamePasses = {
["VIP"] = {IdType = "Asset"; Id = 1234567}
}
Then, of course, set up functions in the module to check for ownership of gamepasses. When you check from other scripts, you give the module the name you gave the gamepass, in the example case “VIP”. When the module checks the ownership, it can know which function to use depending on the IdType.
This makes it so the later change over to UserOwnsGamePassAsync should only take a few minutes at most.
Although I replied to you, this is really @ anyone who may find this useful