Skip to content
Verse Scripting

Guía de Verse para principiantes: tu primer dispositivo en UEFN

2026-03-059 min de lectura

¿Qué es Verse?

Verse es el lenguaje de programación de Epic Games diseñado específicamente para UEFN. Si has usado Python, Verse te resultará familiar: usa sintaxis basada en indentación y se lee casi como inglés. Pero también toma ideas de lenguajes de programación funcional como Haskell, lo que lo hace potente para la lógica de juego.

Todo comportamiento personalizado en UEFN que vaya más allá de los dispositivos básicos de Creative requiere Verse. Sistemas de puntuación, interfaz personalizada, gestores de equipamiento, gestión de rondas, progresión competitiva: todo es Verse.

Configurando tu primer dispositivo en Verse

En UEFN, crea un nuevo dispositivo Verse:

  1. Abre tu proyecto en UEFN
  2. Ve al menú VerseCreate New Verse File
  3. Elige Creative Device como plantilla
  4. Nómbralo my_first_device

UEFN genera un archivo base que se ve así:

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

my_first_device := class(creative_device):

 OnBegin<override>()<suspends>:void=
 Print("Hello, Fortnite!")

Veamos qué significa cada parte.

Entendiendo los fundamentos

Sentencias `using` — Estas importan APIs. /Fortnite.com/Devices te da acceso a los dispositivos de Creative. /Verse.org/Simulation proporciona funciones básicas de simulación. /UnrealEngine.com/Temporary/Diagnostics te da Print() para depuración.

Definición de clasemy_first_device := class(creative_device) crea una nueva clase de dispositivo que hereda de creative_device. Este es tu dispositivo personalizado que colocarás en el mundo.

OnBegin — Esta función se ejecuta cuando comienza el juego. La etiqueta <override> significa que estás reemplazando el OnBegin de la clase padre. La etiqueta <suspends> significa que esta función puede usar operaciones asíncronas (como Sleep()).

Construyendo un contador de eliminaciones

Construyamos algo útil: un dispositivo que rastrea eliminaciones y las muestra. Primero, necesitas referenciar un dispositivo de UI en tu nivel:

using { /Fortnite.com/Devices }
using { /Fortnite.com/Characters }
using { /Verse.org/Simulation }

kill_counter := class(creative_device):

 @editable
 EndGameDevice : end_game_device = end_game_device{}

 var KillCounts : [agent]int = map{}

 OnBegin<override>()<suspends>:void=
 # Subscribe to elimination events
 GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)

 OnPlayerAdded(Player : player):void=
 if (FortCharacter := Player.GetFortCharacter[]):
 FortCharacter.EliminatedEvent().Subscribe(OnEliminated)

 OnEliminated(Result : elimination_result):void=
 if (Eliminator := Result.EliminatingCharacter):
 if (Player := player[Eliminator.GetAgent[]]):
 if (set KillCounts[Player] += 1) {}

Conceptos clave de Verse

Expresiones falibles — Verse usa if para operaciones que pueden fallar. Player.GetFortCharacter[] puede no devolver nada si el jugador no tiene personaje. Los corchetes [] indican una llamada falible, y envolverla en if maneja el caso de fallo de manera elegante.

Mutabilidad — Las variables declaradas con var pueden modificarse. Sin var, los valores son inmutables por defecto. Esto previene mutaciones accidentales de estado.

Eventos y suscripciones — Verse usa un patrón basado en eventos. Te suscribes a eventos (PlayerAddedEvent, EliminatedEvent) y proporcionas funciones callback. Así es como reaccionas al gameplay sin hacer polling.

Maps y arrays[agent]int es un tipo map (diccionario) que mapea agentes a enteros. map{} crea uno vacío.

Patrones comunes

Aquí tienes patrones que usarás en casi todos los dispositivos Verse:

Temporizador/delay:

Sleep(5.0) # Esperar 5 segundos

Bucle:

loop:
 DoSomething()
 Sleep(1.0)

Iteración de jugadores:

Players := GetPlayspace().GetPlayers()
for (Player : Players):
 # Hacer algo con cada jugador

Próximos pasos

Esta guía cubre lo más básico. Para profundizar:

  • Lee la documentación oficial de Verse de Epic
  • Estudia proyectos open-source de Verse en GitHub
  • Practica reconstruyendo dispositivos existentes de Creative en Verse
  • Únete a la comunidad de Discord de UEFN para obtener ayuda

Construir dispositivos personalizados en Verse es lo que separa a los desarrolladores profesionales de UEFN de los aficionados. Si necesitas mecánicas personalizadas complejas para tu mapa, nuestro equipo está especializado en scripting de Verse — desde sistemas de puntuación personalizados hasta frameworks completos de modos de juego.

Echa un vistazo a nuestro portfolio para ver Verse en acción con más de 4.800 millones de minutos jugados.

K

Kaio

Desarrollador de mapas UEFN en Kaio Corporation

Desarrollador profesional de mapas UEFN para Fortnite. Más de 4.800M de minutos jugados. Más información

¿Necesita un mapa personalizado?

Contactar