4.15 C++ Transition Guide

A bunch of typedefs have disappeared from the Messaging module (and possibly other places as well), such as these:



/** Type definition for shared pointers to instances of IMessageBus. */
typedef TSharedPtr<IMessageBus, ESPMode::ThreadSafe> IMessageBusPtr;

/** Type definition for shared references to instances of IMessageBus. */
typedef TSharedRef<IMessageBus, ESPMode::ThreadSafe> IMessageBusRef;

/** Type definition for weak pointers to instances of IMessageBus. */
typedef TWeakPtr<IMessageBus, ESPMode::ThreadSafe> IMessageBusWeakPtr;


I’m not sure if this was intentional or a side-effect of the automated header include cleanup process, which was done to improve engine compile times.

I made use of these in a plugin I built for a customer some time ago, resulting in compiler errors after upgrading to 4.15. Fixing it was easy: just replace the type aliases in your code with the fully written out type names.