Description
A C++ interaction framework for Unreal Engine 5. Drop one component on any actor and configure its behavior in a custom editor panel, entirely with mouse clicks, with no Blueprint graph and no code.
Demo: [Playable Windows build]
Docs: [Full docs], [Quick Start]
Support: [Support page], [Discord]
Watch first: [Door in 20 Seconds with REC], [Drawer with REC], [Light Switch by clicks], [Fan by clicks]
All videos: [YouTube playlist]
Any scene component on the actor can become an animatable target. Door, drawer, lever, elevator, light, machine, chest, laptop, doesn't matter. You build interactions out of States. A State is a pose, and it can also drive audio, effects, physics, lights, materials, animation. States get sequenced into Groups and Cycles. Those get triggered by a player, an NPC, a proximity zone, or your own Blueprint code.
Everything replicates. Everything saves. The runtime itself is C++, and it stays fast because of that, but every trigger, query, event and decision point is still exposed to Blueprint. If your project is pure Blueprint you never touch C++. If it's a C++ project you get the full source and can go read it.
This isn't only for doors. The same few concepts that light a switch will also run a multi-lock vault, a working elevator, or thirty lights cascading in sequence. Simple stuff and complicated stuff run on the same system.
The tools you'll use
Control Panel is a custom editor that replaces the stock Details view. Interaction tree, scrubbable timeline, live viewport preview, a Test button on every group. Edit the interaction, click Test, and preview the result directly in the editor.
It also works inside the Blueprint editor. The panel docks right after Details on any Actor Blueprint, so building a reusable BP_Door feels the same as editing a placed actor. Every instance inherits the changes.


Interaction recorder: press Rec, move the object, press Stop. Groups, keyframes and states are generated for you, and you name the forward and reverse motions and set the playback duration independently of how long you spent recording. Open a drawer by hand to create its Open interaction.
Every target, state, and group field is a searchable dropdown of only valid choices, and they're checked live as you edit. If something points at nothing, the field turns amber and offers a "did you mean...?" suggestion. Mistakes show up while you're still setting it up, not later at runtime.

- Presets and multi-select stamping: save an object's entire setup and apply it to another in one click, or push one object's interactions onto every other selected object at once, and undo it if it wasn't what you wanted.
- Tools menu: manager tab, presets, level-wide JSON import / export with a diff viewer, validation sweep, settings.
Free updates, for as long as you own it. Bug fixes, engine bumps, new features, all of it, no extra charge. We read the messages people send in and we actually build the stuff people ask for.
What your objects can do:
One state can do a lot more than move something. It can rotate, scale or hide a component. It can play a sound (one-shot or looping), spawn a Niagara effect, apply an impulse or force, change a light's color/intensity/temperature, swap a material, play an animation, or pass values into your own gameplay logic.
Locks, keycards and multi-step puzzles: a condition can read the state of any other object in the level. On fail it can hold or stop and play its own feedback, such as a locked click.
Proximity zones: a box, a sphere, or any trigger volume you already placed. A lamp that lights as you approach, a fan that spins while you stand near it, with no button press.
One object can drive many others: a single switch can operate a light across the room, a whole bank of lights, or a chain of machinery, filtered by their current state.

Objects carry other objects: a lift carries the player, a drawer carries its contents.

- Motion that times itself: set a travel speed or turn rate and each move re-times by distance, so an elevator to a farther floor takes longer. Easing, looping with spin-up and wind-down, hold-to-confirm and interruption rules are all available.
- Grab, carry and throw any physics object under the crosshair.
- Animate bones: drive a skeletal hinge or lever with the same keyframes that move components.
CYCLE: groups in order
Each trigger moves one step: closed → opening → open → closing. Place a door half-open in the level and it auto-detects which step it is on.
Cycle Door [ Open, Close ]
Shipping your game:
- Multiplayer works online with no extra setup on your end. Server-authoritative and late-join safe, with server-side range checks so a modified client can't reach across the map and trigger objects it shouldn't. Grab, carry and throw are also supported.
- Bots open the same doors players do. An AI companion and the player call the exact same Blueprint function on the exact same door - there's no separate "AI-friendly" version to maintain, so they can't drift out of sync with each other.
- Save/load actually resumes mid-motion: a door left half-open comes back half-open, not snapped shut or stuck. Every object and cycle is saved and restored, timeline position included.
- Runtime is native C++ (full source is included), and it's fast because of it. Every trigger, query and event is still exposed to Blueprint, so you're never forced into C++ to use any of it.
- Debug overlay: inspect interaction points, line of sight (LOS), resolved targets, conditions, and network role.
- The Player Interactor picks the nearest interactable by distance and view angle, works in first or third person, fires events your HUD can hook into, and has a physics impact hook plus a typing mode for terminals and talking to NPCs.
- It doesn't care what's pressing the button. Mouse, keyboard, gamepad, whatever you've wired up, it's a Blueprint call underneath. There's a radial menu too, if you want it.
- Comes with worked examples: a door, a proximity lamp, a keycard-locked drawer, a whole showcase level, and a preset library you can drop onto your own meshes.
Level-wide export and import: save every interactive object to one JSON file and load it back, with a diff viewer, so interaction data is reviewable in version control.


Limitations:
- Animating bones needs a Poseable Mesh.
- What a moving object carries is decided when the motion starts.
- Not a dialogue, inventory or quest system.
Frequently asked questions
Do I need to know C++?
No. Everything is created by clicking in the editor panel, and every trigger, query and event is exposed to Blueprint. A pure-Blueprint project never opens a C++ file. Full source is included if you want it.
Does it work in multiplayer?
Yes, with no extra setup. It is server-authoritative and late-join safe, so a player who joins halfway sees every object in its current state. Server-side range checks stop a modified client triggering objects across the map. Grab, carry and throw replicate too.
Does it need any other paid plugin?
No. It depends only on Unreal's own Enhanced Input, Niagara and MetaSound, plus our free MovaCore plugin. There is nothing else to buy.
Will this work with my existing character or controller?
Yes. Interactions are triggered by plain Blueprint calls, so they fit any character, controller or input scheme, including first person, third person, top-down and your own custom setup. The included Player Interactor is optional convenience, not a requirement.
Can my AI and NPCs use the objects too?
Yes, and via the same objects the player uses. Interactions are triggered by a Blueprint call that takes no player and no controller, so a behavior tree task, a bot or any other actor can run one. You set up the door once and both use it.
Can I use it on objects I already made?
Yes. Add one component to an existing actor and its scene components become animatable targets. Nothing needs remodeling, re-rigging or re-parenting.
What happens when the engine updates?
Every update is free for life, including new engine versions. Feature requests and bug reports go into the roadmap.
Will it work with VR, touch or my own input setup?
Yes. Interactions fire off plain Blueprint calls. Motion controller, screen tap, gamepad, your own custom code, doesn't matter what detects the input. Nothing in the plugin cares what device you're on. The example content is built for mouse and gamepad though, so for VR you'd wire your own hand or pointer into the same calls yourself.
Can I ship a game with it?
Yes. It packages for Windows, Mac, Linux, PS5, Xbox Series X|S and Switch, and there are no runtime fees or attribution requirements.
What is it not?
It is not a dialogue, inventory or quest system. It animates and reacts to objects in your world. It does not manage conversations or player inventory. Animating bones needs a Poseable Mesh, and what a moving object carries is decided when the motion starts.
How long before I have something working?
Minutes. Press Rec, move the object by hand, press Stop, and the states and keyframes are generated for you. There is a playable demo and a YouTube playlist above if you want to see it before buying.
Included formats
Compatibility and file information
Details
Changelog
Comments