Black Eye Technologies' Adam Myhill and Gerald Orban have joined 80 Level to discuss their brand-new Unreal Engine add-on Black Eye Cameras, and share the tool's capabilities.
Introduction
Adam: Hi, I’m Adam Myhill, co-founder of Black Eye. This journey goes way back to 1999, when I started working on cameras for video games and cinematics. Back then, the tools were clunky - or didn’t even exist - and some things were pretty much hard coded. Over the years, on projects like NBA STREET, Need for Speed, Homeworld, and many others, I’ve worked with amazing people tackling the challenges of gameplay and cinematic camera systems. The big revelation? Procedural cameras are incredible.
After about 15 years of computer cameras I fell into the film world as a Director of Photography on some features and a documentary with hands on actual metal and glass until the fine folks at Blackbird Interactive invited me to work on the cinematics for Homeworld: Deserts of Kharak. That’s where I met Gerald, and together we built Cinemachine in Unity to tackle the challenges of creating variable-scenario, who-knows-what-the-heck-is-going-to-happen cutscenes as well as gameplay camera modules.
These tools weren’t born out of a desire to tap into a market or start a software company, they came out of sheer frustration. As a cinematic and gameplay camera artist it was really frustrating how primitive the tools were. Back in the beginning I literally stood beside a programmer watching the game and our ‘workflow’ was guessing and shouting out magic numbers. “Change that number from 5 to 5.3” Then we’d recompile, reload the game, sit through the main menu music for the thousandth time, jump back into gameplay and hope it worked which it rarely did because you’re doing everything blind. “Let’s try 5.2” That cycle repeated endlessly and there wasn’t a smile in sight. It was galvanizing. Instant iteration times HAD to be a core design element. The camera also had to ‘look’ through the lens, just like a human operator and the weight had to feel right, and on and on. Pretty quickly a camera system manifesto was forming. That was 5 camera systems ago!
DOK has an hour of cinematics and because the player’s situation and vehicles can vary, the cutscenes needed to dynamically adapt to all these different setups. There was no way we could make multiple sequences for every scenario. One day, in a particularly iconic moment now looking back on it, the designers decided to increase all the vehicle speeds. Most of our cutscenes used the game’s vehicle animation system so this was a major problem - or was it? We only needed about half a day to check everything and make literally a few tweaks. The cameras figured it out by themselves.
That moment really solidified our mission: procedural camera systems aren’t just convenient – they’re a game-changing tool for modern game development.
Sequence by Taran Matharu
Gerald: Hi, I’m Gerald Orban, Co-Founder of Black Eye Technologies. I’ve been in the gaming business for 16 years and have always loved working in the realm of graphics and tooling my whole career. I helped start a small studio in Vancouver called Blackbird Interactive where we eventually started working on a project called Homeworld: Deserts of Kharak. It was a very ambitious RTS game that leaned heavily into cinematics, but we had a very big problem: all the cinematics were to happen live in-game with actors that only existed while playing the game. We needed a new type of camera system and approach that could handle these variable scenarios, and that’s where I met Adam and he pitched Cinemachine as the path to success.
I managed to convince the leadership to let me pursue this idea, and it led to one of the most robust and intuitive camera tools real-time gaming has seen. It unlocked so many amazing cinematic moments in Homeworld, and eventually any Unity project as well. I am so excited to bring Black Eye to Unreal Engine where we can build procedural camera systems for Unreal users.
The Rise of Cinemachine
Cinemachine developed quite a fanbase over the years –we’ve been told that it has over 1M downloads. It was built with an ocean of love, striving to make it as project-agnostic as possible. That’s no small technical feat, especially from a UX perspective. Along the way, we learned a lot, one of the biggest things is that simplicity in design is hard. It’s so tempting to add yet another slider or toggle for each new function but that approach quickly turns things into an airplane cockpit - confusing, cluttered, and unusable and we’ve got the scars to prove it.
Unity acquired Cinemachine in 2016. There we pushed the boundaries of machine learning editing systems, shot evaluation, synthetic director methods, and other higher-level dynamic camera systems. I won a Technical EMMY for my role in Disney’s Baymax Dreams series which was all Cinemachine. About a year after leaving Unity, Gerald and I had a conversation: ‘Hey, should we get the band back together and build the very best camera system ever?’ That’s when Black Eye was born.
Black Eye is the culmination of decades of experience building real-time camera systems – from AAA games to indie projects, film previs, and CG cinematics. It’s a complete redesign and rethink of everything we’ve learned, built on a clean slate with our most advanced ideas to date. We’re bringing together the best of everything we’ve created so far.
Experience With Unreal Engine
Adam: We love Unreal Engine. Switching engines can seem scary but we got things stood up so quickly in Unreal it was incredible. “It just works” Gerald and I would Slack each other in regards to Unreal. I’m not trying to sound all cheesy sales plug, we actually did that a bunch of times. It just works. We moved fast and got the basics of Black Eye stood up in only a few weeks. From start to finish – the company, and v1.0 has been just over 10 months. It’s been a herculean amount of work and we got there that fast hugely in part because of how quickly you can work in Unreal.
Most people probably aren’t thinking about camera systems all that much but if you sign up for that adventure, it quickly becomes clear that things are going to get complicated. There’s a lot to get right in regards to the approach, the order of operations, the math, and ultimately, how to make a system that feels like how a real camera behaves. Over the years, we have barked up plenty of wrong trees. Often the best approach isn’t the obvious one. Believable camera behaviors are an incredibly nuanced thing. We didn’t fight much with Unreal Engine, the majority of our time was spent making progress.
Gerald: When we decided to build Black Eye, I think the combined time spent in Unreal was pretty low between Adam and me. We were prepared for a steep learning curve having all of our professional time being spent in Unity for over a decade. I think what’s great about modern engines is that the approaches and reflexes you develop are game development ones that can be used anywhere. After opening up Unreal the first time and orienting myself, it did not take very long to get down to business and start building Black Eye. Epic has some good resources for helping people to transfer their skills to Unreal! Having source access from the get-go was a real boon to help get off the ground quickly as well.
Thoughts on Unreal Engine 5.5
Unreal Engine 5.5 brings a lot to the table, and the Sequencer improvements are especially impressive. Features like custom bindings, time-warps, filtering, and animation layers add an incredible amount of power. Combined with animation Control Rigs, there’s now a very real case for doing all animation and layout directly in-engine, eliminating the need for round-tripping back to a DCC. The dream of multiple disciplines all working in layers, together, is actually now here!
Hasn’t this been the holy grail? Creators are able to see everything together, make changes to any aspect, and instantly see the results in context. Unreal’s continued progress means we’re no longer locked into pre-defined production stages where contributions must happen in a specific order. Of course, for larger teams, you may still want some structure so it’s not total chaos! But now, if you want to move a camera, adjust some animation, tweak the edit, color grade – whatever – all in one session, you can. It’s all right there.
This philosophy aligns perfectly with how we approach tools like Black Eye. In a traditional pipeline, you experiment and iterate in the animatic without much of any context and then start pouring cameras and layout concrete. Pretty quickly all that hardens and things are locked down. It doesn’t have to be that way. With Black Eye, you can block in shots, adjust animations, even rework the edit, and the cameras dynamically adapt to it all. Of course, there can be knock-ons but there’s technically no reason why you can’t turn an edit upside down and have all the shots still work. It’s a crazy fast way of working, especially for previs.
I worked with a well-known director on a project where we were constantly moving cameras and making wild edit changes on the fly. At one point, he turned to me and said, ‘You know… these tools let me get closer to the story.’ Isn’t that the best quote ever? This is exactly what the Unreal Engine 5.5 and Black Eye are enabling – closer, faster, and more intuitive storytelling.
Black Eye Cameras
Our target audience is simple: anyone using a camera in Unreal Engine. Whether you’re developing a game with gameplay cameras, cutscenes, and cinematics, working on film previs, or creating traditional CG with complex shot workflows, Black Eye Cameras can revolutionize your process. It not only saves time but allows for things that would either be impossible otherwise or a difficult time-consuming fragile giant ball of code you’d have to develop and maintain.
Here’s what Black Eye brings to the table: In real-world filmmaking, there’s a natural relationship between the camera and the subject - one that goes beyond mere framing. Subtle factors like the pivot point of a fluid head, the slight lag as the camera tracks movement, and the acceleration or deceleration during a pan or tilt all shape the final shot. This is super fascinating – because we’ve spent years watching movies and television, we absorb these nuances subconsciously and instantly sense when something is off. Black Eye is built around this deep-rooted cinematic language, capturing those organic details to ensure your virtual camera work feels as genuine and intuitive as real-world cinematography.
It was mission-critical for us that Black Eye emulate these behaviors. When done well, it just feels right – it feels real. When done poorly, say a simple look-at constraint with a 3D lag, people immediately sense something is off. It feels weird because that doesn’t match what we’re accustomed to seeing, those aren’t the rotations that happen in real life by camera operators looking through the lens. We’ve spent a long time perfecting Black Eye to authentically replicate the natural movements of human-operated cameras. From the way it composes a shot to how it handles damping and transitions, we’ve iterated through multiple approaches – eulers, quaternions, blending techniques, and operation hierarchies – to ensure the results are as authentic as possible
This all holds true for gameplay cameras, only with different priorities – responsiveness, awareness, and of course, controller input. Most of the modules on our roadmap are specifically for games, things like collision systems, 2D camera features, blending, noise and camera shakes, priorities, and more. We have a lot of game features coming.
The Capabilities
Black Eye v1.x has controls for how the camera looks at things – rotation, FoV, and focus distance – and for how it follows things – translation. There’s a lot of mojo which is conveyed with just those 8 channels! The LookAt module has controls for screen-space composition, dynamic FoV, velocity look-ahead, multi-target weighting, and movement dead zones, but also the minimum amount possible to help keep the UX straightforward while still allowing for the most control.
Both LookAt and Follow can track multiple subjects. Say you want to frame a flock of things that swirl around in all different shapes, no problem. You can also set a camera to consider multiple points on a character, say the hips and head, to ensure consistent framing no matter how close they are or for a single camera to handle multiple character sizes. Build one sequence to handle multiple characters.
Those two modules, LookAt and Follow, unlock a tremendous amount of camera capability for cinematics, previs, and games. The camera is your window to the experience and it plays such a huge part in the perception of your project’s quality. Quality cameras elevate the experience. It’s pretty neat that video game genres can be defined by the camera type – 1st-person, 3rd-person, sidescroller, isometric, top-down, etc.
Also, pretty much everything is exposed to Blueprints. Want to vary the mix of what a camera is looking at or bias the follow weighting between multiple subjects at runtime? No problem. It’s intensely powerful.
Selling the Plug-In
The Fab people at Epic have been wonderful. It took a few submissions to get everything tightened up but we were up and out in a few days. It’s so great to have one place for so many different types of assets – across engines! We think Fab will become the central location for sharing content across platforms. We are stoked to be there from the beginning.
For us, engaging with the community has been vital – we spend a lot of time on the Black Eye Discord channel, answering questions and gathering feedback. There’s also a never-ending need for more demo videos, tutorials, and helpful documentation to ensure users can get the most out of the tool.
Our advice to other Fab sellers: allocate sufficient resources for marketing, promotion, community support, documentation, and social media updates. Offering great content is of course critical, but it’s not the whole picture – how you support and promote it matters so much.
As for non-Unreal Engine users, Fab is certainly the place to be, especially given the growing cross-platform nature of the assets if your content spans engines. How cool is it that you can access the two biggest engines in one Marketplace? The super low sales cut and Personal and Pro pricing tiers are a huge bonus too.
Future Plans
We’re focused on two main areas:
- Continuing to Evolve Black Eye. We’re actively developing new features, which all users will receive free of charge. Coming soon are powerful additions like multi-subject weighting, 2D camera rigs, super-easy camera baking for DCC roundtrips, composition-aware camera blending, and a super realistic and versatile handheld noise/shake system. Our roadmap is public – check it out here.
- The really big thing brewing is a cinematic generation system that will generate movie-like footage from a game in real-time. Imagine a cinematic spectator mode for multiplayer titles where there’s essentially a film crew working inside the game. It’s going to transform how we watch esports or any spectator-based game. This involves shot evaluation, cut cadence, understanding cinematography rules, and deciding the best camera and editing style for the current action. Set it to be in fully auto mode or drive it by picking players and shot types and it will figure out the rest. It feels a little bit like magic to watch it in action. We’ve done it before, and we’re thrilled to bring this technology to the Unreal Engine.