Herramientas de terceros

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Para los estudios de desarrollo profesional, configurar herramientas de terceros e invertir en automatización puede mejorar drásticamente la productividad del desarrollador. El enfoque de Roblox, centrado en la nube, tiene muchas ventajas, pero mover ciertas partes del flujo de trabajo de desarrollo fuera de la nube puede ayudar a equipos más grandes a rastrear cambios a lo largo del tiempo, revisar código y utilizar los lenguajes y herramientas con los que ya están familiarizados.

  • Si solo deseas usar un editor de texto externo o mantener el código en control de versiones, Script Sync es una excelente opción.
  • Si deseas gestionar todo tu proyecto como un conjunto de archivos locales, esta página cubre algunas herramientas y estrategias.

El problema de la sincronización

En su esencia, usar herramientas externas con Roblox es un problema de sincronización:

  • Quieres que tus instancias de Roblox existan como archivos en el disco para que puedas usar tus propias herramientas para trabajar en ellos.
  • Tienes que volver a introducir tus archivos en tu proyecto de Roblox después de haber terminado de trabajar en ellos.
  • Si alguien más cambió esos mismos archivos en el ínterin, tienes que manejar cualquier conflicto.

Para que toda la solución se sienta fluida y automática, necesitas a) escuchar cambios en los archivos y b) incorporar estos cambios de nuevo en Studio.

En lugar del enfoque centrado en la nube de Roblox, Rojo permite un enfoque "primero el sistema de archivos". Ejecuta un servidor en tu máquina que se comunica con un plugin de Studio para sincronizar tus archivos y el modelo de datos de Studio.

Instalar Rojo con Rokit

Puedes descargar y ejecutar manualmente un binario de Rojo, pero ese enfoque corre el riesgo de que diferentes desarrolladores en tu equipo usen diferentes versiones de Rojo. Una mejor solución es usar un gestor de herramientas como Rokit, que utiliza un archivo de configuración—una lista de repositorios y versiones—para hacer que el proceso de instalación y actualización sea consistente en todas las máquinas.

Debido a que gestiona tu entorno de desarrollo base en lugar de los paquetes dentro de tu proyecto, Rokit es más parecido a nvm que a npm, pero la comparación no es perfecta. Un simple archivo rokit.toml se ve así:

[tools]
rojo = "rojo-rbx/rojo@7.6.1"
wally = "upliftgames/wally@0.3.2"
lune = "lune-org/lune@0.10.4"

Luego instalas estas herramientas con rokit install. Además de un archivo global rokit.toml, Rokit admite archivos por proyecto, por lo que puedes usar fácilmente diferentes versiones de Rojo, Wally o cualquier otra herramienta para diferentes proyectos y mantener a todo tu equipo en esas mismas versiones.

Cuando una herramienta lanza una nueva versión, entonces aumentas explícitamente el número de versión en tu archivo .toml, usas Rokit para realizar la actualización, pruebas la nueva versión y retrocedes si causa algún problema. Para comandos e instrucciones de instalación, consulta Rokit.

Ejecutar Rojo

Después de instalar Rojo con Rokit, lo que realmente has instalado es el servidor de Rojo. El siguiente paso es instalar el plugin de Rojo para Roblox Studio.

Puedes instalarlo desde la Creator Store o instalarlo localmente con este comando:

rojo plugin install

Luego genera la estructura del proyecto para tu nuevo juego y constrúyelo:

rojo init my-new-experience
cd my-new-experience
rojo build -o my-new-experience.rbxl

Alternativamente, puedes portar un juego existente. De cualquier manera, después de tener un proyecto, inicia el servidor de Rojo:

rojo serve

En Roblox Studio, abre el archivo .rbxl que acabas de construir, abre el plugin de Rojo y conéctate a tu servidor en funcionamiento, momento en el cual puedes comenzar a hacer cambios en tu editor de texto preferido y ver cómo esos cambios se sincronizan automáticamente de nuevo a Studio.

