Engine Editor UI Complexity

80lv: You probably hear this question a lot but why are the game engine interfaces so counterintuitive and complex? Is it really true or is it just the outcome of game developers being used to certain things and certain tool layouts?

Engine editors need to handle a big variety of systems and (sub-)editors. All with their own requirements, workflows, and users.

You have an Environment Artist who wants to quickly manipulate material properties. A System Designer who wants to change an NPC’s AI behavior. A Game Designer who wants to tweak the reward a player receives for an action. Or a Narrative Designer who wants to change how dialogue is triggered under a certain condition. There are so many of these examples. Animations, cinematics, level design, game logic, particles, sound, and so many more… everything is unique and requires its own way of editing.

So these editors can be complex, yes. Counterintuitive, maybe. Depends on who’s looking at them. Somebody who is not familiar with animation, in general, might be overwhelmed by the interface to set up a complex animation clip, while a Senior Animator might like the convenience of having everything at hand on one screen.

New Content: Communicating Its Functionality

80lv: How do you communicate to the developer how all the tools and new features work? When you look at the growing library of features, it can get pretty frustrating to understand each of them because there are just so many tools out there.

When we develop a new feature, big or small, we usually involve our internal developers early on. They request something completely new or an improvement to something existing. Then we start evaluating. Why was the request made? What’s the current workflow? Where can we see problems? And so on. Then we sketch, prototype, and test to see if it meets the expectations of our developers before we put it into the next release. After that, it’s often “only” about communicating that a feature is available now.

Every once in a while there are bigger changes to old systems that need a bit more communication. This is usually done through internal presentations or newsletters highlighting the most important aspects.

And of course, there’s engine documentation that users can refer to, including video tutorials and downloadable example projects, which are especially useful for novice and/or external developers.

Last but not least, there’s a lot of talking involved as well. When developers have questions, our front-end department is there to answer, whether verbally, through chat, or via e-mail. For external users, we are supported by our community management team who handle all the social media platforms, like Discord or our own forums.

Creating Unobtrusive & Helpful UI

80lv: It is said that the tool buttons should be placed somewhere on the periphery and the majority of the space should be the working area. Do you agree with it? How do you make the interface unobtrusive and helpful?

There are more reasons why an interface might be obtrusive or hard to use than just the placement of things. The size, shape, and color of your UI elements play a huge role in that too. Some users prefer darker interfaces, while others prefer them to be brighter. Or icons might be easier to identify when you use a two-color scheme (and text).

In general, I think it’s not a bad start to give the developers’ work the most screen space. But where you place buttons (or interactive elements in general) highly depends on the complexity and type of the tool or workflow. Easy access to material parameters is probably just as important as seeing what effect they give on the material preview for example.

But there’s more. Think of the information flow. Most people here read from left to right. So consider this when you design an interface for these people. You probably don’t want users to constantly move their eyes from left to right or top to bottom. Put information where the user needs and expects it.

A simple example in CRYENGINE would be our selection helpers. Press and hold the space bar to get help selecting objects. Release the key and the helper cues are gone. It’s not obtrusive, and it is easy to reach when needed.

Show information on demand: