Pretty much the title. I’m working on the next generation of some algorithmic trading bots, and while I’ve done this before using console or Winforms, I’m looking to make this version a bit more user interactive.

I was considering using a game framework like MonoGame to basically have a really great 2D UI that would allow for more interactive visualizations, etc. While I’m not making a game per se, I am looking for some game-like elements in terms of user interface. What say you, r/csharp?
Nothing wrong with it, but Monogame doesn’t have any UI built in, you would have to roll your own, or use some of the extension classes on nuget. It probably doesn’t make sense to do unless you need it to be cross platform or run on not windows.
Good call–yeah the lack of UI is definitely worth considering (I want to roll my own aspects of the UI, but still have the basic winforms etc.). Edit: thank you for your reply!
Out of curiosity, would WPF work for you? You can use DirectX interop to do things like graph rendering, etc. If I remember correctly some charting libraries like scichart do that. And I’ve done fairly complex portions of the UI using that approach before. Note it wasn’t fun. But might work better than wrapping your app in something like MonoGame depending on your needs.
Unity gets used for plenty of non-game related stuff.
Can also use it for 2d.
Downside is it’s quite ‘heavy’.
Blazor & SVG & CSS could be an option (but I think it’s still a bit limited currently)
Thanks for your reply! The ‘heaviness’ of Unity is why I wasn’t considering it, as I’m thinking its overkill for what I’m trying to accomplish (and I won’t use any of the 3D features most likely). Glad to hear I’m not crazy for considering a game engine for a GUI though.
Blazor & SVG & CSS
Thanks for adding this to my list to look at–I take it this would be a browser-based solution?
Monogame is fine. There’s a nuget for a UI framework as well I believe. You can also embed monogame in a wpf app. If you wanted normal UI and monogame for visualization.
You can also embed monogame in a wpf app.
Oooh, now this idea I like. Thanks for that suggestion! It sounds like the best of both worlds… I’m going to take a look at that now.


I would avoid to use MonoGame as is out of date and you cannot customize a lot of things. Like the gaming loop could cause you high cpu/gpu with no reason. If you want to go lower level I would use SharpDX directly for DirectX interop.
C# devs
null reference exceptions

source