[Open Source] AetherSystems - A Minimalist Module & Network Framework

Hi everyone!

I’d like to share a project I’ve been working on called AetherSystems, a lightweight module and networking framework for Roblox.

I built it because I wanted a simple way to structure modular systems, manage dependencies, and handle client-server communication without having to adopt a large, opinionated framework.

Key Features

  • Lightweight & Minimalist - Designed to stay out of your way and fit into existing projects.
  • System Lifecycle & Dependencies - Handles system discovery, dependency resolution, and ordered initialization.
  • Streamlined Networking - Provides a centralized way to manage client-server communication without requiring a RemoteInstance for every logical operation.
  • Modular Architecture - Built around reusable systems and services without forcing a specific application architecture.
  • Open Source - Free to use, modify, and do everything.

Motion Demo

The framework features built-in support for perfectly smooth tweens. The Server acts as the authoritative driver (issuing commands and snapping the final state), while the Clients handle the actual visual interpolation. Check it out in action:

Repository

The source code and documentation are available on GitHub.

AetherSystems-Framework

This is my first time sharing one of my open-source projects with the community, so I’d really appreciate any feedback, bug reports, or suggestions.

If you try it out, I’d love to hear what you think!

Thanks for taking the time to check it out.

6 Likes

AetherSystems v1.1.0 is out! - The “Ray of Sight” Update

Hi everyone! Thanks to everyone who checked out the framework and cloned the repository. I’m excited to announce that v1.1.0 is now live!

In this update, I focused on adding more quality-of-life utilities and providing a practical example of how the framework pieces come together. Here are the highlights:

What’s New in v1.1.0:

  • Added RaycastUtil: A new built-in utility for caching and reusing RaycastParams. Get() always returns the same instance and Update() mutates it in place, meaning your pre-held references stay in sync. This is perfect for line-of-sight checks without building a new RaycastParams every frame!
  • New Turret Example System: Added a practical use-case system (Systems/Combat/Turret) using CollectionService. It perfectly demonstrates how to combine framework pieces: it uses RaycastUtil for LOS checks, Motion for rotation, Janitor for cleanup, and Logger for state transitions.
  • Documentation Expanded: Updated the API Reference to include RaycastUtil and missing Logger history APIs. The MAIN README and Architecture docs now include fresh usage examples.

You can read the full changelog and grab the latest release on the GitHub Releases page.

If you have any questions or feature requests, feel free to drop them here.

2 Likes

this is absolutely perfect! will migrate my poor door system to this

2 Likes

lol that door was just a dummy for the video btw
thanks! glad you like it
If anything breaks just hit me up

2 Likes