I’m just wondering if the VS 2013 support is any better for things like Intellisense and linting than the VS2015 appears to be. I’m somewhat familiar with using VS with C# (but new to C++), and it’s really grating on my nerves that the intellisense is so off and so many things are flagged as errors.
For instance, I’m going through the book ‘Building an RPG with Unreal’ and when I get to the point where I create a ControllableCharacter class the number of errors it found appeared to have crashed both VS 2015 and the Unreal editor. Upon re-loading it I see even simple things like:
‘class RPG_API UControllableCharacter : public UInterface’
In my header are flagged as issues because it says UInterface is not a class or struct name. It still appears to compile fine, but… Intellisense wants to change it to UINTERFACE, but then it won’t compile.
Even simple lines like:
‘#include “ControllableCharacter.h”’ cause an issue because it appears to have split the .h and .cpp into Public/Private directories. So I get:
Severity Code Description Project File Line Suppression State
Error (active) cannot open source file “ControllableCharacter.h” RPG c:\Users\me\Documents\Unreal Projects\RPG\Source\RPG\Private\ControllableCharacter.cpp 4
Basically it doesn’t appear like any of the error checking or intellisense can be trusted, as it’s full of false positives and incorrect items.
So, anyways - just wondering if 2013 works any better with the engine than 2015 does. If not, and If I have to disable all of the intellisense and error checking in 2015 I think I’d probably be better off with Sublime.
Kind of a moot point, since, as far as I know, you have to use VS2015 for UE4.10+.
Could be wrong.
Did you include the UINTERFACE macro with your class declaration?
class RPG_API UControllableCharacter : public UInterface
Hey Kris, thanks for the reply.
I do have the UINTERFACE() macro there:
Like I said, it compiles fine - visual studio just thinks that the code is all garbage. I’m not sure if this is normal or not at this point though.
One thing that may be causing an issue - when I first created the ControllableCharacter class I clicked on ‘public’, and then found that there was no way to de-select it. I then found that there was apparently no way to delete that class either… I did find something on the answers site that took me through how to wipe out all of the Saved directory and then re-generate the project, but each time I create ControllableCharacter again it splits it off into public (.h) and private (.cpp) directories. I.e., Public is now -always- highlighted when I go to create a new class based on Actor, whereas before neither of these options were highlighted. So for this class it has an error for almost everything, since it can’t find the header:
Whereas other files I created before having clicked on ‘public’ appear to be in working order, and not split (xxx and yyy were based on Actor as well, though the controllablecharacter obviously had everything replaced):
hope that makes sense…
Hrm - so, I was able to verify that it is indeed the private/public split that makes the header not found message occur, and subsequently causes VS to barf all over the matching cpp. I’m at a loss of how to resolve that besides starting over and NEVER clicking that Public/Private option though, as far as I can see once you select either of those there’s no way to ever not have it set.
I also ran into an odd issue while testing this. I created a new project, added a class based on Actor as a test, then another for my controllable character (also based on the Actor), and then replaced all text in the .h and .cpp with what was included in the book (this is the exact process they say to follow) - upon compile I received this error:
But everything kept working after pressing OK, so I ignored it. I then created a ControllableCharacter2 class selecting Public to confirm that it was causing my header not found issue, and received a similar error upon compile for THAT class. I then closed the unreal editor and VS to see if I could have a class not be either Public or Private upon re-opening UE4 editor (I cannot), and noticed that both my ControllableCharacter classes are nowhere to be seen in UE4 editor. They’re still very much there in the VS solution though.
So, it appears I may have additional problems as well. I think I’ll give up for now, as things seem to be degrading at a quickening pace.