Skip to content

AeroGameFramework

About

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.

Learning

This is the main documentation page for AGF and is the single point of information for using the framework. There is also a YouTube tutorial series available.

Collaborate

AeroGameFramework is an open-source project, and your support is much appreciated. Feel free to report bugs, suggest features, and make pull requests. Please visit the GitHub repository for more information.

Join the public AeroGameFramework Discord server to participate in discussions about the framework.

The framework was built and is supported primary by Stephen Leitnick.

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.


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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
-- Client:
local MyController = {}

function MyController:Start()
    local didRespawn = self.Services.MyService:Respawn()
    if (didRespawn) then
        ...
    end
end

return MyController
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
-- 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.