Release Notes for 480

Notes for Release 480

47 Likes

Client Difference Log

API Changes

Added Class AvatarImportService : Instance [NotCreatable] [Service] [NotReplicated]
	Added Function Instance AvatarImportService:ImportFbxRigWithoutSceneLoad(bool isR15 = true) {RobloxScriptSecurity} [Yields]
	Added Function Instance AvatarImportService:LoadRigAndDetectType(Function promptR15Callback) {RobloxScriptSecurity} [Yields]

Added Property float BillboardGui.Brightness
Added Property float SurfaceGui.Brightness

Changed the parameters and return-type of Function Players:GetPlayerFromCharacter 
	from: (Instance character) Instance
	  to: (Class<Model> character) Class<Player>

Changed the parameters and return-type of Function Players:playerFromCharacter 
	from: (Instance character) Instance
	  to: (Class<Model> character) Class<Player>

Changed the parameters of Event BasePart.LocalSimulationTouched 
	from: (Instance part)
	  to: (Class<BasePart> part)

Changed the parameters of Event BasePart.StoppedTouching 
	from: (Instance otherPart)
	  to: (Class<BasePart> otherPart)

Changed the parameters of Event BasePart.TouchEnded 
	from: (Instance otherPart)
	  to: (Class<BasePart> otherPart)

Changed the parameters of Event BasePart.Touched 
	from: (Instance otherPart)
	  to: (Class<BasePart> otherPart)

(Click here for a syntax highlighted version!)

17 Likes

What would this be? The description here is telling me that it’s coroutine.resume but is instead resumed at a first rate rather than the maximum 30Hz, would that be it?

5 Likes

I have two things.

Screenshot 2021-05-27 135520

I’m a bit curious as to this. Is this meant for pure colors such as white in HDR? Wouldn’t pure white conflict with bloom if you kept it enabled?

This is actually for Release Note 479 but, I don’t know if bumping that thread is against the rules or not so, I’ll just list it here.

I hope that whoever is reading this that is actively working on the voice feature knows the importance of getting this right. Allowing voice chat in a place that is dominated by kids is systematically the same as entering a lobby of any FPS that exists on a console. It’s incredibly toxic and if this toxicity finds its way on Roblox, it’ll make a lot of older players (including me) stop playing games. It should be opt-in and disabled by default if it isn’t planned to be already. I’m more curious as to how people can just swear calmly and totally evade the filter or if there’s some sort of new technology that can handle this type of thing. So far, I haven’t seen a technology that can actively and accurately flag swear words in real-time speech. If the plan is to convert speech into text and use that as a way to parse swear words, that will bring so many false positives. Considering how brutal and painful it is to contact and deal with appeals/moderation/customer service, this is something that should be considered if not already. Not even entirely sure if this is related to the upcoming voice feature.

13 Likes

coroutine.resume on user created coroutines doesn’t always work 100% correctly when mixed with Roblox API calls that yield. The added function gives you a way add something to the list of threads that should be resumed which is guaranteed to always work.

9 Likes

Imagine it this way: Currently SurfaceGuis act like an image painted on the part, they don’t actually emit light, so if they’re in a dark room then you have limited control over how bright they appear. This property gives you back that control, letting the SurfaceGuis act like a TV-screen, which has a brightness of its own independent from the surroundings.

30 Likes

Is this the new task.defer method? Or more specifically, is this added method going to be part of the coroutine.* library, or the new task.* library?

Just curious if this is related to the changes mentioned here:

3 Likes

There’s going to be several different functions in the task library, I’m not exactly sure which of them this release note is associated with, but yes, task.defer is one of them.

6 Likes

:wave:

Happy to see that we’ll be able to use Animators directly without a container instance. This will allow me to easily use the same animation code for Humanoids as I do non-Humanoid instances. I haven’t animated a non-Humanoid in some time but just in case in the future… :slight_smile:

This might be slightly unrelated but I’ve never been able to figure out - is there any reason why the task scheduler or certain methods are stuck on this “30hz” pipeline? That’s always been a leading factor in discouraging the use of certain functions (spawn/delay/wait) but I’ve never understood why.

8 Likes

Because Roblox ran at 30 FPS up until 2014.

There was a very common (and poor) practice of people using wait() without any timeout specified, which defaulted to ~1/30 because of the framerate.

To preserve backwards compatibility with those scripts, the 30hz rate for the task scheduler stuck. That’s why we have the RunService’s events :slight_smile:!

17 Likes

So basically, it’s Roblox’s very own digital “turbo button”.

8 Likes