How would I make the Metatable variable return something other than the table?
Example = setmetatable({}, { __index = function(self, i) return workspace end }) print(Example)
Like to make Example return a instance
In your instance, You would do
print(Example.someObscurlyNilIndexThatWillMakeTgisReturnWorkspace)
You cannot do this. However, if you supply a __call metamethod that returns your instance, you can use Example() to get the instance.
Example = setmetatable({}, { __index = workspace, __call = function() return workspace end }) print(Example()) --> Workspace
We used to be able to edit the metatables of in-game objects, but they have been locked for a very long time.
Edit: Alternatively, you can check out my small project and see if it suits your needs.