Assertions fail for CameraModule calls: broke whole game camera, nearly forced to close game that supports our community and lose players over it

Once again, Roblox flipped on FFlags that completely broke my game. I have almost been forced to close it where I am losing players and halting community operations and now I have to rework that item because Roblox decided, in their infinite wisdom, not to provide us a notice or backup for our camera work. The update was pulled back for fixes, but it was then turned right back on without handling communication on this update better.

An update in the PlayerModule caused certain calls to BaseCamera to fail immediately when called due to an assertion that checks for the UserCameraInputRefactor FFlag being enabled: if said FFlag is enabled, any calls to the function fail. As you can tell from this report, that FFlag was enabled and so now calls to various BaseCamera functions now immediately fail. The same error encountered was that I had 18 days ago, picture:

This issue has been plaguing my game, Area - 14, since the morning hours when the flag was turned back on, 100% of the time when attempting to play. A co-developer was able to salvage the situation by making a patch which passes/ignores the assertion, however there is the possibility that the assert is there to protect unintended behaviour while using those functions and I don’t know to what extent that means. There is still no excuse for the lack of notice of a breaking update.

There has been zero, or poor communication, that such a game breaking update would be coming. Really. My camera doesn’t work anymore simply because I use a function of the CameraModule which is part of the exposed API. There was never any word that we were not intended to directly call modules so that we can better work with cameras and controls, or that an API change would come that completely destroys the ability to use methods of the module.

Please address this.

19 Likes

I vouch for Colbert, this needs to be addressed urgently - this could ruin many players experience and ruin player / developer relationships. This should have been talked about, as already said as this was so ground-breaking for this game, and I presume many others.

Roblox literally broke my camera script like 10 times now where I am just looking at other solutions of doing camera related stuff so please Roblox stop messing with it

Thanks for the report.

My camera doesn’t work anymore simply because I use a function of the CameraModule which is part of the exposed API .

The contents of CameraModule are exposed; the contents of BaseCamera are considered internal and subject to change/removal. I agree that this should have been communicated more aggressively.

Which part of the camera module are you using?

1 Like

My firearm’s camera script currently uses BaseCamera and ClassicCamera to modify the camera for new states while having one equipped.

From BaseCamera, the firearm camera module takes hold of OnMousePanButtonReleased and UpdateMouseBehavior by updating them with new functions (if those were present in the original camera). From ClassicCamera, as pictured above, CalculateNewLookVector is used which fails when the FFlag is enabled.

For reference’s sake (since it’s only CalculateNewLookVector so far that has actively appeared in the console), we are also using the following methods:

  • UpdateGamepad
  • ShouldUseVRRotation
  • GetVRRotationInput
  • GetSubjectPosition
  • GetCameraToSubjectDistance
  • GetIsMouseLocked
  • IsInFirstPerson
  • GetMouseLockOffset
  • GetCameraLookVector
  • GetVRFocus
  • GetCameraHeight
1 Like

This camera update has broken completely roblox planes, any lock camera scripts stopped working. This has most likely ruined the entire ro-aviation community until a fix is released.

1 Like

Hey there, can you respond with specific places that have broken?

1 Like

Do I send place files via a private message or via a reply?

Feel free to send place IDs in the replies. Best to DM me directly with place files if they’re private.

1 Like

I’ve chosen to DM you the file. Should’ve been sent just now.