Client Difference Log
API Changes
Added Property Enum<Technology> Lighting.Technology [NotReplicated] [NotScriptable]
Added Property float Lighting.ExposureCompensation
Added Function void PhysicsService:LocalIkSolve(Class<Instance> part, DataType<CFrame> target, float translateStiffness, float rotateStiffness) {LocalUserSecurity}
Added Function void Plugin:StartDecalDrag(Class<Instance> decal) {RobloxScriptSecurity}
Added Function void VirtualInputManager:sendRobloxEvent(string namespace, string detail, string detailType) {RobloxScriptSecurity}
Added Function void PhysicsService:IkSolve(Class<Instance> part, DataType<CFrame> target, float translateStiffness, float rotateStiffness) {RobloxScriptSecurity}
Added Function Tuple Chat:InvokeChatCallback(Enum<ChatCallbackType> callbackType, Tuple callbackArguments)
Added Function void Chat:RegisterChatCallback(Enum<ChatCallbackType> callbackType, Function callbackFunction)
Added Enum ChatCallbackType
Added EnumItem ChatCallbackType.OnClientFormattingMessage
Added EnumItem ChatCallbackType.OnClientSendingMessage
Added EnumItem ChatCallbackType.OnCreatingChatWindow
Added EnumItem ChatCallbackType.OnServerReceivingMessage
Added Enum Technology
Added EnumItem Technology.Legacy
Added EnumItem Technology.Voxel
Changed the parameters of Function VirtualInputManager:SendKeyEvent
from: (bool isPressed, Enum<KeyCode> keyCode, bool isRepeatedKey)
to: (bool isPressed, Enum<KeyCode> keyCode, bool isRepeatedKey, Class<Instance> pluginGui)
Changed the parameters of Function VirtualInputManager:SendMouseButtonEvent
from: (int x, int y, int mouseButton, bool isDown)
to: (int x, int y, int mouseButton, bool isDown, Class<Instance> pluginGui)
Changed the parameters of Function VirtualInputManager:SendMouseMoveEvent
from: (float x, float y)
to: (float x, float y, Class<Instance> pluginGui)
Changed the parameters of Function VirtualInputManager:SendMouseWheelEvent
from: (float x, float y, bool isForwardScroll)
to: (float x, float y, bool isForwardScroll, Class<Instance> pluginGui)
Changed the parameters of Function VirtualInputManager:SendTextInputCharacterEvent
from: (string str)
to: (string str, Class<Instance> pluginGui)
Changed the serialization of Property MeshPart.CollisionFidelity
from: 'Saves & Loads'
to: 'None'
Changed the serialization of Property PartOperation.CollisionFidelity
from: 'Saves & Loads'
to: 'None'
For anyone wondering why the CollisionFidelity properties are no longer serialized, Roblox is now inferring its value from the serialized physics data of those objects. If I understand correctly, this change was made to fix some discrepancies between the value of the CollisionFidelity and the actual physics data.
yes
Is this increasing the throttle limit, or adding one?
It’s coming! Really excited for this one!
DO I SMELL TFIB
Lighting.Technology
IS IT NEAR?
I guess you could say, the near future is bright. Ha. Ha. Haaaaaa.
There will be a post with an update for FIB early next week (some of this was already mentioned close to the end of https://devforum.roblox.com/t/an-update-on-future-is-bright/ but first phase will be available for testing next week unless something goes horribly wrong). Really excited to see FIB slowly make its way to production, and also to get IK in animation editor
With an IK editor, does this mean that if you move the foot of a player model, the rest of the model will move relative to the foot?
Yes, if you have it enabled (you’ll be able to toggle it during editing).
Here’s a wholesome teaser I made for the IK animation editor.
https://twitter.com/CloneTeee1019/status/1040075946022322181
Does it only support R15 at the moment?
From what I observed when I tested the feature, it generates some pre-defined constraints for the joints and interfaces with the IK solver @ContextLost made for the built-in dragger tools.
I’m hoping that these constraints can be setup for custom rigs later down the road if it isn’t supported yet.
Yeah - it’s just R15 for now. The next thing that will happen is that we will un-RobloxScript-ify the IK API (not sure if it’ll stay verbatim) which will allow anyone to take animation editor and change it however they want to support custom rigs.
We want to support custom rigs in the future but that requires a deeper integration of IK, possibly providing a new joint that can be driven via animations like Motor6D, but simultaneously allows simulation for IK and runtime (ragdoll, etc.).
Hmm, I don’t expect constraint properties to be added to Motor6D since it appears constraints are superseding joints. Perhaps an IkConstraint that is compatible with the animation system will exist in the future ?
It is likely going to be a new class.
Also, on the topic of the new lighting engine, will Glass be able to render decals & transparent parts as well as water?
I feel like that’s one of the main things keeping me from actually using glass for games.
Given that FIB is building upon the current rendering system, I don’t think it’s changing right now.
It might be possible later down the road, once real-time raytracing GPUs have a larger market for Roblox to invest into.
Do you really need a raycasting system for that though?
If I’m not mistaken, Insurgency does the very thing the glass material currently does - without clipping objects with an alpha map.