Title. I already have a HUD system set up in UMG, but it would be nearly impossible to access it in C++. Perhaps I am wrong and I should be rendering my crosshair in a different class. Thus, what would be the best way to change my crosshair in C++?
If your HUD system is UMG you are most likely making subclasses of UserWidget. So you probably have something like
BP_Crosshair ← UserWidget.
You can make C++ subclasses of UUserWidget, provide c++ functionality in them, and reparent BP widget class to your “intermediate” c++ class, like
BP_Crosshair ← UMyCrosshairWidget ← UUserWidget.
Then it becomes much easier to access your UMG designed scene from C++. Look up UPROPERTY specifier “BindWidget” to automatically bind a UMG widget to a C++ pre-declared variable.