Hi, I'm ben.

I grew up in the UK, lived and worked in the video games industry in Tokyo, Paris and Vancouver. I have 8 years' experience as an Unreal Engine UI programmer, as well as experience with Unity and custom C++ engines.

I'm passionate about creating amazing user experiences not only for players but also for fellow devs; effortless workflows that let designers and artists create freely and make them love their jobs.

I'm currently a UI Programmer at Epic Games working on LEGO Fortnite. I was previously UI Programmer on city-builder Industries of Titan and action-RPG Vampyr. For more see my Portfolio.

I love sharing what I learn about Unreal Engine through tutorials, documentation, tips and links, and running an Unreal UI Discord. I've been lucky to be able to open-source code that I wrote for Brace Yourself Games as plugins on GitHub. For the full list see Code below.

I also try to give back to the community that helped me, by mentoring people and giving talks for university gamedev courses. I've given talks for the University of British Columbia and Birmingham City University. In 2023 I organized the relaunch of the #notGDC Non-conference.

My CV/resume is available as a PDF.

Contact

Games

LEGO Fortnite

UI Programmer @ Epic Games

Unannounced Project

Lead Programmer @ Brace Yourself Games

Industries of Titan

UI Programmer, UI Designer, Game Designer @ Brace Yourself Games

Cadence of Hyrule: Crypt of the Necrodancer Featuring The Legend of Zelda

Additional Programming (UI) @ Brace Yourself Games

Vampyr

UI Programmer @ DONTNOD

Monster Boy

Gameplay Programmer @ The Game Atelier

Nova-111

Writer @ Funktronic Labs

IA/VT -COLORFUL-

UI & Tool Programmer

Code

Open-source plugins for Unreal Engine.

πŸ’¨ UI TweenerAnimate UI widgets from C++.
πŸ‘Ύ Cheat ManagerAdd custom cheat shortcuts like enemy.hp.set 50.
βœ… Asset ValidatorCheck texture size, category, import path.
🎟 YouTrack Ticket FillerOpen a browser and pre-fill information.
πŸ”  LocalizationCSV-based fan-translation-friendly alternative localization system.
🎨 Rich TextSupports Markdown-like formatting, inline images, and tooltips.
πŸ”’ Cross-Branch LockWarn if assets are locked in another branch.
πŸ“ƒ ImGui LoggerDisplay logs in-game using ImGui.
πŸ—£ Text to SpeechUse Windows built-in TTS to speak text.

About the Site

I started benui.ca in 2017 as a place to write down things I learned as I was getting to grips with Unreal Engine. Information about building user interfaces in Unreal Engine was scattered around the web in forum posts and Unreal Wiki entries, so I wanted to collate it into a single place, for the selfish reason that it would make it easier for me to find the information again in the future.

Since then, it's grown into a popular resource for developers making UIs in Unreal Engine, with tens of thousands of unique visitors and page views per month. I've received messages from university educators and people making private courses that they mention benui.ca as a useful source of information for students.

In January 2022 I created the benui Discord server as a place to discuss UI-related issues. It has attracted many professional developers who contribute to discussions on implementing in UMG and Slate, UI materials, localization and more. We hit 1000 users in June 2022!

benui.ca is built using Jekyll, and a heavily modified version of the Minimal Mistakes theme.

If you find any bugs on the site, please report them on the GitHub Issues Page.

Made by a Human

I was grew up in the golden age of the web, as anybody with a passion could freely share their knowledge on a personal website. Instead of being siloed away in chat servers, as hard-to-find tweets of it wasFrom cats to cars to chemistry, you could learn about it on the web. Search engines grew to let people find what they wanted, and eventually Google grew to be the dominant search engine.

As the web grew, personal sites were outpaced by sites run by corporations (think IGN, Fandom). These sites made and continue to make their money through selling ad-space. Google also grew to be the dominant ad platform. To make more money through ad sales, sites now had to try to be the top search result, to get more clicks, to sell more ads. Similarly, Google now had a financial dis-incentive to change its algorithm to lower the rank of sites that were merely clickbait.

As of 2024, the web is dying, and its death is being accelerated by large language models. Concise, funny, hand-made pages are replaced by infinite amounts of useful-sounding but ultimately vague and pointless text. The text is good enough to trick search engines and sell more ads. And the top search engine still benefits from the problem and so will not fix it.

This is all to say that I will not be using LLMs on this site.

License

The contents of this site are licensed under a modified MIT License that prohibits its use in any AI or machine learning system.

MIT No AI License

Copyright (c) 2024 Ben Humphreys

Permission is hereby granted, free of charge, to any person, and not artificial intelligence (AI) or machine learning (ML) system, obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. The Software is NOT used in or by GitHub Copilot, ChatGPT or as training data or as suggested code in any similar AI or ML-based code suggestion system. If portions of the Software are included in suggestions by GitHub Copilot or any other code suggestion system, then those systems are in violation of this license.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.