Skip to content

Ciberusps/UHL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

251 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

UHL

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

✨ Features

  • Utils - utility functions for your game, e.g. GetProjectVersion, GetAssetsOfClass, GetHighestPoint
  • Editor - editor customization, e.g. Custom thumnails, Custom class icon

πŸš€ Install & ⬆️ Update

From source (recommended)

// 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`

From marketplace

for now not listed

🧩 Modules

UHL consists of 3 modules:

  • UnrealHelperLibrary - Blueprint Function Libraries. Most functionality can be tested in Gyms(maps for testing atomic/single gameplay mechanic), all Gyms located 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 ConvertToORM quite often task when you want to combine 3 textures Occlusion, Roughness, Metalic in one ORM texture

πŸ“„ Documentation

πŸ“š UnrealHelperLibrary

⌨ Editor

UnrealHelperLibraryBPL

> RelativeAngles

RelativeAngleToActor

for most cases you want to use "InRange" like IsOtherActorInAngle (or IsOtherCharacterInRange if you want to check distance)

image

GetPointAtRelativeAngle

image image

GetPointAtRelativeDirection

image image

GetPointAtAngleRelativeToOtherActor

GetPointAtDirectionRelativeToOtherActor

DirectionToAngle

> Misc

GetProjectVersion

Get project version from "Project Settings"

image

image

GetNamesOfComponentsOnObject

Get names of actor components on object, usefull for GetOptions UPROPERTY

GetAssetsOfClass

> Other

GetHighestPoint

ANS_UHL_Base

ANS_UHL_Base - base AnimNotifyState class with commonly used features like

  • subscribing OnMontageBlendingOut by overriding OnMontageBlendingOut can be disabled by bUseOnMontageBlendingOut=false(true by default)
  • more come later

Subsystems

UHLHUD

HUD with debugging abilities, for now used to display debug bars(e.g. HP/hidden attributes)

πŸ”ƒ LoadingUtilLibrary

UHLLoadingUtilLibrary - loading utils from Lyra

ApplyDefaultPriorityLoading

ApplyStreamingPriorityLoading

ApplyHighestPriorityLoading

ApplyCustomPriorityLoading

ForceGarbageCollection

FlushLevelStreaming

🎯 TraceUtilsBPL

UHLTraceUtilsBPL - trace utils

⌨ UHL Editor

UHL Editor - optional module with editor customization, e.g. custom thumnails, custom class icons

Custom thumnails

image

Custom thumnails - to override thumbnail by your own, just implement IUHLEditorCustomThumbnail interface and define your own icon using GetCustomThumbnailIcon()

Warning

⚠️ NOT sure that blueprints supported for now

// 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;
}
#endif

Thanks to this post and this

Custom class icon

Custom class icon - to override classes icons on your own, just set settings in Project Settings -> Editor -> UnrealHelperEditor Settings

image

List of default Unreal Engine Editor icons

Thanks to this post and this

UHL Utils (Editor Utility Widget)

βš’οΈ InProgress

ConvertToORM

Combines separate Occlusion, Roughness, Metalic textures into one ORM

TODO check ref - https://github.com/Atulin/ChannelMerger

Special Thanks

@Ingarnm, @Vamp1rk0 for feedback

About

core unreal-helper-library plugin with common things like ANS, helper functions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors