EObjectFlags explained

Hello,

Being far from an expert in Unreal engine 4, and C ++ in general, I am still in the middle of discovering the API.

I am currently creating a Texture2D using the FImageUtils :: CreateTexture2D () function and the following parameter is not very clear to me:

static UTexture2D * CreateTexture2D
(
int32 SrcWidth,
int32 SrcHeight,
const TArray< FColor > & SrcData,
UObject * Outer,
const FString & Name,
const EObjectFlags & Flags,
const FCreateTexture2DParameters & InParams
)

What are the Flags used for and which should I choose in order to create a texture that will not be saved in an asset, and only keep the time of the execution of the program? (more precisely, I load textures, recover the Pixels Data, reduces them and saves them in a texture as thumbnail to display in a list)

I search Google as much as I want, I can not find explanations and the documentation of Unreal Engine 4 does not offer examples.

Thank you in advance for your assistance.

1 Like

Those are UObject flags showing there state and options how UE4 should treat them

It simply tells what flags should produced UTexture2D have and passes it to NewObject function. If you not plan to save the texture to package then good idea would be to set RF_Transient flag.

Lot of core objects in UE4 have flags liek that, specialy UFields, like UClass, or UProperty. When you â– â– â–  BlueprintCallable in UFUCNTION() it sets BlueprintCallable flag in UFunction object of that function that will be generated EFunctionFlags | Unreal Engine Documentation

Thank you for your answer, but I understood this well and have already visited this page.
What I’m looking for is more detailed descriptions of what each Flags does.
For example RF_Transient, it says “do not save object” but more precisely, it means that without this Flag, a texture is automatically saved in a file?
what is not exactly backing up and where?

I would like to be sure to understand what I am doing and why, instead of copying / pasting stupidly. But thanks anyway for your quick response.

1 Like

You thinking too much ;p It means what i say, this object and reference to it won’t be saved to package on attempt to do so. You can set on properties to Transient and it means that property won’t be saved if object will be saved.

AActors are also UObjects, do actors are saved when you spawn them? no, only if level containing them is saved. So obviously UTexture2D won’t too, also it definitely wont be if you not register it to asset registry.