Hello
If I need to fork some of the Roblox default modules (for example the module taking input from the touchscreen controls), how can I keep it up to date later when Roblox releases new versions of the module?
I guess any new version released by Roblox will break my game without any warning?
u shouldnt need to fork them unless your making changes to them, methods in the PlayerModule like :GetControls() arent changing any time soon so you shouldnt need to worry about your game breaking
Roblox frequently updates its CoreScripts, including default modules. Unfortunately, these updates aren’t always well-documented, so you’ll need to monitor changes manually:
Check Developer Forums: Roblox developers sometimes announce changes to input systems.
Inspect Live Modules: If you suspect an update, you can compare Roblox’s latest version of the module with your fork.
2. Use a Version Control System
Before modifying a module, save the original version. You can use:
GitHub or another VCS: Keep track of your changes so you can reapply them to new versions.
A separate place in Roblox Studio: Store a copy of the unmodified module inside a non-executing folder for reference.
3. Manually Merge Updates
When Roblox releases an update:
Get the latest module: If it’s a built-in CoreScript, extract it from StarterPlayerScripts or another relevant location.
Compare it with your fork: Use a diff tool (like WinMerge, Beyond Compare, or Git) to see what changed.
Reapply your modifications: Merge necessary changes while keeping your custom logic intact.
4. Minimize Forking
If possible, avoid forking entire modules. Instead:
Use API hooks: Some modules allow for user customization without full forking.
Listen for events: Instead of modifying input directly, hook into existing event listeners when possible.
5. Test Regularly
Roblox updates can drop unexpectedly. Before pushing updates to your game:
Test in Roblox Studio with the latest version.
Check for deprecated functions or breaking changes.
if I read the Controls as you suggested, where should I read them, so I can change the player direction/speed accordingly?
is it better to use Heartbeat or BindToRenderStep?