Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Feature Requests
 Support of UE4

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
yatagarasu Posted - Feb 21 2016 : 11:16:09 PM
Any plans to make support of Unreal Engine 4?
UE4 have it's sophisticated macros system of UPROPERTY and other such staff, would be cool to have support of editing and refactoring them with VA. I know a lot of UE4 dev's use VA, because standard Intelliscence does not handle UE4 source code well.
13   L A T E S T    R E P L I E S    (Newest First)
sean Posted - Mar 09 2017 : 12:12:46 AM
case=86215 is implemented in build 2210.
ChrisG Posted - Oct 25 2016 : 9:45:36 PM
One of our developers just cleared this up:

"The VA Options dialog only displays the directories that are defined in the VC++ Directories page. VA does read the nmake directories, but doesn't consider those directories to be 'platform' dirs -- so aren't displayed in the VA Options dialog.

The VA C/C++ Directories page only displays Platform directories -- symbols defined in those directories are considered 'system' symbols and are rendered with italics in the editor when the italic option is set. Since the UE directories are specified in the nmake configuration, symbols defined in the engine won't be rendered with italic."

So, Visual Assist is reading the directories properly, and you should not have to do anything special to make Visual Assist work with Unreal Engine 4.
ChrisG Posted - Oct 25 2016 : 7:15:59 PM
Or, did you have a different problem, yatagarasu?
ChrisG Posted - Oct 25 2016 : 7:10:17 PM
The issue is that the directories are listed under NMake, and not under VC++ Directories. Because of this Visual Assist does not see the additional include directories. (or if it does, it does not list them)

feline Posted - Oct 25 2016 : 6:38:17 PM
Which IDE and version of VA are you using?

I have just created a simple VS2015 C++ console project with VA 2114. The solution contains a single project. When I then edit the project settings to add a Source Directory, and restart the IDE just to make sure that everything has been saved, and VA has had a chance to read it, the new directory is being listed in the VA options dialog.

So this should work, and does work under these conditions.
yatagarasu Posted - Oct 24 2016 : 04:38:25 AM
Another question for UE4 support - does VA reads project directories correctly?
UE4 generate nmake file project's, but it fills Source Directories in project properties.



But whole tomato does not show these folders in Source folder list defined by project.



So I don't know if Tomato is using these paths or not? And can they be used if not?
yatagarasu Posted - Feb 28 2016 : 05:04:47 AM
Thanks for hints, i will try them.
feline Posted - Feb 26 2016 : 12:52:53 PM
VA won't suggest symbols it does not know about. So if you want VA to know to suggest other symbols, you need to tell VA about them. A simple way of doing this is to add code like this to one of your files:

// telling VA symbols to suggest
#if 0
#define Category
#define VisibleInstanceOnly
#define BlueprintReadOnly
#endif


VA parses inactive code, so it will pick up the symbols as macros, so they will become known symbols that can be suggested.

Next, have you tried using VA Snippets for inserting some of the repeating pieces here? Inserting specific blocks of code / text is what VA Snippets are designed for:

http://docs.wholetomato.com/default.asp?W171

If you are going to have a group of related snippets, which seems possible here, this setting might help:

https://wholetomato.fogbugz.com/default.asp?W325

For excluding the first name from the search, where are you searching? The Find Symbol dialog searches all of the name, so you can start typing the middle of the name. For listboxes, the two settings:

VA Options -> Enhanced Listboxes -> Allow Acronyms and Shorthand
VA Options -> Enhanced Listboxes -> Prefer Acronym matches

are designed to help with typing part of the name, e.g. the middle of the name.
yatagarasu Posted - Feb 26 2016 : 08:01:54 AM
Also there is strict naming convetion in UE, like all UObject derived classes names start with U letter, except AActor derived classes which start from A letter, and all other classes can be named from whatever letter, but usually start from F )

Idk if VA type name suggestion scheme can be tweaked to ommit first letter from search. Because sometimes names are grouped by some rules, but their first letter differ. Like ADroneActor, UDroneBrainComponent, FDroneDescription.
yatagarasu Posted - Feb 26 2016 : 07:57:50 AM
Ughhh... Ok, Unreal Engine have it's own metadata markdown system, based on define. Any reflected field in the class looks something like that,

UCLASS(ClassGroup = (MyGameObjects))
class ASomeActor
{
//...

UPROPERTY(Category = "Logic", VisibleInstanceOnly, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
class UBaseDroneStateMachine* StateMachine;
};

Any class, struct, enum, class field or class function can be labeled with such Umacros. This Umacros have some possible arguments which are described in documentation, like here https://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/Reference/Classes/Specifiers/index.html
Most of them are just flag values, some of them have string value (or bool) like Category, some of them are nested into meta group.

For now VA does not suggest any of them, when you type, only if you already typed one, VA somehow manages to suggest them (idk how it works =))), but usually VA suggest something completely unrelated. Would be cool to have some meaningful suggestions when typing these macros. And maybe some dialog to set them through a GUI way. (but that is just a dream)

Most of work with Unreal Engine is about filling this macros, so help of some tool would be great for developers. These macros are used to support Unreal Engine reflection system.


feline Posted - Feb 25 2016 : 12:29:48 PM
Assume I know nothing at all about UE, can you post a simple code example to explain what you are talking about and looking for?

What are the UPROPERTY flags and modifiers? Just macros, or something else? Custom refactoring commands, just for UE, are unlikely, but if this is just C++ code, then why not use the current refactoring tools?
yatagarasu Posted - Feb 25 2016 : 01:59:37 AM
Actually macro parsing is not a problem. Visual Assist works ok with UE macros, parses Super:: typedef well and generally works great, far better than Resharper c++.
What I think is needed is refactoring tools, or some edit dialog for setting all those UPROPERTY flags and modifiers.
feline Posted - Feb 22 2016 : 2:37:08 PM
We are considering this, but it is not currently a priority so I am not sure if or when something will appear:

case=86215

In the short term, you might find turning on deeper macro parsing helps:

https://wholetomato.fogbugz.com/default.asp?W363

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000