local L=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")repeat wait(.1)until game:IsLoaded()local P=require(L.Packages.RECS)local Y=require(L.Steppers)local B=require(L.RecsPlugins.CollectionService)local s=require(L.RecsPlugins.ComponentChangedEvent)local y=P.Core.new({B(),s})y:registerComponentsInInstance(L.Components)y:registerSystemsInInstance(L.Systems)y:registerSteppers(Y)y:start()
local ReplicatedStorage = game:GetService("ReplicatedStorage")

-- Wait for the client's initial replication to complete.
-- This should allow us to avoid having a mountian of WaitForChilds 😅
repeat wait(0.1) until game:IsLoaded()

-- Dependencies
local RECS = require(ReplicatedStorage.Packages.RECS)
local Steppers = require(ReplicatedStorage.Steppers)

-- RECS Plugins
local CollectionServicePlugin = require(ReplicatedStorage.RecsPlugins.CollectionService)
local ComponentChangedEventPlugin = require(ReplicatedStorage.RecsPlugins.ComponentChangedEvent)

--[[
	RECS
	================
]]

local recsCore = RECS.Core.new({
	CollectionServicePlugin(),
	ComponentChangedEventPlugin,
})
recsCore:registerComponentsInInstance(ReplicatedStorage.Components)
recsCore:registerSystemsInInstance(ReplicatedStorage.Systems)
recsCore:registerSteppers(Steppers)
recsCore:start()
