Release Notes for 405

Notes for Release 405

29 Likes

Client Difference Log

API Changes

Added Class UGCValidationService : Instance [NotCreatable] [Service] [NotReplicated]
	Added Function int UGCValidationService:GetMeshTriCount(string meshId) {RobloxScriptSecurity} [Yields]
	Added Function int UGCValidationService:GetMeshTriCountSync(string meshId) {RobloxScriptSecurity}
	Added Function Array UGCValidationService:GetMeshVerts(string meshId) {RobloxScriptSecurity} [Yields]
	Added Function Array UGCValidationService:GetMeshVertsSync(string meshId) {RobloxScriptSecurity}
	Added Function Vector2 UGCValidationService:GetTextureSize(string textureId) {RobloxScriptSecurity} [Yields]
	Added Function Vector2 UGCValidationService:GetTextureSizeSync(string textureId) {RobloxScriptSecurity}

Added Property Enum<ReturnKeyType> TextBox.ReturnKeyType {RobloxScriptSecurity} [<📁> Load-only] [NotReplicated]

Added Event TextBox.ReturnPressedFromOnScreenKeyboard()

Added Enum ReturnKeyType
	Added EnumItem ReturnKeyType.Default : 0
	Added EnumItem ReturnKeyType.Done : 1
	Added EnumItem ReturnKeyType.Go : 2
	Added EnumItem ReturnKeyType.Next : 3
	Added EnumItem ReturnKeyType.Search : 4
	Added EnumItem ReturnKeyType.Send : 5

(Click here for a syntax highlighted version!)

6 Likes

The link doesn’t seem to work.

12 Likes

Good catch. Fixed. Accidently did the relative URL :sweat_smile:

4 Likes

Oh, this looks really cool. From the API, it seems like this could be used to help stop UGC copying? And maybe UGC will be uploaded via studio too?

Quite the assumption, but still cool.

1 Like

OH SNAP

image

19 Likes

Rest in peace string.dump. You won’t be missed.

Excited for the new string escapes and binary literals. Will make it less magic-numbery when writing stuff with bit32.

5 Likes

I could have sworn string.dump was already removed :thinking:

2 Likes

How on Earth did you reach that conclusion?

2 Likes

I thought so too. But it may not have been or the new VM may have messed with that a bit. Either way, I feel nothing about it being disabled.

2 Likes

Nah, here’s how it actually works.

UGC is already uploaded through the toolbox in Roblox Studio. You have to be part of the program to actually see the publishing tools for it and to have access to the publishing APIs.

The UGCValidationService mirrors the checks done on the server so the publishing tools can provide immediate feedback to the creator who is publishing their own UGC.

While they have been doing this validation already, I guess they decided to consolidate it into its own service class.

8 Likes

What!?? That isn’t nearly as high-tech as I was hoping it would be >:(

2 Likes

I’m actually quite excited to be able to select the return key shown by on-screen keyboards. It’s a small but important contextual information detail!

2 Likes

Will UGCValidationService ever be available for in-game use?

We have a game that lets players use their own meshes & other uploaded UGC, but in order to apply limits (to keep the gameplay sustainable), we currently download the mesh assets on an external server, & parse the data to calculate extents and extract the vertices to return them to the gameserver (which is a little crazy) – it’d be great if we could just retrieve them from something like this API instead! o:

4 Likes

Quick note, it’s going to take us a couple of weeks to enable the new literal syntax since we need to migrate script analysis / autocomplete to new Luau based infrastructure first.

5 Likes

I don’t think it’s explicitly planned right now, but feel free to create a feature request with your use case!

1 Like

Hey, now I can use rbxthumb without having terrible quality! Also, string literals are going to be epic.

Thanks to the teams responsible for this update.

1 Like

With the new literal syntax, the hexadecimal exponent was removed.

Will this ever be re added? (not sure if it is in vanilla lua 5.1, probably not since I don’t see it mentioned anywhere in the manual)

Also, tonumber appears to not work with new literal syntax (or digit seperator) and does work with the hexadecimal exponent. Should I file a bug report for this too?

3 Likes

It was in vanilla Lua.

image

1 Like

tonumber behavior is intentionally not changed for now. Hexadecimal exponent appears to be part of hex floating point literals (Lua 5.2 I think?) that was previously occasionally accidentally available in 5.1 depending on the platform. We could bring it back I guess, why do you need it?

2 Likes