Hey, Ive been daily driving Rider for Unreal engine for a while now, and I keep running into issues that cause a lot of frustration.
If they were to be fixed, it would be a much better experience. I very much prefer the experience over that of Visual Studio and would like to remain using Rider, but it causes pain during long programming sessions as the IDE starts becoming more and more unresponsive.
I think it is quite important to note that I am developing with a custom source build, with very slight modifications, and do not use prebuilt engine binaries, and I work on engine plugins.
System specifications: I have a 12-core Threadripper with 64GB of 3200Mhz DDR4, with all drives on the machine being NVMe drives with read speeds of over 3200MB.
Ive increased the editors ram to 8GB and set the GC to conical sweep in an attempt to alleviate the issues, but they continue. I have found no mention of how to increase the backend's available ram either. The backend is almost always above 2700M and constantly approaches the maximum of 3770M.
The list of common issues I keep running into:
- Heap size starts off at 750MB and increases throughout the day to 6.5GB, and it will never go down without killing and reopening the editor.
- At some point actions no longer execute, or take *minutes* to run. Something along the lines of "Action not ready, preparing". This is not just for code navigation, but during a state like this even opening the settings will just show an infinite spinner. At this point the only solution is to kill and reopen the editor.
- When hitting "alt + o" to switch between source and header, this is really annoying. A really simple task such as this should never lag.
- The code editor slows down and becomes unresponsive. I believe the most important thing for a good editor is immediate response to key presses/typing. Any indication of lag is really unwelcome, and it happens a lot.
- This is *extremely* apparent when trying to indent. Hitting "tab" and sometimes it can take multiple seconds for the editor to shift code over. If you get a bit impatient and hit it again you end up chaining a bunch of tab events that fire all together.
- This happens by far the most in Slate declarative syntax.
- Disparity between opening via ".uproject" and ".sln"
- Opening the ".sln" file with Rider presents a much different Solution structure than opening with the ".uproject" file. Using the uproject file, Rider understands its an unreal engine project. If I open the ".sln" file, it shows up as a generic visual studio project.
- Please, please, make a custom solution file format for UnrealEngine Rider. Having to right click on the uproject, go to open with, and open with Rider for unreal engine every time is ridiculous. I cannot change the uproject association either, as I use it to quickly open the editor when I dont have the IDE open. I cannot change the ".sln" association as I have projects that must open with visual studio. It feels a bit half-assed as it is now - just make the generator produce a ".ridersln" file or something along the lines that Rider can quickly identify and open the project correctly.
- An option to disable same-directory short includes. It's a bit of a pet peeve of mine that including a file that is in the same directory simple includes it via shorthand, it would be my preference to have it always include from the module path.
- The debugger almost never shows variable data. If I go to a call frame, I can see variables but there is never any data in them. Yet when I look at the code in the editor I can sometimes see the values. Sometimes the debugger has values and they don't match the ones in the editor, and the editor ones are correct.