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, establecer herramientas de terceros e invertir en automatización puede mejorar drásticamente la productividad de los desarrolladores. El enfoque en la nube de Roblox tiene muchas ventajas, pero trasladar 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 gran 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 disco para que puedas usar tus propias herramientas para trabajar en ellas.
  • Tienes que volver a incorporar tus archivos a tu proyecto de Roblox después de haber terminado de trabajar en ellos.
  • Si alguien más cambió esos mismos archivos en el ínterin, debes manejar cualquier conflicto.

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

En lugar del enfoque en la nube de Roblox, Rojo permite un enfoque "primero en 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 utilicen 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.

Dado que gestiona tu entorno de desarrollo base en lugar de los paquetes dentro de tu proyecto, Rokit se asemeja más 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, utilizas Rokit para realizar la actualización, pruebas la nueva versión y vuelves a la anterior 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 que ahora está en funcionamiento, en este punto puedes comenzar a realizar cambios en tu editor de texto preferido y ver cómo esos cambios se sincronizan automáticamente de nuevo en 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 archivos, numerosas opciones de configuración y algunas limitaciones, todo lo cual se cubre en la documentación de Rojo.

Gestores de paquetes

Roblox tiene un sólido conjunto de APIs incluidas, pero si deseas hacer uso de paquetes de software comunitarios 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 añade 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 añadir el directorio Packages a Rojo para que su contenido se sincronice de nuevo en Roblox. Abre default.project.json y añade la ruta. Para simplificar, este ejemplo añade todo el directorio a ReplicatedStorage para que todos los paquetes estén disponibles para todos los scripts, pero podrías preferir añadir paquetes específicos a ServerScriptService o StarterPlayerScripts:


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

Entonces 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)

Al igual que la mayoría de los otros proyectos de software, el objetivo es que los contribuyentes 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 añadir:

Deshacer todo

Debido a que las herramientas de terceros sincronizan los 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.