#UETips

Interestingly enough... I don't know if you noticed but a lot of details were lost on #UE5 renders. And I discovered why. I accidentally forced #SubstancePainter to export png in 16 bit. So remember to always use 8bit pngs.

#UETips

Re-render of one of the dice images with corrected 8bit png textures.

Stumbled upon this today, you can safely remove elements from a TMap by using the RemoveCurrent() function of its iterator implementation !

Useful to remove stale delegates while iterating for execution as an example.

#UnrealEngine #UETips

TMap<FString, FSomeDelegate> DelegateMap;

// UNSAFE !! Don't do this !
for (auto& [DelegateName, Delegate] : DelegateMap)
{
  if (Delegate.IsBound())
    Delegate.Execute();
  else
  	DelegateMap.Remove(DelegateName) // This invalidates the range iterator !
}

// Do this instead !
for (auto It = DelegateMap.CreateIterator(); It; ++It)
{
  if (It.Value().IsBound())
    It.Value().Execute();
  else
    It.RemoveCurrent(); // Safe, the iterator is stable until its destruction
}
2022-12-04

Another useful #unrealengine plugin if you want to use Editor icons in Editor Utility Widget Blueprint instead of Slate. Credits to @ryan_dowlingsoka

github.com/Ryan-DowlingSoka/Re

#UETips #UETip #UE5 #ue4 #unreal4 #Unreal5 #unrealeditor #unrealdev

2022-12-02

New Interchange pipeline in #UnrealEngine lets you define your own ways of importing assets. If you go to Project Settings -> Engine -> Interchange category, you can add custom pipelines into Pipeline Stacks.

#UETip #ue5 #uetips

Pipeline settings from Project Settings.Default assets pipeline for static and skeletal meshes

Over time this one turned out as a best practice for me when it comes to working with actor references in blueprints in #UnrealEngine. The macro is setup quickly and can be extended later on easily. Check it out! 💥

💡 Follow for more #UnrealTips

#ue4 #indieDev #GameDev #UETips

2022-11-26

Quick #UETip. Having performance issues in Editor viewport? Adjust the resolution and screen percentage for Editor Viewport from Editor Preferences -> Performance -> Viewport Resolution category.

#unrealengine #ue4 #ue5 #uetips

2022-11-24

#UETips

Ideally, variables should not be accessed by external objects directly. Instead, Getter and Setter functions should be established to retrieve and set the value.

This massively helps with future extendibility and debugging.

unrealdirective.com/tip/getter

#UnrealEngine

A feature that snuck past a lot of folks in UE5.1 is that you can now enable the Waveform Editor plugin to chop up/clean up raw audio in the engine. It's a little thing but it's nice having one less excuse to leave the engine to clean something up! #UETips

A good trick I've enjoyed lately when developing a new event or API that I'm unsure what the signature should look like.

Wrap your args in a struct ! The arguments order stops mattering, makes it easy to add or swap out new parameters !

#UnrealEngine #UETips

Not sure what the signature should look like ? UFUNCTION(BlueprintImplementableEvent) void OnMenuOpened(); 

Starting to add arguments, but then refactor becomes annoying... Especially with blueprints ! 

UFUNCTION(BlueprintImplementableEvent) void OnMenuOpened(EMenuFlowFlags Flags);

Arrow Down |  Move to a struct !

USTRUCT (BlueprintType) struct NGGAME_API FNGUIMenuOpenedEventArgs { GENERATED_BODY () UPROPERTY (BlueprintReadOnly, Transient) EMenuFlowFlags Flags = EMenuFlowFlags::None; 

Arrow Down | Now we can refactor the arguments and it's a lot let stressful to think about ! 

UFUNCTION(BlueprintImplementableEvent) void OnMenuOpened(const FNGUIMenuOpenedEventArgs& Args); 

(Caveat is that it's easier to forget setting an argument, can be solved with constructors !)
2022-11-15

#UETips

Use the stat unit console command to display helpful performance statistics within the viewport.

Alternatively, you can use the stat unitgraph console command to display those same metrics along with a live graph of the metrics.

unrealdirective.com/tip/stat-u

#UnrealEngine #UE5

2022-11-13

#UETips

Utilize the Camera Position material node as an anchor for your masks. For example, if you pair it with the Absolute World Position, Camera Direction Vector, and the Sphere Mask nodes, you can mask out a consistent location based on the forward vector of the camera in world-space.

This masking method is helpful for adjusting the World Position Offset of foliage, fading out walls when the character is behind them, etc.

Info + Example
unrealdirective.com/tip/camera

#UnrealEngine #UE5

2022-11-12

#UETips

Divide the final emissive color by the EyeAdaption node to keep the materials emissive consistent across different exposure levels.

unrealdirective.com/tip/regula

#UnrealEngine #UE5

@_benui on Twitter I usually just tagged @unrealengine, redundant to use an identical hashtag in my opinion.
If I don't have enough space for it I'll use the shorthand hashtag #UE (version agnostic).
If it's something clever or a tip I'll use #UETips.

ben 🇵🇸 ui_benui@mastodon.gamedev.place
2022-08-01

You can Shift-RMB to copy and Shift-LMB to paste in #UnrealEngine Details Panel!? #UETips
(Via @Sindriava)

I don't know if I'm the last person using UE to learn this, but you can Shift-RMB a Details panel property to quickly copy it and Shift-LMB to quickly paste itRight click drop down showing copy and paste with shift RMB and shift LMB as shortcuts.
Filofilotg
2022-04-27

2) Using Python and a small workaround in C++, you can create simple nodes to repopulate StringTables and Datatables. I used this in the past to allow automatic imports from designers spreadsheets
dev.epicgames.com/community/sn

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst