UHL - unreal helper library, toolset to help developers working with AI, GAS, customizing editor and so on. Goal is to became a tool that insta-installed on new project creation. All tools are mostly tested on melee combat so if you have other background and think that something should work another way or have an idea on how to improve developer experience feel free to discuss.
Support: UE5.4 - UE5.6
TODO: screeshot from FAB
- Utils - utility functions for your game, e.g.
GetProjectVersion,GetAssetsOfClass,GetHighestPoint - Editor - editor customization, e.g.
Custom thumnails,Custom class icon
// install as git submodule to your plugins folder
git submodule add https://github.com/Ciberusps/UHL.git ./Plugins/UHL
// to update plugin
git submodule update --remote`for now not listed
UHL consists of 3 modules:
- UnrealHelperLibrary - Blueprint Function Libraries. Most functionality can be tested in
Gyms(maps for testing atomic/single gameplay mechanic), allGymslocated in/Plugins/UnrealHelperLibrary/Content/Gyms - UnrealHelperEditor - optional module with editor customization, e.g. custom thumnails, custom class icons
- UHL Utils (EditorUtilityWidget) - widget with tools helping you make trivial things, like
ConvertToORMquite often task when you want to combine 3 texturesOcclusion,Roughness,Metalicin one ORM texture
- UnrealHelperLibraryBPL
- Gameplay
- GetActorClosestToCenterOfScreen
- GetMostDistantActor
- RelativeAngles
- UI/Screen
- GetViewportSizeUnscaled
- Misc
- Debug
- DrawDebugLineOnCanvas
- Other
- LoadingUtilLibrary
- TraceUtilsBPL
- SweepCapsuleSingleByChannel
- Settings
- Subsystems
- AnimNotifyState (ANS)
for most cases you want to use "InRange" like IsOtherActorInAngle (or IsOtherCharacterInRange if you want to check distance)
Get project version from "Project Settings"
Get names of actor components on object, usefull for GetOptions UPROPERTY
ANS_UHL_Base - base AnimNotifyState class with commonly used features like
- subscribing
OnMontageBlendingOutby overridingOnMontageBlendingOutcan be disabled bybUseOnMontageBlendingOut=false(true by default) - more come later
HUD with debugging abilities, for now used to display debug bars(e.g. HP/hidden attributes)
UHLLoadingUtilLibrary - loading utils from Lyra
UHLTraceUtilsBPL - trace utils
UHL Editor - optional module with editor customization, e.g. custom thumnails, custom class icons
Custom thumnails - to override thumbnail by your own, just implement IUHLEditorCustomThumbnail interface and define your own icon using GetCustomThumbnailIcon()
Warning
// UInventoryItem.h
#if WITH_EDITOR
#include "UHLEditorCustomThumbnail.h"
#endif
// IUHLEditorCustomThumbnail not available in production build
#if !WITH_EDITOR
class IUHLEditorCustomThumbnail {};
#endif
class GAMECODE_API UInventoryItem : public UObject,
public IUHLEditorCustomThumbnail
{
/** IUHLEditorCustomThumbnail **/
#if WITH_EDITOR
virtual UTexture2D* GetCustomThumbnailIcon_Implementation() const override;
#endif
/** ~IUHLEditorCustomThumbnail **/
}
------------------------------------------------------------------
// UInventoryItem.cpp
#if WITH_EDITOR
UTexture2D* UInventoryItem::GetCustomThumbnailIcon_Implementation()
{
return Description.Icon;
}
#endifCustom class icon - to override classes icons on your own, just set settings in Project Settings -> Editor -> UnrealHelperEditor Settings
List of default Unreal Engine Editor icons
βοΈ InProgress
Combines separate Occlusion, Roughness, Metalic textures into one ORM
TODO check ref - https://github.com/Atulin/ChannelMerger








