Skip to content

Migration Guide

This page contains relevant information regarding version updates, when applicable.

1.x to 2.0

With the recent update to version 2.0, a new Data Asset was introduced to the plugin, thus changing the way Input Handlers are assigned to the Input Manager Component.

Even though the core functionality and architecture design remains pretty much the same, this particular change was enough to warrant a bump in the major version. Especially considering the addition of a other meaningful yet important things such as the Input Buffer and improved integration with the Unreal Enditor.

The three main reasons to move the Input Handler to a dedicated Data Assets were:

  1. Everytime you assigned a Handler in the Manager Component, you'd have a Handler instance in that component. This is not necessary since Handlers are meant to be unmodifiable objects, therefore having just one instance in the Data Asset, shared across all components using it is a better optimization.

  2. There seems to be some odd behavior when you have an UObject marked with the instance modifier in an Actor Component, and then trying to create a sub-component in another project module.

  3. Providing the Data Asset to the Manager Component provides a better transactional boundary, making the entire API more "atomic" (you either add the Context + Handlers or you don't).

Create Input Setup Data Assets

Deprecation warning

Please be advised that the properties marked as deprecated will be removed in version 2.1!

Once you update the Plugin, you'll notice that your inputs will stop working. This is because, even though the Input Mapping Contexts and Input Handlers are still present in the Manager Component, they are not processed anymore. You'll even see that these fields are now marked as deprecated.

Please create a Data Asset, as shown in the Initial Setup page for each Context Manager that you want to work with, add their Input Handlers to it and assign these Data Assets to the Manager Component, as necessary.

Update Blueprint Handlers

Optional, yet recommended

This is an Optional step, but I encourage you to consider doing this as, in the future, the Editor may support these assets better (i.e. creating Handlers from Actions).

There's a dedicated Blueprint Class used to mark Input Handlers in the Editor. They even have a proper color to them, to help differentiate them from other Blueprints. If you want to migrate any previous Blueprints into this one, consider recreating them use the approach shown in the Creating Handlers page.

2.2 to 2.3

In an effort to standardize this plugin with other plugins from the Studio, the internal folder structure has been modified. This should only affect you if you are extending core classes via C++.

If that's the case, you will need to fix the following imports:

  • All components were moved to the /Components folder.
  • All data assets wer moved to the /Data folder.