New PlayerScriptsUseInputActionSystem attempts to load over overwritten module

Toggling ‘PlayerScriptsUseInputActionSystem’ to enabled and then adding your own edited ‘PlayerModule’ to StarterPlayer will have Roblox still attempt to load a new PlayerModule into StarterPlayer.

Happens in both Roblox Studio testing and live production games.

Pictures:


Reproduction File:
PlayerModule Load Bug.rbxl (156.2 KB)

Open-Source game: DevForumBugReportPlayerModule | Play on Roblox

Use-Case: We overwrite the PlayerModule to add our own custom logic within shiftlocks, as well as, Popper.lua to make the camera not collide with special things and allow players to look through certain collideable objects. We also optimize the PlayerModule ourself.

Expected behavior

Roblox should see that there is an already overwritten PlayerModule inside StarterPlayer and skip loading a new one just like how legacy PlayerModule loading is handled.

The work-around for now is disabling ‘PlayerScriptsUseInputActionSystem’ and placing fake PlayerModule and Loader inside PlayerScripts.

2 Likes

Hello!

Thanks for the report. When PlayerScriptsUseInputActionSystem is enabled, PlayerModule loading is now controlled by the CreateDefaultPlayerModule property on StarterPlayer rather than detecting an overwritten PlayerModule. For your use case, you likely want to disable this property.

I’ll close this post for now, feel free to follow up with any additional issues and questions. We’ll also follow up with more documentation regarding this change when it’s ready!

CreateDefaultPlayerModule is a non-scriptable property so you are only able to toggle it through the Studio UI, it should be under the “Controls” category when you have PlayerScriptsUseInputActionSystem enabled. Let me know if you have issues with this!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.