Intellisense for Unreal Engine 5.3 is incorrect, how to fix?

I am concerned that Intellisense is lying to me about the declaration of macros and classes in Unreal Engine 5.3.

Classes such as FOnButtonClickedEvent defined using the DECLARE_DYNAMIC_MULTICAST_DELEGATE macro are not subclasses of TBaseDynamicMulticastDelegate<FWeakObjectPtr, void>, which while it was in UE5.2, in UE5.3 it is of type TBaseDynamicMulticastDelegate<FNotThreadSafeDelegateMode, void> instead (the former results in a compile-time error). This lead results in Intellisense erroneously marking this static_assert as false, when it in fact is true and successfully compiles: 

static_assert(std::is_base_of_v<TBaseDynamicMulticastDelegate<FNotThreadSafeDelegateMode, void>,
 FOnButtonClickedEvent>, "Intellisense is not lying...");

Another consequence of this problem is that context actions fails to navigate me to the declaration of DECLARE_DYNAMIC_MULTICAST_DELEGATE and instead does nothing when I Ctrl+Left Click that macro.

How do I fix this issue? I have completely reinstalled the newest versions of Rider and ReSharper C++ 3 times now and this issue continues to persist!

1 comment

Hi! Thanks a lot for the detailed description.

The issue with incorrect DECLARE_DYNAMIC_MULTICAST_DELEGATE will be fixed in the next release: RIDER-103866.
And here is the issue about navigation: RIDER-33619, you can upvote the ticket to get a notification when it's fixed.
Sorry for the inconvenience.


Please sign in to leave a comment.