Hello,
When i was working with Modules lately, I attempted to upload the ModuleScript to the ROBLOX Site, therefore allowing the usage of private modules. However when i renamed the ModuleScript to 'MainModule' and updated it to the site as a model, as i tried to require the module using its assetid. My original code isn't as simple as this, but it still failed to work like the following.
Here is a code example of the situation:
Inside the ModuleScript
local test = {}
function test:add(x, y)
return x + y
end
return test
Inside the Script
local library = require(378772246) -- This is the assetId of the module
print(library:add(1,2)) -- It didn't print anything or error in the output
Edit:
I have placed the script in ServerScriptService.when the module is placed in-game and required,
the function fired, but not from an asset.

4 comments
Have you tested it on a ROBLOX server? Using require() on an assetid will not work within studio.
I have tested in a Game Server, however it still doesn't work.
I guess you actually can require an asset from studio, though the wiki page on private modules said you couldn't... Anyway, if it didn't print or error then I think there must be something causing your original module to yield for a long time. Does it use the wait function or WaitForChild method on anything before returning?
it doesn't use any wait function to yeild