Beta Launching soon!

The UEFNUEFN and VERSEVERSE Assistant to 10X10X Your Development Speed

Publish better maps faster by implementing Verse Copilot into your workflow

Currently in development - Be the first to know when we launch

Productivity enhancing toolset
logo-full

The ultimate AI Assistant for UEFN & Verse Development

Our goal with Verse Copilot is creating an AI that has a deep understanding of UEFN and the Verse scripting language. This will allows its users to drastically increase their development speed and to publish better islands faster.

Generate complete Verse Scripts

Creating new Verse Scripts is as easy as giving a description of the wanted functionality

Debugging

Have a compilation error? Just paste it into Verse Copilot and let it fix the error for you.

Looking for a setting in UEFN?

As Verse Copilot has extent knowledge of UEFN it can help you find any feature or settings with ease.

Learn & Improve

Verse Copilot has the ability to teach and describe UEFN and Verse concepts to make you an expert at what you do.

  • Write a Verse script that gives players items from a list of item granters after they spawned depending on their score in steps of 10

    logo

    Sure! Here is the code

    using { /Fortnite.com/Devices }
    using { /Verse.org/Simulation }
    using { /UnrealEngine.com/Temporary/Diagnostics }
      
    item_manager := class(creative_device):
    
        @editable PlayerSpawner: player_spawner_device = player_spawner_device{}
        @editable ItemGranters: []item_granter_device = array{}
        @editable ScoreManager: score_manager_device = score_manager_device{}
     
        OnBegin<override>()<suspends>:void=
            PlayerSpawner.SpawnedEvent.Subscribe()
    
        OnPlayerSpawned(Agent: agent):
            AgentScore := ScoreManager.GetCurrentScore(Agent)
            ItemGranterIndex := Round(AgentScore * 0.1)
            if (ItemGranter := ItemGranters[ItemGranterIndex]):
                ItemGranter.GrantItem(Agent)
    
  • Please fix the following error: This invocation calls a function that has the 'decides' effect, which is not allowed by its context.

    using { /Fortnite.com/Devices }
    using { /Verse.org/Simulation }
    using { /UnrealEngine.com/Temporary/Diagnostics }
    
    audio_manager := class(creative_device):
        # Public vars
        @editable KillAudioPlayers: []audio_player_device = array{}
    
        PlayKillSound(Agent: agent, kill_idx: int):void=
            KillAudioPlayer := KillAudioPlayers[kill_idx]
            KillAudioPlayer.Play(Agent)
        

    logo

    Accessing an element of KillAudioPlayers with the index has the 'decides' effect, which means that we have to sorround it with an if clause. Here is the fixed version.

    using { /Fortnite.com/Devices }
    using { /Verse.org/Simulation }
    using { /UnrealEngine.com/Temporary/Diagnostics }
    
    audio_manager := class(creative_device):
        # Public vars
        @editable KillAudioPlayers: []audio_player_device = array{}
    
        PlayKillSound(Agent: agent, kill_idx: int):void=
            if (KillAudioPlayer := KillAudioPlayers[kill_idx]):
                KillAudioPlayer.Play(Agent)
        
  • How do I make the players have infinite materials?

    logo

    To provide your players with infinite resources, go to your island settings, search for "Infinite Resources" and set the option to True

  • How do I declare a variable in Verse?

    logo

    Each variable or constant has three basic parts: an identifier (the name), the type of value it can store, and the value itself. In Verse, you create a variable by declaring it. To declare it, the variable must have all three parts: the identifier, the type, and the value.

    var name : type = value

© 2025 Verse Copilot, Inc. All rights reserved.