'No InputProcessor has been registered' error using a custom processor

Situation - I have created a very straightforward custom input processor following the dedicated manual page which you can find just below. I’m using 1.8.2 ‘Input System’ package version.

using UnityEditor;
using UnityEngine;
using UnityEngine.InputSystem;

#if UNITY_EDITOR
[InitializeOnLoad]
#endif
public class DeltaTimeProcessor : InputProcessor<float>
{
#if UNITY_EDITOR
    static DeltaTimeProcessor()
    {
        Initialize();
    }
#endif

    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
    static void Initialize()
    {
        InputSystem.RegisterProcessor<DeltaTimeProcessor>();
    }

    public override float Process(float value, InputControl control)
    {
        return value * Time.deltaTime;
    }
}

Errors - While my processor appears as expected and can be assigned to bindings in the Input Manager, I got errors in console when launching Play Mode.


Related issue - During my research, I came across the following Unity discussion regarding the exact same error, appearing only in build releases. Having tried out the suggested workarounds, nothing has made my errors disappear.

Debugging - I also tried debugging the code on registration, it seems like the loaded InputProcessor gets registered correctly, at least on first glance.

Any help would be greatly appreciated.
Thank you!

Is your custom processor script inside a directory called “Editor”? If it is, that is the issue. You need to make sure it’s not in an editor folder.

I also recommend encapsulating your using UnityEditor; statement to live inside your #if UNITY_EDITOR preprocessor.

Hi @ExNull-Tyelor, I can confirm the processor script lives out of any “Editor” directory. It is currently living in the most basic Assets/Input/ path. You’re correct, I just moved the using directive inside UNITY_EDITOR scope.

I read through Input System package changelogs and learnt the bug was known and fixed in 1.11.0 version. I updated and the issue is now gone!