Daily Driving Rider for Unreal - Recurring/Annoying Issues/Improvements

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.

-Xmx8192m
-XX:+UseConcMarkSweepGC

 

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.

 

Thanks,
MS

0
5 comments

Hello Marstaik,

Thanks for taking the time to send us your feedback.
Take my apologies for not responding earlier.

I am sorry to hear you are faced with performance issues.

1. Heap size increases throughout the day
Would you mind sharing a memory snapshot (`Help | Diagnostic Tools | Capture Memory Snapshot) with us when the memory consumption reaches 6GB?

2. Rider becomes unresponsive
Would you mind sharing the additional information as described below, so we could investigate the issue?

  • a backend snapshot, collected while Rider is performing poorly using this instruction (Profile Backend with Sampling)
  • a frontend snapshot, collected while Rider is performing poorly using this guide (the "The CPU usage is high or IDE is slow" section)
  • a memory snapshot, collected while Rider is performing poorly via `Help | Diagnostic Tools | Capture memory snapshot`
  • Rider logs, collected via Help->Collect Logs

3. Disparity between opening via ".uproject" and ".sln"
You are right, either project is opened via .sln or .uproject file the project representation in `Solution Explorer` is different. Is there is an issue with it? .uproject project model is supported in Rider in a way to show a project structure that is similar to internal Unreal Engine project structure.

4. Custom solution format
Thank you for your feedback.
We have no plans to make a custom Rider solution file format in the upcoming releases, but it might change in the future.

5. Option to disable same-directory short includes
We have no plans to implement such a feature and are not sure such a feature is required. Would you mind describing in more detail why do you prefer not to have short includes in your projects?

6. Debugger never shows variable data
Would you mind checking the options below:

  • Ensure you have a {UE root path}/Engine/Extras/VisualStudioDebugging/UE4.natvis file.
  • You might be running your project with 'Development Editor' run configuration, which enables engine and game code optimizations. Due to this, some variables might not be visible during debugging. I suggest trying `DebugGame` or `DebugGame Editor` run configurations. There will be no such optimizations so that you can see all the values during debugging. You can set the build configuration via combo box next to `Build` button (green hammer).

If it does not help, would you mind sharing a screenshot of how the debugger shows the data to you?

You can send the requested data to us via JetBrains upload service and let me know the upload_id.

0

I am encountering a similar issue, but it occurs immediately after debugging the editor from Rider. Have any solutions or workarounds been found for this issue? A restart of rider fixes it, but when i'm make rapid changes between debugging, restarting my IDE is a bit of a hassle.

0

Hello Riff,

Would you mind elaborating on the issue you encounter? Thank you in advance and have a nice day!

0

Hi Dmitry,

Sure! When I start a debugging session for the UE4 editor from rider, the navigation and shortcuts within rider start becoming unresponsive. Regardless of how long of a debugging session I run, stopping it causes Rider's navigation functions (ie Switch between header/source, tabbing, etc as mentioned by Marstaik). Restarting ride does end up fixing the issue, but that's not ideal. We can also move this to a thread to a new post if it's a different root issue.

0

Hello Riff,

Thank you for the details shared. 
Would you mind creating a new post and sharing the additional information as described below?

  • When you stop the debugging session and Rider becomes unresponsive, please take several thread dumps according to this instruction.
  • Make an archive with the logs from %LOCALAPPDATA%\JetBrains\Rider{version}\log folder.
  • Upload the collected data to the Upload Service.
  • Create a new post (you might call `Help | Contact support`) and let me know the Upload ID.

Thank you in advance and have a nice day!

0

Please sign in to leave a comment.