IngameStudio
A project that recreates part of Roblox Studio within the Roblox client, while emulating plugin functionality.
Introduction
This project was first conceptualized when i wanted the ability to edit unions in a live game environment. I felt that there were no in-depth, in-game editing tools other than F3X.
The main solution that came to mind was the ability to use Roblox Studio plugins in an active server, which would require the re-implementation of Studio services and other APIs. This led to the creation of PluginProxy, a core component of IngameStudio.
Key Components:
- PluginProxy: Recreates Studio APIs for plugins and provides a framework for implementing UI elements.
- IngameStudio: The default UI implementation using React Lua, mirroring Roblox Studio’s design.
PluginProxy’s architecture allows for custom UI implementations, offering flexibility beyond the traditional Studio interface.
More information can be found on the Github repo.
How It Works
This is an early release, functionality is limited
Current Features:
- Ribbon bar
- Ribbon tools
- Select tool implemented
- Framework in place for additional tools
- Draggable, resizable widgets
- Plugins
- limited by API implementation
- requires conversion
Plugin Compatibility:
- Plugins require conversion for IngameStudio/PluginProxy compatibility.
- Example plugins are available in the
IngameStudio.Testing.rbxl
file, found in GitHub releases. - PluginProxy-Transpiler automates part of the conversion process.
Getting Started
Testing:
Download the latest IngameStudio.Testing.rbxl
from releases or check it out here
Installation:
- Download
IngameStudio.rbxm
from the releases page. - Place the module in an accessible location (e.g. ReplicatedStorage).
- Follow the example setup from
IngameStudio.Testing.rbxl
, located inStarterPlayerScripts
For Developers:
Check out the Development setup section on Github.
Ending notes
As this project is still in its early stages, here are some ways you can help:
- Bug reports: Submit issues on the Github, provide the Roblox Studio console log if possible
- Compatibility requests: Share plugins you’d like to see support for, and I’ll see if I can implement it
- Pull requests: Contribute to this project by submitting changes to the Github
- Documentation: Suggest changes to the documentation for better usability and readablity