#@BattleToad :annoyed_ping:
1 messages ยท Page 1 of 1 (latest)
Yeah, we've been bashing our heads at this issue for some time and It's a lot of the pain in the buttcheeks.
Because unloaded module is not enabled for the current configuration, UBT knows nothing about its context, dependancy modules, include paths, etc.
We were thinking about doing the same thing as VS sln, simply loading files from the filesystem and giving it some random context, but that sparked few holly wars on topic of "we must provide the most accurate info" vs "we must make devs lifes more convenient"
Yeah that does sound like a pain honestly. I personally am all for the latter option of making dev lives more convenient even if the contextual information is less accurate because our only other choice as of now when using the .uproject workflow is enabling "show all files" (unless there are other options too that I am not aware of) and trying to manually follow things around with no syntax highlighting or "jump to X" options.
Of course that is the take of a single person but I do think a lot of people would agree that "some" functionality (even if skewed) is waaay more useful than straight up being locked out of viewing the content in certain modules. Even if it was still a manual opt in of "Force load" and had some kind of tooltip saying something like "results may be less accurate due to blah". I am sure you guys have already considered it though but this is a massive annoyance for a lot of people and any kind of solution atm seems like it would be a huge QOL improvement.
Anyway I am sure you have other things on your plate atm but it would be great to see any kind of force browse option, appreciate what you and the team do though for real. Without
the UE experience would be a LOT more painful ๐
UBT knows nothing about its context, dependancy modules, include paths, etc.
i'm completely not educated in this topic but i think UBT knows it to some extent, just in runtime while reading TargetRules (or just Rules, forgot the name of the class). Maybe some .ubtplugin could access them?
As another Rider user I will also drop to my knees and beg for this feature
I love Rider overall but nothing is more mind-alteringly frustrating than trying to edit a .Build.cs file when Rider tries to parse it halfway through a line, can't parse it, decides to exclude the module because it can't parse the .Build.cs, and then stops providing syntax highlighting and autocomplete
Offtopic - i want ubtplugin that is part of uproject to be displayed by rider as subproject (and being able to build it) without needing to have separate rider opened with ubtplugin project ๐
because i constantly forget to build ubt plugin before project build
btw, there's an option to disable auto generate project files for uproject, so you can modify .build.cs files and alike and it won't throw the module away on failed load
@meager dust you are correct, UBT knows about the Rules files at some extent, but there are multiple cases for not loading a module:
- Rules files won't compile - UBT dynamically compiles Rules files to use it's description for project structure. If it fails to compile, the module is simply dropped out.
- Module is compilable, but
- it's disabled for the selected Platform - you'll get an absolute mess of include suggestions, type definitions and all other things
- it's disabled for the selected Target - you'll a little less mess, but still bunch of include suggestions that are not relevant (aka suggest symbols from Editor modules for Game module)
So there are 2 options, either:
- give it as-is as in .sln projects, parse filesystem, give all modules, provide a general context for all modules and ignore correct symbol references, sacrificing code accuracy (that is the most often case of fights here in JB, majority of people are strongly opinionated against this approach)
- provide a very limited, borderline general text based search for excluded modules (that's smth closer to what we can pass, but there's a good chance it'll be shadowed by tasks by bigger priority)
In the end, I'd love to make it work, but I can't promise anything, 'cause we're VERY limited in the resources once again... That's the burden of GameDev targeting department ๐ข
Thanks for the explanation! and thanks for your efforts on Rider's features & listening to community 