I am looking to create a generic gaming template and doing quite a bit of research in efficiencies in my workflow.
I paused at the HUD class because I have read that it is technically deprecated now that UMG has emerged.
So the million dollar question is, why would be used it? Is there any reason out there to justify using the HUD class knowing that it may disappear from the engine completely in the near future ?
I think generally; after starting a project within a given engine version, you wouldn’t be continuously updating to the latest version, unless you had a real good reason to do so. Although there may be improvements in various systems, it is likely to create a lot of headaches, especially when the project gets larger.
So only in the circumstance of you constantly updating to the latest version, there is no risk of features being removed prior to completing the project.
Since it looks like you are creating a marketplace item that would need to be updated with each new version, it’d be prudent for you to avoid deprecated classes/features.
We use AHUD to manage all our UMG widgets and it owns the Interface to the HUD. If your HUD gets advanced enough you probably do not want anything to have direct access to a widget, only to a HUD interface.
So calls are like “HUD >> ShowDialog()” and never “SpecificHudBlueprint >> DoSomething()”.
Default HUD is built into GameMode so easily accessible. If they ever got rid of it, many would just have to create an equivalent.