Skip to content
Verse Scripting

Guia de Verse para Iniciantes: Seu Primeiro Dispositivo UEFN

2026-03-059 min de leitura

O Que É o Verse?

Verse é a linguagem de programação da Epic Games, projetada especificamente para o UEFN. Se você já usou Python, vai achar o Verse familiar — ele usa sintaxe baseada em indentação e se lê quase como inglês. Mas também pega emprestado ideias de linguagens de programação funcional como Haskell, tornando-o poderoso para lógica de jogo.

Todo comportamento personalizado no UEFN que vai além dos dispositivos básicos do Creative requer Verse. Sistemas de pontuação, interfaces personalizadas, gerenciadores de loadout, gerenciamento de rounds, progressão ranqueada — tudo Verse.

Configurando Seu Primeiro Dispositivo Verse

No UEFN, crie um novo dispositivo Verse:

  1. Abra seu projeto no UEFN
  2. Vá ao menu VerseCreate New Verse File
  3. Escolha Creative Device como template
  4. Nomeie como my_first_device

O UEFN gera um arquivo base com essa cara:

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!")

Vamos destrinchar isso.

Entendendo o Básico

Instruções `using` — Essas importam APIs. /Fortnite.com/Devices dá acesso aos dispositivos do Creative. /Verse.org/Simulation fornece recursos base de simulação. /UnrealEngine.com/Temporary/Diagnostics dá acesso ao Print() para debug.

Definição de classemy_first_device := class(creative_device) cria uma nova classe de dispositivo que herda de creative_device. Esse é seu dispositivo personalizado que você vai posicionar no mundo.

OnBegin — Essa função roda quando o jogo começa. A tag <override> significa que você está substituindo o OnBegin da classe pai. A tag <suspends> significa que essa função pode usar operações assíncronas (como Sleep()).

Construindo um Contador de Eliminações

Vamos construir algo útil — um dispositivo que rastreia eliminações e as exibe. Primeiro, você precisa referenciar um dispositivo de UI no seu nível:

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=
 # Se inscrever em eventos de eliminação
 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) {}

Conceitos-Chave do Verse

Expressões falíveis — O Verse usa if para operações que podem falhar. Player.GetFortCharacter[] pode não retornar nada se o jogador não tiver personagem. Os colchetes [] indicam uma chamada falível, e envolvê-la num if lida com o caso de falha de forma elegante.

Mutabilidade — Variáveis declaradas com var podem ser alteradas. Sem var, os valores são imutáveis por padrão. Isso previne mutações de estado acidentais.

Eventos e inscrições — O Verse usa um padrão orientado a eventos. Você se inscreve em eventos (PlayerAddedEvent, EliminatedEvent) e fornece funções de callback. É assim que você reage ao gameplay sem fazer polling.

Maps e arrays[agent]int é um tipo map (dicionário) que mapeia agentes para inteiros. map{} cria um vazio.

Padrões Comuns

Aqui estão padrões que você vai usar em praticamente todos os dispositivos Verse:

Timer/delay:

Sleep(5.0) # Esperar 5 segundos

Loop:

loop:
 DoSomething()
 Sleep(1.0)

Iteração de jogadores:

Players := GetPlayspace().GetPlayers()
for (Player : Players):
 # Fazer algo com cada jogador

Próximos Passos

Esse guia cobre o básico absoluto. Para se aprofundar:

  • Leia a documentação oficial do Verse da Epic
  • Estude projetos Verse open-source no GitHub
  • Pratique recriando dispositivos Creative existentes em Verse
  • Entre na comunidade Discord do UEFN para tirar dúvidas

Construir dispositivos Verse personalizados é o que separa desenvolvedores UEFN profissionais de hobbyistas. Se você precisa de mecânicas personalizadas complexas para seu mapa, nosso time é especialista em programação Verse — de sistemas de pontuação personalizados a frameworks completos de modos de jogo.

Confira nosso portfólio para ver o Verse em ação com mais de 4,8 bilhões de minutos jogados.

K

Kaio

Desenvolvedor de Mapas UEFN na Kaio Corporation

Desenvolvedor profissional de mapas Fortnite UEFN. Mais de 4,8 bilhões de minutos jogados. Saiba mais

Precisa de um mapa personalizado?

Fale conosco