Visual Studio Code con un proyecto de Rojo abierto.

El plugin de Rojo y el Explorador de Studio uno al lado del otro.

Los proyectos de Rojo tienen ciertos requisitos de nomenclatura para los archivos, numerosas opciones de configuración y algunas limitaciones, todas las cuales se cubren en la documentación de Rojo.

Gestores de paquetes

Roblox tiene un conjunto robusto de APIs incluidas, pero si deseas hacer uso de paquetes de software de la comunidad de manera consistente y reproducible, necesitas un gestor de paquetes. Wally es una opción popular. Puedes instalarlo a través de Rokit, al igual que Rojo.

Dentro del directorio Rojo de tu juego, ejecuta wally init. Luego agrega tus paquetes deseados a wally.toml. El archivo podría verse así:

[package]
name = "my-home-directory/my-new-experience"
version = "0.1.0"
registry = "https://github.com/UpliftGames/wally-index"
realm = "shared"
[dependencies]
react = "jsdotlua/react@17.2.1"
react-roblox = "jsdotlua/react-roblox@17.2.1"
cryo = "phalanxia/cryo@1.0.3"

Luego ejecuta wally install. Wally crea un directorio Packages y descarga los paquetes especificados allí. El paso final es agregar el directorio Packages a Rojo para que su contenido se sincronice de nuevo a Roblox. Abre default.project.json y agrega la ruta. Para simplificar, este ejemplo agrega todo el directorio a ReplicatedStorage para que todos los paquetes estén disponibles para todos los scripts, pero podrías preferir agregar paquetes específicos a ServerScriptService o StarterPlayerScripts:

{
"name": "my-new-experience",
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"Shared": {
"$path": "src/shared"
},
"Packages": {
"$path": "Packages"
}
},
...
}
}

Luego puedes requerir paquetes dentro de tus scripts como cualquier otro ModuleScript:

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local React = require(ReplicatedStorage.Packages.react)
local ReactRoblox = require(ReplicatedStorage.Packages["react-roblox"])
local handle = Instance.new("ScreenGui", Players.LocalPlayer.PlayerGui)
local root = ReactRoblox.createRoot(handle)
local helloFrame = React.createElement("TextLabel", {
Text = "¡Hola Mundo!",
Size = UDim2.new(0, 200, 0, 200),
Position = UDim2.new(0.5, 0, 0.5, 0),
AnchorPoint = Vector2.new(0.5, 0.5),
BackgroundColor3 = Color3.fromRGB(248, 217, 109),
Font = Enum.Font.LuckiestGuy,
TextSize = 24
})
root:render(helloFrame)

Como la mayoría de los otros proyectos de software, el objetivo es que los colaboradores puedan clonar un repositorio, instalar Rokit, ejecutar algunos comandos y tener el mismo entorno de desarrollo que el resto del equipo.

Control de versiones

Tener un conjunto de archivos de texto plano en tu computadora desbloquea una variedad de capacidades, pero la principal es el control de versiones. Puedes almacenar tus archivos en un repositorio de Git o Mercurial; alojar repositorios remotos y revisar cambios de código en GitHub, GitLab o Bitbucket; y usar el editor de texto que prefieras.

Visual Studio Code y Cursor tienen el ecosistema de extensiones más grande, pero Sublime Text, Notepad++ y Vim son todas opciones populares. Cualquiera que sea el editor que elijas, igualar las capacidades del editor de scripts de Studio requerirá algunas extensiones.

También podrías considerar agregar:

Deshacer todo

Debido a que las herramientas de terceros sincronizan cambios de nuevo a Roblox Studio en lugar de reemplazarlo, ninguna parte de este flujo de trabajo implica un bloqueo. En cualquier momento, puedes dejar de usar una o todas estas herramientas y volver a editar tu juego exclusivamente en Studio. La falta de riesgo hace que experimentar con herramientas de terceros sea particularmente atractivo.

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.