bIsVisibleForAssets
bIsVisibleForAssets
#Overview
name: bIsVisibleForAssets
The value of this variable can be defined or overridden in .ini config files. 5
.ini config files referencing this setting variable.
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of bIsVisibleForAssets is to control the visibility of a DeviceProfile for asset types that can reference Device Profiles. This setting variable is used in the device profiling system of Unreal Engine 5.
The Unreal Engine subsystem that relies on this setting variable is the Device Profile system, which is part of the Engine module. This can be seen from the file paths in the callsites, which are located in the Engine/Source/Runtime/Engine directory.
The value of this variable is set in the constructor of the UDeviceProfile class, where it is initialized to false. It can also be modified through the Unreal Editor, as it is marked with the UPROPERTY macro and has the EditAnywhere and config specifiers.
This variable interacts with other members of the UDeviceProfile class, such as the Parent pointer and the bVisible flag. While bIsVisibleForAssets determines visibility for asset references, bVisible controls visibility in the editor’s property matrix.
Developers must be aware that this variable affects which Device Profiles are available for selection when working with assets that can reference Device Profiles. Setting this to true will make the profile visible and selectable for these assets.
Best practices when using this variable include:
- Only set it to true for Device Profiles that should be actively used and referenced by assets.
- Use it in conjunction with the bVisible flag to control overall visibility and accessibility of the Device Profile.
- Consider the implications on asset management and project organization when changing this value.
- Document any changes to this variable, as it can affect which Device Profiles are available for asset references across the project.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseDeviceProfiles.ini:179, section: [Windows DeviceProfile]
- INI Section:
Windows DeviceProfile
- Raw value:
True
- Is Array:
False
Location: <Workspace>/Engine/Config/BaseDeviceProfiles.ini:289, section: [IOS DeviceProfile]
- INI Section:
IOS DeviceProfile
- Raw value:
True
- Is Array:
False
Location: <Workspace>/Engine/Config/BaseDeviceProfiles.ini:792, section: [Android DeviceProfile]
- INI Section:
Android DeviceProfile
- Raw value:
True
- Is Array:
False
Location: <Workspace>/Engine/Config/BaseDeviceProfiles.ini:1158, section: [Mac DeviceProfile]
- INI Section:
Mac DeviceProfile
- Raw value:
True
- Is Array:
False
Location: <Workspace>/Engine/Config/BaseDeviceProfiles.ini:1177, section: [Linux DeviceProfile]
- INI Section:
Linux DeviceProfile
- Raw value:
True
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Classes/DeviceProfiles/DeviceProfile.h:32
Scope (from outer to inner):
file
class class UDeviceProfile : public UTextureLODSettings
Source code excerpt:
/** Some asset types can reference Device Profiles, is this profile visible to those assets. */
UPROPERTY(EditAnywhere, config, Category = DeviceSettings)
uint32 bIsVisibleForAssets : 1;
/** The parent object of this profile, it is the object matching this DeviceType with the BaseProfileName */
UPROPERTY()
TObjectPtr<UDeviceProfile> Parent;
/** Flag used in the editor to determine whether the profile is visible in the property matrix */
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Classes/DeviceProfiles/DeviceProfile.h:93
Scope (from outer to inner):
file
class class UDeviceProfile : public UTextureLODSettings
function bool IsVisibleForAssets
Source code excerpt:
ENGINE_API const FSelectedFragmentProperties* GetFragmentByTag(FName& FragmentTag) const;
bool IsVisibleForAssets()const { return bIsVisibleForAssets; }
public:
/**
* Access to the device profiles Texture LOD Settings
*/
ENGINE_API UTextureLODSettings* GetTextureLODSettings() const;
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/DeviceProfiles/DeviceProfile.cpp:25
Scope (from outer to inner):
file
function UDeviceProfile::UDeviceProfile
Source code excerpt:
BaseProfileName = TEXT("");
DeviceType = TEXT("");
bIsVisibleForAssets = false;
bVisible = true;
FString DeviceProfileFileName = FPaths::EngineConfigDir() + TEXT("Deviceprofiles.ini");
// LoadConfig(GetClass(), *DeviceProfileFileName, UE::LCPF_ReadParentSections);
}