A fork of Overture with the addition of getting Instance's via a string path similair to Overture:Get and support for Instance's via LoadLibrary
While in regular Overture, it is already technically possible to get nested children via Overture:Get, GetPath adds to make it simpler and cleaner by utilizing strings split with "/"
In basic:
Overture:GetPath("MyFolder/FolderA")Along with this, is also 2 keys:
":"used after your Instance name, to signify it's target Class"$"used before your Instance name, to signify to Wait for it to be created
So, to wait for a folder named "MyFolder" then wait/create a configuration named "MyConfig":
Overture:GetPath("$MyFolder/MyConfig:Configuration")In total, a string utilizing all 3 would look like;
$InstanceName:InstanceClass
A seperate function like GetLocal is also available; GetLocalPath with the same functionality but for string paths.
Along with GetPath, regular Instance's are now able to be tagged with oLibrary to be collected via Overture:LoadLibrary. Like regular modules, all libaries must have different names!
For instance, to get a folder:
Overture:LoadLibrary("MyFolder")And similair to GetPath, LoadLibrary also supports that for Instance's. So to get a utility module inside a utility folder:
Overture:LoadLibrary("Utils/TableUtil", {"Filter"})Then returns the Filter function via NamedImports that's within the ModuleScript.
"/" string pathing works for any Instance's within the tagged Instance aswell
I suck at commenting, if you have questions DM xd_piers on discord :D
o·ver·ture
/ˈōvərCHər,ˈōvərˌCHo͝or/
- an orchestral piece at the beginning of an opera, suite, play, oratorio, or other extended composition.
- an introduction to something more substantial.
Overture is a source management module for Roblox. Overture was created to decomplexify the loading of libraries, streamline OOP classes and bridge the server-client gap!
For more information on usage, head over to the documentation webpage.
Head over to the releases tab and download the prepared .rbxm file. Insert this file into your game and drag the ModuleScript to ReplicatedStorage.
Then, require it in your code like the example below:
local Overture = require(game:GetService("ReplicatedStorage"):WaitForChild("Overture"))Note
You can set a Debug attribute on the Overture ModuleScript to get information on yielding libraries.
Overture is also available through Wally! Include it in your project by adding the following to your wally.toml:
Overture = "devsparkle/overture@^2"Development with Rojo can be turbocharged with the VSCode extension for Overture, which amongst other features provides typechecking support for modules required through LoadLibrary.