Add support for Verse programming language
Description
Verse is the programming language developed by Epic Games for Unreal Engine, Fortnite Creative, and the Unreal Editor for Fortnite (UEFN).
Language overview:
- Developed by Epic Games
- Used for game logic in Fortnite Creative and UEFN
- Functional programming language with a strong type system
- Official documentation: https://dev.epicgames.com/documentation/en-us/uefn/verse-language-reference
The TextMate grammar provided includes comprehensive syntax highlighting for:
- Verse-specific keywords and operators
- String interpolation
- Block and line comments
- Markup syntax (for UI)
- Type annotations
- Function definitions
- Control flow structures
Add support for the Verse programming language to GitHub Linguist. Currently, many developers avoid posting Verse code on GitHub simply because it isn’t syntax-highlighted; instead, they share snippets and full projects on the Epic Games forums. In addition, Verse is already heavily used by professional studios within private repositories for Unreal Engine and Fortnite Creative workflows. By bringing official .verse support we aim to:
- Encourage more public sharing of Verse code on GitHub
- Improve discoverability and readability for open-source projects
- Provide consistency with Epic’s official branding
Checklist:
- [x] I am adding a new language.
- [x] The extension of the new language is used in hundreds of repositories on GitHub.com.
- Search results for each extension:
- https://github.com/search?type=code&q=NOT+is%3Afork+path%3A*.verse+using
- Search results for each extension:
- [x] I have included a real-world usage sample for all extensions added in this PR:
- Sample source(s): Added by contributor for demonstration
- Sample license(s): MIT
- [x] I have included a syntax highlighting grammar: https://github.com/simnJS/verse-grammar
- [x] I have added a color
- Hex value:
#518ef8 - Rationale: The color #518ef8 (blue-purple) represents Verse because Epic Games chose it as the official branding color for their new programming language used in Unreal Engine and Fortnite Creative.
- Hex value:
- [ ] I have updated the heuristics to distinguish my language from others using the same extension.
- [x] The extension of the new language is used in hundreds of repositories on GitHub.com.
Additional notes
Because Verse is primarily used within UEFN projects—often in private Epic Games repositories or published as packaged experiences—the number of .verse files publicly visible on GitHub remains low. However, it is the official scripting language for Fortnite Creative 2.0, and lack of syntax highlighting discourages developers from using GitHub to share examples.
We really need this! Here are some more good code examples of verse syntax: https://github.com/sprintermax/UEFNVerseSnippets/blob/main/VerseLogic/ExtraModules/VerseFeatures.verse https://github.com/sprintermax/UEFNVerseSnippets/blob/main/VerseLogic/ExtraModules/MathFeatures.verse https://github.com/RayBenefield/dev-xp/blob/master/src/node_modules/%40tableau/device/selector_device_v0_1.verse
I’ve checked the CONTRIBUTING.md and I believe I’ve addressed all the issues. Apologies for the incomplete first PR.
Hi, thanks for the feedback!
I understand the concern about popularity. However, I'd like to highlight a few important points that reflect the growing strategic relevance of the Verse language:
-
Verse is the official scripting language for Fortnite Creative 2.0 and Unreal Editor for Fortnite (UEFN), as documented by Epic Games here.
-
Epic has publicly stated its long-term goal is to make Verse the default programming language across the entire Unreal Engine ecosystem. This positions Verse not as a niche tool, but as a foundational part of future Unreal development, including Fortnite, UEFN, and eventually Unreal Engine itself.
-
Verse is already widely used in production by professional studios, particularly in private repositories and packaged UEFN experiences. This unfortunately limits the visibility of
.versefiles on GitHub search, despite significant real-world usage. -
Supporting
.versein Linguist would directly encourage open-source sharing by making GitHub a more welcoming platform for Verse developers. Right now, many avoid publishing their work here due to the lack of syntax highlighting.
Let me know if you'd like any more concrete usage examples or documentation references—happy to help!
Thanks again for your time and consideration.
The popularity requirements are only made based on public repos as it's impossible to tell what private usage is. Yes, this does result in a chicken-and-egg scenario between encouraging usage and getting it recognised on GitHub, but this applies for all new languages and projects, regardless of backing. We don't make exceptions either as this would defeat the purpose of having a usage requirement which means we'd have to effectively pollute and degrade the quality of this project by accepting every hobby language submission too.
Popularity is evaluated every 3-4 months when a new release is made, so if this language is really gaining in popularity as you claim, it shouldn't take long to meet our usage requirements.
Okay thank you ! How did you check popularity for verse ? I don't find a query to see numbers of repo using it.
Okay thank you ! How did you check popularity for verse ? I don't find a query to see numbers of repo using it.
I used the search link you provided. I also removed the using keyword to see if that made much of a difference; it didn't. It's not possible to easily determine the number of repos from the search results at the moment, hence we're using the temporary calculating method detailed in the issue referenced in the CONTRIBUTING.md file.
I looks like you didn't use the
script/add-grammarscript to add your grammar as per the CONTRIBUTING.md file as had you done so, it would have failed with asource 'vendor/grammars/verse-grammar' contains no grammar fileserror because your grammar repo is not in a format used by editors.We expect the grammar files to be in these locations, depending on the extension. Your grammar repo isn't.
Please fix your grammar repo and re-add your grammar.
Hi, sorry about that — I thought I had followed the steps correctly, but I clearly misunderstood. This is actually the first project I’m contributing to, so I really appreciate your guidance.
I’ll work on fixing the grammar repo in the next few hours and re-add it properly.
Just to confirm, does Verse already meet the popularity requirement to be accepted as a supported language?
Thanks again for your help!
Hello, the Verse language is becoming increasingly popular! It was officially announced last month as the official language of Unreal Engine 6. It’s even being taught in some schools. Do you think the language still deserves its “pending popularity” status?
Popularity is only reassessed when I'm preparing to make a new release which happens approx every 3-4 months. If it meets our requirements and the PR's tests pass, the PR will be merged. I will not add a comment each time as this is unnecessary noise telling you what the label does.
It also still looks like you've still not used the script/add-grammar. Please do so as it'll save everyone time when the language is reassessed.