β οΈ Project is archived β οΈ
AeroGameFramework is no longer maintained and should not be used in future projects. Knit is the successor to AGF. Over time, it has become clear that AGF forces bad design decisions on developers and leads to a messy and fragmented code-base.
AeroGameFramework
A powerful game framework for the Roblox platform.
AeroGameFramework is a Roblox game framework that makes development easy and fun. The framework is designed to simplify the communication between modules and seamlessly bridge the gap between the server and client. Never again will you have to touch RemoteFunctions or RemoteEvents.
Join the Discord server for further discussion about the framework.
Documentation
Visit the documentation site.
Video Tutorial
Visit the AGF Tutorial playlist.
Example
Here is an example of a client-side controller invoking a server-side service to respawn the player. Notice that no remote objects have to be explicitly referenced:
-- Client:
local MyController = {}
function MyController:Start()
local didRespawn = self.Services.MyService:Respawn()
if (didRespawn) then
...
end
end
return MyController
-- Server:
local MyService = {Client = {}}
function MyService.Client:Respawn(player)
local humanoid = player.Character and player.Character:FindFirstChild("Humanoid")
-- Only allow respawning if the player is dead:
if ((not humanoid) or humanoid.Health == 0) then
player:LoadCharacter()
return true
end
return false
end
return MyService
These are complete code examples. They could be put into the framework and work as-is.
Support
Support AGF by buying me a coffee and keeping me energized to keep up the work on this project! Any support is very much appreciated.
Buy me a coffee