Issue
A string-based require fails even though a similarly named module exists in the project.
Cause
The identifier, supported path form, sync state, or feature availability does not match the module being requested.
Fix
Start from Roblox official examples, confirm the exact identifier and casing, and test one module before converting the project. Keep a clear boundary between package-style modules and Instance-based requires. Do not build paths from untrusted client input.
Verify
Require the module from a minimal server script and confirm the same result in Studio and a published test.
Official Roblox require-by-string announcement
#1
Original Heliotrope guidance with authoritative Roblox sources.