Initialise services and modules
Avoid circular dependencies and race conditions in the startup sequence.
Separate setup from running#
Start with loading modules, supply their dependencies and continue with listeners and loops. Keep top-level module code short. Avoid a module waiting for another module that waits for the first one.
Wait for replicated dependencies#
A client can start before a server-created instance becomes available. Use WaitForChild when the instance is expected to replicate and timeout handling where an optional system is absent. The absence of an instance is not a problem that can be solved with arbitrarily long wait times.
Using Knit or another framework#
BLOXG AI does not distribute a fork of another company’s framework. If you use Knit in your project, retain the version and lifecycle rules of that project and include it in your context bundle. The built-in starters use Roblox services directly, so there is no need to install a framework.