It's important to understand that the basic framework objects ModeForwarder, ModeHandler and CmdHandler each have two objects: One object that is just called ModeForwarder, ModeHandler and CmdHandler respectively, and a second object which is called ModeForwarderTemplate, ModeHandlerTemplate and CmdHandlerTemplate respectively. If you want to use any of the default BCI handlers, you need both of these objects, so in your case the ModeForwarder and the ModeForwarderTemplate. In OES you will always use the latter in your model tree, the Template objects. The former is invisible, as you have found out. The logic is that the former implements the actual logic that each of these handlers need while the latter adds all the little details that you need when you want to efficiently work with this handler in the model tree. For normal users this separation is irrelevant, you just always use the Template objects and don't need to care about it. It gets interesting when you create derived objects which are inheriting from the BCI handlers. Then those need to inherit from the former kind, not from the template versions. And those objects themselves then need to be Templates or if they are not then a separate Template object needs to be created for the derived object so it can be used in OES/CPS. While this is confusing in a special situation like yours, the architecture in general is well done as it is. (Thumbs up to whoever designed this in BCI). Using the Object Browser might have mitigated your confusion, but not sure. You can test it yourself: Open the Object Browser and look for mode forwarders in the BCI repo and try to download one. Chance is you get exactly what you need without even knowing it.
... View more