UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UStaticMesh Class Reference

#include <StaticMesh.h>

+ Inheritance diagram for UStaticMesh:

Classes

struct  FBuildMeshDescriptionsLODParams
 
struct  FBuildMeshDescriptionsParams
 
struct  FBuildParameters
 

Public Member Functions

ENGINE_API ~UStaticMesh ()
 
bool IsCompiling () const
 
bool HasAnyDependenciesCompiling () const
 
ENGINE_API FStaticMeshRenderDataGetRenderData ()
 
ENGINE_API const FStaticMeshRenderDataGetRenderData () const
 
ENGINE_API void SetRenderData (TUniquePtr< class FStaticMeshRenderData > &&InRenderData)
 
void RequestUpdateCachedRenderState () const
 
bool IsMinLodQualityLevelEnable () const
 
const FPerQualityLevelIntGetQualityLevelMinLOD () const
 
void SetQualityLevelMinLOD (FPerQualityLevelInt InMinLOD)
 
void GetMinimumLODForQualityLevels (TMap< FName, int32 > &QualityLevelMinimumLODs) const
 
int32 GetMinimumLODForQualityLevel (const FName &QualityLevel) const
 
 UFUNCTION (BlueprintCallable, Category=StaticMesh, Meta=(ToolTip="Allow to override min lod quality levels on a staticMesh and it Default value (-1 value for Default dont override its value).")) void SetMinLODForQualityLevels(const TMap< EPerQualityLevels
 
ENGINE_API int32 GetDefaultMinLOD () const
 
ENGINE_API void SetMinLODIdx (int32 InMinLOD)
 
 UE_DEPRECATED (4.27, "Please do not access this member directly; use UStaticMesh::GetMinLOD() or UStaticMesh::SetMinLOD().") FPerPlatformInt MinLOD
 
const FPerPlatformIntGetMinLOD () const
 
void SetMinLOD (FPerPlatformInt InMinLOD)
 
void GetMinimumLODForPlatforms (TMap< FName, int32 > &PlatformMinimumLODs) const
 
int32 GetMinimumLODForPlatform (const FName &PlatformName) const
 
void SetMinimumLODForPlatforms (const TMap< FName, int32 > &PlatformMinimumLODs)
 
void SetMinimumLODForPlatform (const FName &PlatformName, int32 InMinLOD)
 
bool IsNaniteLandscape () const
 
const TArray< FStaticMaterialMinimalInfoGetCopyOfStaticMaterialsInfo () const
 
TArray< FStaticMaterial > & GetStaticMaterials ()
 
const TArray< FStaticMaterial > & GetStaticMaterials () const
 
void SetStaticMaterials (const TArray< FStaticMaterial > &InStaticMaterials)
 
void SetLightmapUVDensity (float InLightmapUVDensity)
 
float GetLightmapUVDensity () const
 
 UE_DEPRECATED (4.27, "Please do not access this member directly; use UStaticMesh::GetLightMapResolution() or UStaticMesh::SetLightMapResolution().") int32 LightMapResolution
 
int32 GetLightMapResolution () const
 
void SetLightMapResolution (int32 InLightMapResolution)
 
 UE_DEPRECATED (4.27, "Please do not access this member directly; use UStaticMesh::GetLightMapCoordinateIndex() or UStaticMesh::SetLightMapCoordinateIndex().") int32 LightMapCoordinateIndex
 
int32 GetLightMapCoordinateIndex () const
 
void SetLightMapCoordinateIndex (int32 InLightMapCoordinateIndex)
 
ENGINE_API bool CanMeshPaintTextureColors () const
 
UBodySetupGetBodySetup () const
 
void SetBodySetup (UBodySetup *InBodySetup)
 
bool IsBuiltAtRuntime () const
 
void SetIsBuiltAtRuntime (bool InIsBuiltAtRuntime)
 
const FGuidGetLightingGuid () const
 
void SetLightingGuid (const FGuid &InLightingGuid=FGuid::NewGuid())
 
const FVectorGetPositiveBoundsExtension () const
 
void SetPositiveBoundsExtension (FVector InPositiveBoundsExtension)
 
const FVectorGetNegativeBoundsExtension () const
 
void SetNegativeBoundsExtension (FVector InNegativeBoundsExtension)
 
const FBoxSphereBoundsGetExtendedBounds () const
 
void SetExtendedBounds (const FBoxSphereBounds &InExtendedBounds)
 
ENGINE_API void BuildFromStaticMeshDescriptions (const TArray< UStaticMeshDescription * > &StaticMeshDescriptions, bool bBuildSimpleCollision=false, bool bFastBuild=true)
 
ENGINE_API UStaticMeshDescriptionGetStaticMeshDescription (int32 LODIndex)
 
ENGINE_API bool BuildFromMeshDescriptions (const TArray< const FMeshDescription * > &MeshDescriptions, const FBuildMeshDescriptionsParams &Params=FBuildMeshDescriptionsParams())
 
ENGINE_API void BuildFromMeshDescription (const FMeshDescription &MeshDescription, FStaticMeshLODResources &LODResources)
 
ENGINE_API void ExportStaticMeshLOD (const FStaticMeshLODResources &InLODResources, FMeshDescription &OutMeshDescription) const
 
ENGINE_API int32 GetNumUVChannels (int32 LODIndex) const
 
ENGINE_API void SetNavCollision (UNavCollisionBase *)
 
ENGINE_API UNavCollisionBaseGetNavCollision () const
 
ENGINE_API FBox GetNavigationBounds (const FTransform &LocalToWorld) const
 
ENGINE_API bool IsNavigationRelevant () const
 
ENGINE_API UStaticMesh (const FObjectInitializer &ObjectInitializer=FObjectInitializer::Get())
 
virtual ENGINE_API void Serialize (FArchive &Ar) override
 
virtual ENGINE_API void PostInitProperties () override
 
virtual ENGINE_API void PostLoad () override
 
virtual ENGINE_API bool IsPostLoadThreadSafe () const override
 
virtual ENGINE_API void BeginDestroy () override
 
virtual ENGINE_API bool IsReadyForFinishDestroy () override
 
virtual ENGINE_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const override
 
virtual ENGINE_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const override
 
virtual ENGINE_API FString GetDesc () override
 
virtual ENGINE_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize) override
 
virtual ENGINE_API bool CanBeClusterRoot () const override
 
virtual ENGINE_API int32 CalcCumulativeLODSize (int32 NumLODs) const final override
 
virtual ENGINE_API FIoFilenameHash GetMipIoFilenameHash (const int32 MipIndex) const final override
 
virtual ENGINE_API bool DoesMipDataExist (const int32 MipIndex) const final override
 
virtual ENGINE_API bool HasPendingRenderResourceInitialization () const final override
 
virtual ENGINE_API bool StreamOut (int32 NewMipCount) final override
 
virtual ENGINE_API bool StreamIn (int32 NewMipCount, bool bHighPrio) final override
 
virtual ENGINE_API EStreamableRenderAssetType GetRenderAssetType () const final override
 
ENGINE_API void Build (bool bInSilent, TArray< FText > *OutErrors=nullptr)
 
ENGINE_API void Build (const FBuildParameters &BuildParameters=FBuildParameters())
 
virtual ENGINE_API void InitResources ()
 
virtual ENGINE_API void ReleaseResources ()
 
ENGINE_API void UpdateUVChannelData (bool bRebuildAll)
 
ENGINE_API FBox GetMaterialBox (int32 MaterialIndex, const FTransform &Transform) const
 
ENGINE_API const FMeshUVChannelInfoGetUVChannelData (int32 MaterialIndex) const
 
ENGINE_API int32 GetNumVertices (int32 LODIndex) const
 
ENGINE_API int32 GetNumTriangles (int32 LODIndex) const
 
ENGINE_API int32 GetNumTexCoords (int32 LODIndex) const
 
ENGINE_API int32 GetNumNaniteVertices () const
 
ENGINE_API int32 GetNumNaniteTriangles () const
 
ENGINE_API int32 GetNumLODs () const
 
ENGINE_API bool HasValidRenderData (bool bCheckLODForVerts=true, int32 LODIndex=INDEX_NONE) const
 
ENGINE_API bool HasValidNaniteData () const
 
ENGINE_API bool HasNaniteFallbackMesh (EShaderPlatform ShaderPlatform) const
 
ENGINE_API FBoxSphereBounds GetBounds () const
 
ENGINE_API FBox GetBoundingBox () const
 
ENGINE_API int32 GetNumSections (int32 InLOD) const
 
ENGINE_API UMaterialInterfaceGetMaterial (int32 MaterialIndex) const
 
ENGINE_API FName AddMaterial (UMaterialInterface *Material)
 
ENGINE_API int32 GetMaterialIndex (FName MaterialSlotName) const
 
ENGINE_API int32 GetMaterialIndexFromImportedMaterialSlotName (FName ImportedMaterialSlotName) const
 
ENGINE_API void GetUsedMaterials (TArray< UMaterialInterface * > &OutMaterials, TFunctionRef< UMaterialInterface *(int32)> OverrideMaterial) const
 
ENGINE_API const FStaticMeshLODResourcesGetLODForExport (int32 LODIndex) const
 
virtual ENGINE_API bool GetPhysicsTriMeshData (struct FTriMeshCollisionData *CollisionData, bool InUseAllTriData) override
 
virtual ENGINE_API bool ContainsPhysicsTriMeshData (bool InUseAllTriData) const override
 
virtual ENGINE_API bool PollAsyncPhysicsTriMeshData (bool InUseAllTriData) const override
 
virtual ENGINE_API bool GetTriMeshSizeEstimates (struct FTriMeshCollisionDataEstimates &OutTriMeshEstimates, bool bInUseAllTriData) const override
 
virtual bool WantsNegXTriMesh () override
 
virtual ENGINE_API void GetMeshId (FString &OutMeshId) override
 
int32 GetNumSectionsWithCollision () const
 
virtual ENGINE_API void AddAssetUserData (UAssetUserData *InUserData) override
 
virtual ENGINE_API void RemoveUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
virtual ENGINE_API UAssetUserDataGetAssetUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
virtual ENGINE_API const TArray< UAssetUserData * > * GetAssetUserDataArray () const override
 
ENGINE_API void CreateBodySetup ()
 
ENGINE_API void CreateNavCollision (const bool bIsUpdate=false)
 
ENGINE_API void RecreateNavCollision ()
 
ENGINE_API void MarkAsNotHavingNavigationData ()
 
ENGINE_API void AddSocket (UStaticMeshSocket *Socket)
 
ENGINE_API class UStaticMeshSocketFindSocket (FName InSocketName) const
 
ENGINE_API void RemoveSocket (UStaticMeshSocket *Socket)
 
ENGINE_API TArray< UStaticMeshSocket * > GetSocketsByTag (const FString &InSocketTag) const
 
ENGINE_API void GetVertexColorData (TMap< FVector3f, FColor > &VertexColorData)
 
ENGINE_API void SetVertexColorData (const TMap< FVector3f, FColor > &VertexColorData)
 
ENGINE_API void RemoveVertexColors ()
 
ENGINE_API void EnforceLightmapRestrictions (bool bUseRenderData=true)
 
ENGINE_API void CalculateExtendedBounds ()
 
bool AreRenderingResourcesInitialized () const
 
void BeginPostLoadInternal (FStaticMeshPostLoadContext &Context)
 
void ExecutePostLoadInternal (FStaticMeshPostLoadContext &Context)
 
void FinishPostLoadInternal (FStaticMeshPostLoadContext &Context)
 
- Public Member Functions inherited from UStreamableRenderAsset
virtual ENGINE_API ~UStreamableRenderAsset ()
 
virtual int32 GetLODGroupForStreaming () const
 
ENGINE_API void CancelPendingStreamingRequest ()
 
ENGINE_API bool HasPendingInitOrStreaming (bool bWaitForLODTransition=false) const
 
bool IsPendingStreamingRequestLocked () const
 
virtual void InvalidateLastRenderTimeForStreaming ()
 
virtual float GetLastRenderTimeForStreaming () const
 
virtual bool ShouldMipLevelsBeForcedResident () const
 
ENGINE_API void RegisterMipLevelChangeCallback (UPrimitiveComponent *Component, int32 LODIdx, float TimeoutSecs, bool bOnStreamIn, FLODStreamingCallback &&Callback)
 
ENGINE_API void RegisterMipLevelChangeCallback (UPrimitiveComponent *Component, float TimeoutStartSecs, FLODStreamingCallback &&CallbackStreamingStart, float TimeoutDoneSecs, FLODStreamingCallback &&CallbackStreamingDone)
 
ENGINE_API void RemoveMipLevelChangeCallback (UPrimitiveComponent *Component)
 
ENGINE_API void RemoveAllMipLevelChangeCallbacks ()
 
ENGINE_API void TickMipLevelChangeCallbacks (TArray< UStreamableRenderAsset * > *DeferredTickCBAssets)
 
ENGINE_API void SetForceMipLevelsToBeResident (float Seconds, int32 CinematicLODGroupMask=0)
 
virtual int32 GetCachedLODBias () const
 
const FStreamableRenderResourceStateGetStreamableResourceState () const
 
bool RenderResourceSupportsStreaming () const
 
bool IsStreamable () const
 
ENGINE_API void LinkStreaming ()
 
ENGINE_API void UnlinkStreaming ()
 
ENGINE_API bool IsFullyStreamedIn ()
 
int32 GetStreamingIndex () const
 
ENGINE_API void WaitForPendingInitOrStreaming (bool bWaitForLODTransition=false, bool bSendCompletionEvents=false)
 
ENGINE_API void WaitForStreaming (bool bWaitForLODTransition=false, bool bSendCompletionEvents=false)
 
void TickStreaming (bool bSendCompletionEvents=false, TArray< UStreamableRenderAsset * > *DeferredTickCBAssets=nullptr)
 
const FPerQualityLevelIntGetNoRefStreamingLODBias () const
 
void SetNoRefStreamingLODBias (FPerQualityLevelInt NewValue)
 
ENGINE_API int32 GetCurrentNoRefStreamingLODBias () const
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual COREUOBJECT_API void FinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 

Static Public Member Functions

static FName GetQualityLevelMinLODMemberName ()
 
static ENGINE_API float ComputeLODScreenSize (int32 LODIndex, float PreviousLODScreenSize=-1.0f)
 
static ENGINE_API void OnLodStrippingQualityLevelChanged (IConsoleVariable *Variable)
 
static FName GetStaticMaterialsName ()
 
static ENGINE_API const TArray< FStaticMaterialMinimalInfoImportStaticMaterialsInfo (const FString &InData)
 
static FName GetLightMapResolutionName ()
 
static FName GetLightMapCoordinateIndexName ()
 
static FName GetBodySetupName ()
 
static FName GetSupportRayTracingMemberName ()
 
static FName GetPositiveBoundsExtensionName ()
 
static FName GetNegativeBoundsExtensionName ()
 
static ENGINE_API void RegisterMeshAttributes (FMeshDescription &MeshDescription)
 
static ENGINE_API UStaticMeshDescriptionCreateStaticMeshDescription (UObject *Outer=nullptr)
 
static ENGINE_API void CancelAllPendingStreamingActions ()
 
static ENGINE_API void BatchBuild (const TArray< UStaticMesh * > &InStaticMeshes, bool bInSilent, TFunction< bool(UStaticMesh *)> InProgressCallback=nullptr, TArray< FText > *OutErrors=nullptr)
 
static ENGINE_API void BatchBuild (const TArray< UStaticMesh * > &InStaticMeshes, const FBuildParameters &BuildParameters=FBuildParameters(), TFunction< bool(UStaticMesh *)> InProgressCallback=nullptr)
 
static ENGINE_API void CheckLightMapUVs (UStaticMesh *InStaticMesh, TArray< FString > &InOutAssetsWithMissingUVSets, TArray< FString > &InOutAssetsWithBadUVSets, TArray< FString > &InOutAssetsWithValidUVSets, bool bInVerbose=true)
 
static FName GetLODPathName (const UStaticMesh *Mesh, int32 LODIndex)
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 

Public Attributes

FPerQualityLevelInt MinQualityLevelLOD
 
int32QualityLevelMinimumLODs
 
int32 int32 Default
 
EStaticMeshPaintSupport StaticMeshPaintSupport
 
int32 MeshPaintTextureCoordinateIndex
 
int32 MeshPaintTextureResolution
 
float DistanceFieldSelfShadowBias
 
int32 LODForCollision
 
uint8 bGenerateMeshDistanceField: 1
 
uint8 bStripComplexCollisionForConsole_DEPRECATED:1
 
uint8 bHasNavigationData:1
 
uint8 bSupportUniformlyDistributedSampling: 1
 
uint8 bSupportPhysicalMaterialMasks: 1
 
uint8 bSupportRayTracing: 1
 
uint8 bDoFastBuild: 1
 
uint8 bAllowCPUAccess:1
 
uint8 bSupportGpuUniformlyDistributedSampling: 1
 
FRenderCommandFence ReleaseResourcesFence
 
TArray< TObjectPtr< class UStaticMeshSocket > > Sockets
 
TSharedPtr< class FSpeedTreeWindSpeedTreeWind
 
FVector PositiveBoundsExtension
 
FVector NegativeBoundsExtension
 
FBoxSphereBounds ExtendedBounds
 
- Public Attributes inherited from UStreamableRenderAsset
int32 NumCinematicMipLevels
 
uint8 NeverStream: 1
 
uint8 bGlobalForceMipLevelsToBeResident: 1
 
uint8 bHasStreamingUpdatePending: 1
 
uint8 bForceMiplevelsToBeResident: 1
 
uint8 bIgnoreStreamingMipBias: 1
 
uint8 bMarkAsEditorStreamingPool: 1
 

Protected Attributes

int32 ElementToIgnoreForTexFactor
 
uint8 bRenderingResourcesInitialized:1
 
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 
- Protected Attributes inherited from UStreamableRenderAsset
TArray< FLODStreamingCallbackPayloadMipChangeCallbacks
 
TRefCountPtr< class FRenderAssetUpdatePendingUpdate
 
double ForceMipLevelsToBeResidentTimestamp
 
FPerQualityLevelInt NoRefStreamingLODBias
 
int32 StreamingIndex = INDEX_NONE
 
TSharedPtr< int32, ESPMode::ThreadSafeSimpleStreamableAssetManagerIndex = MakeShared<int32, ESPMode::ThreadSafe>(INDEX_NONE)
 
uint8 bUseCinematicMipLevels: 1
 
FStreamableRenderResourceState CachedSRRState
 

Friends

class FStaticMeshCompilingManager
 
class FStaticMeshAsyncBuildWorker
 
struct FStaticMeshUpdateContext
 
class FStaticMeshUpdate
 

Additional Inherited Members

- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 
- Protected Member Functions inherited from UStreamableRenderAsset
virtual bool HasPendingLODTransition () const
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Detailed Description

A StaticMesh is a piece of geometry that consists of a static set of polygons. Static Meshes can be translated, rotated, and scaled, but they cannot have their vertices animated in any way. As such, they are more efficient to render than other types of geometry such as USkeletalMesh, and they are often the basic building block of levels created in the engine.

See also
https://docs.unrealengine.com/latest/INT/Engine/Content/Types/StaticMeshes/
AStaticMeshActor, UStaticMeshComponent

Constructor & Destructor Documentation

◆ ~UStaticMesh()

PRAGMA_DISABLE_DEPRECATION_WARNINGS UStaticMesh::~UStaticMesh ( )

◆ UStaticMesh()

UStaticMesh::UStaticMesh ( const FObjectInitializer ObjectInitializer = FObjectInitializer::Get())

Default constructor

Member Function Documentation

◆ AddAssetUserData()

void UStaticMesh::AddAssetUserData ( UAssetUserData InUserData)
overridevirtual

Reimplemented from IInterface_AssetUserData.

◆ AddMaterial()

FName UStaticMesh::AddMaterial ( UMaterialInterface Material)

Adds a new material and return its slot name

◆ AddSocket()

void UStaticMesh::AddSocket ( UStaticMeshSocket Socket)

Add a socket object in this StaticMesh.

◆ AreRenderingResourcesInitialized()

bool UStaticMesh::AreRenderingResourcesInitialized ( ) const
inline

◆ BatchBuild() [1/2]

void UStaticMesh::BatchBuild ( const TArray< UStaticMesh * > &  InStaticMeshes,
bool  bInSilent,
TFunction< bool(UStaticMesh *)>  InProgressCallback = nullptr,
TArray< FText > *  OutErrors = nullptr 
)
static

Rebuilds renderable data for a batch of static meshes.

Parameters
InStaticMeshesThe list of all static meshes to build.
bInSilentIf true will not popup a progress dialog.
InProgressCallbackIf provided, will be used to abort task and report progress to higher level functions (should return true to continue, false to abort).
[out]OutErrorsIf provided, will contain the errors that occurred during this process. This will prevent async static mesh compilation because OutErrors could get out of scope.

◆ BatchBuild() [2/2]

void UStaticMesh::BatchBuild ( const TArray< UStaticMesh * > &  InStaticMeshes,
const FBuildParameters BuildParameters = FBuildParameters(),
TFunction< bool(UStaticMesh *)>  InProgressCallback = nullptr 
)
static

Rebuilds renderable data for a batch of static meshes.

Parameters
InStaticMeshesThe list of all static meshes to build.
BuildParametersContains all the parameters required to build the mesh.
InProgressCallbackIf provided, will be used to abort task and report progress to higher level functions (should return true to continue, false to abort).

◆ BeginDestroy()

void UStaticMesh::BeginDestroy ( )
overridevirtual

Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

Reimplemented from UStreamableRenderAsset.

◆ BeginPostLoadInternal()

void UStaticMesh::BeginPostLoadInternal ( FStaticMeshPostLoadContext Context)

Initial step for the Post Load process - Can't be done in parallel.

◆ Build() [1/2]

void UStaticMesh::Build ( bool  bInSilent,
TArray< FText > *  OutErrors = nullptr 
)

Rebuilds renderable data for this static mesh, automatically made async if enabled.

Parameters
bInSilentIf true will not popup a progress dialog.
[out]OutErrorsIf provided, will contain the errors that occurred during this process. This will prevent async static mesh compilation because OutErrors could get out of scope.

◆ Build() [2/2]

void UStaticMesh::Build ( const FBuildParameters BuildParameters = FBuildParameters())

Rebuilds renderable data for this static mesh, automatically made async if enabled.

Parameters
BuildParametersContains all the information required to build the mesh.

◆ BuildFromMeshDescription()

void UStaticMesh::BuildFromMeshDescription ( const FMeshDescription MeshDescription,
FStaticMeshLODResources LODResources 
)

Builds a LOD resource from a MeshDescription

◆ BuildFromMeshDescriptions()

bool UStaticMesh::BuildFromMeshDescriptions ( const TArray< const FMeshDescription * > &  MeshDescriptions,
const FBuildMeshDescriptionsParams Params = FBuildMeshDescriptionsParams() 
)

Builds static mesh render buffers from a list of MeshDescriptions, one per LOD.

◆ BuildFromStaticMeshDescriptions()

void UStaticMesh::BuildFromStaticMeshDescriptions ( const TArray< UStaticMeshDescription * > &  StaticMeshDescriptions,
bool  bBuildSimpleCollision = false,
bool  bFastBuild = true 
)

Builds static mesh LODs from the array of StaticMeshDescriptions passed in

◆ CalcCumulativeLODSize()

int32 UStaticMesh::CalcCumulativeLODSize ( int32  NumLODs) const
finaloverridevirtual

Reimplemented from UStreamableRenderAsset.

◆ CalculateExtendedBounds()

void UStaticMesh::CalculateExtendedBounds ( )

Calculates the extended bounds

◆ CanBeClusterRoot()

bool UStaticMesh::CanBeClusterRoot ( ) const
overridevirtual

Called after load to determine if the object can be a cluster root

Returns
true if this object can be a cluster root

Reimplemented from UObjectBaseUtility.

◆ CancelAllPendingStreamingActions()

void UStaticMesh::CancelAllPendingStreamingActions ( )
static

Cancels any pending static mesh streaming actions if possible. Returns when no more async loading requests are in flight.

◆ CanMeshPaintTextureColors()

bool UStaticMesh::CanMeshPaintTextureColors ( ) const

Whether to support per instance texture color mesh painting on components using this mesh.

◆ CheckLightMapUVs()

void UStaticMesh::CheckLightMapUVs ( UStaticMesh InStaticMesh,
TArray< FString > &  InOutAssetsWithMissingUVSets,
TArray< FString > &  InOutAssetsWithBadUVSets,
TArray< FString > &  InOutAssetsWithValidUVSets,
bool  bInVerbose = true 
)
static

Static: Processes the specified static mesh for light map UV problems

Parameters
InStaticMeshStatic mesh to process
InOutAssetsWithMissingUVSetsArray of assets that we found with missing UV sets
InOutAssetsWithBadUVSetsArray of assets that we found with bad UV sets
InOutAssetsWithValidUVSetsArray of assets that we found with valid UV sets
bInVerboseIf true, log the items as they are found

Checks to see if a point overlaps a triangle

Parameters
PPoint
AFirst triangle vertex
BSecond triangle vertex
CThird triangle vertex
Returns
true if the point overlaps the triangle

Checks to see if a point overlaps a triangle

Parameters
PPoint
Triangletriangle vertices
Returns
true if the point overlaps the triangle

Checks for UVs outside of a 0.0 to 1.0 range.

Parameters
TriangleUVsa referenced array of 3 UV coordinates.
Returns
true if UVs are <0.0 or >1.0

Fills an array with 3 UV coordinates for a specified triangle from a FStaticMeshLODResources object.

Parameters
MeshLODSource mesh.
TriangleIndextriangle to get UV data from
UVChannelUV channel to extract
TriangleUVsOUTan array which is filled with the UV data

Performs a UV check on a specific LOD from a UStaticMesh.

Parameters
MeshLODa referenced array of 3 UV coordinates.
LightMapCoordinateIndexThe UV channel containing the light map UVs.
OverlappingLightMapUVTriangleCountOUTFilled with the number of triangles that overlap one another.
OutOfBoundsTriangleCountOUTFilled with the number of triangles whose UVs are out of 0..1 range.
Returns
UVCheckResult UVCheck_Missing: light map UV channel does not exist in the data. UVCheck_Bad: one or more triangles break UV mapping rules. UVCheck_NoTriangle: The specified mesh has no triangles. UVCheck_OK: no problems were found.

◆ ComputeLODScreenSize()

static ENGINE_API float UStaticMesh::ComputeLODScreenSize ( int32  LODIndex,
float  PreviousLODScreenSize = -1.0f 
)
static

Computes the LOD Screen Size based on the LODIndex while keeping it within tolerance from the previous LODScreenSize

◆ ContainsPhysicsTriMeshData()

bool UStaticMesh::ContainsPhysicsTriMeshData ( bool  InUseAllTriData) const
overridevirtual

Interface for checking if the implementing objects contains triangle mesh collision data

Returns
true if the implementing object contains triangle mesh data, false otherwise

Reimplemented from IInterface_CollisionDataProvider.

◆ CreateBodySetup()

void UStaticMesh::CreateBodySetup ( )

Create BodySetup for this staticmesh if it doesn't have one

Create BodySetup for this staticmesh

◆ CreateNavCollision()

void UStaticMesh::CreateNavCollision ( const bool  bIsUpdate = false)

Calculates navigation collision for caching

◆ CreateStaticMeshDescription()

UStaticMeshDescription * UStaticMesh::CreateStaticMeshDescription ( UObject Outer = nullptr)
static

Create an empty StaticMeshDescription object, to describe a static mesh at runtime

◆ DoesMipDataExist()

bool UStaticMesh::DoesMipDataExist ( const int32  MipIndex) const
finaloverridevirtual

Reimplemented from UStreamableRenderAsset.

◆ EnforceLightmapRestrictions()

void UStaticMesh::EnforceLightmapRestrictions ( bool  bUseRenderData = true)

Make sure the Lightmap UV point on a valid UVChannel

◆ ExecutePostLoadInternal()

void UStaticMesh::ExecutePostLoadInternal ( FStaticMeshPostLoadContext Context)

Thread-safe part of the Post Load

◆ ExportStaticMeshLOD()

void UStaticMesh::ExportStaticMeshLOD ( const FStaticMeshLODResources InLODResources,
FMeshDescription OutMeshDescription 
) const

Exports static mesh LOD render data to a MeshDescription

◆ FindSocket()

UStaticMeshSocket * UStaticMesh::FindSocket ( FName  InSocketName) const

Find a socket object in this StaticMesh by name. Entering NAME_None will return NULL. If there are multiple sockets with the same name, will return the first one.

◆ FinishPostLoadInternal()

void UStaticMesh::FinishPostLoadInternal ( FStaticMeshPostLoadContext Context)

Complete the static mesh postload process - Can't be done in parallel.

◆ GetAssetRegistryTags() [1/2]

void UStaticMesh::GetAssetRegistryTags ( FAssetRegistryTagsContext  Context) const
overridevirtual

Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

Parameters
OutTagsA list of key-value pairs associated with this object and their types

Reimplemented from UObject.

◆ GetAssetRegistryTags() [2/2]

void UStaticMesh::GetAssetRegistryTags ( TArray< FAssetRegistryTag > &  OutTags) const
overridevirtual

Reimplemented from UObject.

◆ GetAssetUserDataArray()

const TArray< UAssetUserData * > * UStaticMesh::GetAssetUserDataArray ( ) const
overridevirtual

Reimplemented from IInterface_AssetUserData.

◆ GetAssetUserDataOfClass()

UAssetUserData * UStaticMesh::GetAssetUserDataOfClass ( TSubclassOf< UAssetUserData InUserDataClass)
overridevirtual

Returns an instance of the provided AssetUserData class if it's contained in the target asset.

Parameters
InUserDataClassUAssetUserData sub class to get
Returns
The instance of the UAssetUserData class contained, or null if it doesn't exist

Reimplemented from IInterface_AssetUserData.

◆ GetBodySetup()

UBodySetup * UStaticMesh::GetBodySetup ( ) const
inline

◆ GetBodySetupName()

static FName UStaticMesh::GetBodySetupName ( )
inlinestatic

◆ GetBoundingBox()

FBox UStaticMesh::GetBoundingBox ( ) const

Returns the bounding box, in local space including bounds extension(s), of the StaticMesh asset

◆ GetBounds()

FBoxSphereBounds UStaticMesh::GetBounds ( ) const

Returns the number of bounds of the mesh.

Returns
The bounding box represented as box origin with extents and also a sphere that encapsulates that box

◆ GetCopyOfStaticMaterialsInfo()

const TArray< FStaticMaterialMinimalInfo > UStaticMesh::GetCopyOfStaticMaterialsInfo ( ) const
inline

◆ GetDefaultMinLOD()

ENGINE_API int32 UStaticMesh::GetDefaultMinLOD ( ) const

◆ GetDesc()

FString UStaticMesh::GetDesc ( void  )
overridevirtual

Returns a one line description of an object for viewing in the thumbnail view of the generic browser

Reimplemented from UObject.

◆ GetExtendedBounds()

const FBoxSphereBounds & UStaticMesh::GetExtendedBounds ( ) const
inline

◆ GetLightingGuid()

const FGuid & UStaticMesh::GetLightingGuid ( ) const
inline

◆ GetLightMapCoordinateIndex()

int32 UStaticMesh::GetLightMapCoordinateIndex ( ) const
inline

◆ GetLightMapCoordinateIndexName()

static FName UStaticMesh::GetLightMapCoordinateIndexName ( )
inlinestatic

◆ GetLightMapResolution()

int32 UStaticMesh::GetLightMapResolution ( ) const
inline

◆ GetLightMapResolutionName()

static FName UStaticMesh::GetLightMapResolutionName ( )
inlinestatic

◆ GetLightmapUVDensity()

float UStaticMesh::GetLightmapUVDensity ( ) const
inline

◆ GetLODForExport()

const FStaticMeshLODResources & UStaticMesh::GetLODForExport ( int32  LODIndex) const

Returns the render data to use for exporting the specified LOD. This method should always be called when exporting a static mesh.

◆ GetLODPathName()

FName UStaticMesh::GetLODPathName ( const UStaticMesh Mesh,
int32  LODIndex 
)
static

Helper function for resource tracking, construct a name using the mesh's path name and LOD index .

◆ GetMaterial()

UMaterialInterface * UStaticMesh::GetMaterial ( int32  MaterialIndex) const

Gets a Material given a Material Index and an LOD number

Returns
Requested material

◆ GetMaterialBox()

FBox UStaticMesh::GetMaterialBox ( int32  MaterialIndex,
const FTransform Transform 
) const

Returns the material bounding box. Computed from all lod-section using the material index.

Parameters
MaterialIndexMaterial Index to look at
TransformMatrixMatrix to be applied to the position before computing the bounds
Returns
false if some parameters are invalid

◆ GetMaterialIndex()

int32 UStaticMesh::GetMaterialIndex ( FName  MaterialSlotName) const

Gets a Material index given a slot name

Returns
Requested material

◆ GetMaterialIndexFromImportedMaterialSlotName()

int32 UStaticMesh::GetMaterialIndexFromImportedMaterialSlotName ( FName  ImportedMaterialSlotName) const

◆ GetMeshId()

void UStaticMesh::GetMeshId ( FString &  OutMeshId)
overridevirtual

An optional string identifying the mesh data.

Reimplemented from IInterface_CollisionDataProvider.

◆ GetMinimumLODForPlatform()

int32 UStaticMesh::GetMinimumLODForPlatform ( const FName PlatformName) const
inline

◆ GetMinimumLODForPlatforms()

void UStaticMesh::GetMinimumLODForPlatforms ( TMap< FName, int32 > &  PlatformMinimumLODs) const
inline

◆ GetMinimumLODForQualityLevel()

int32 UStaticMesh::GetMinimumLODForQualityLevel ( const FName QualityLevel) const
inline

◆ GetMinimumLODForQualityLevels()

void UStaticMesh::GetMinimumLODForQualityLevels ( TMap< FName, int32 > &  QualityLevelMinimumLODs) const
inline

◆ GetMinLOD()

const FPerPlatformInt & UStaticMesh::GetMinLOD ( ) const
inline

◆ GetMipIoFilenameHash()

FIoFilenameHash UStaticMesh::GetMipIoFilenameHash ( const int32  MipIndex) const
finaloverridevirtual

Reimplemented from UStreamableRenderAsset.

◆ GetNavCollision()

UNavCollisionBase * UStaticMesh::GetNavCollision ( ) const

◆ GetNavigationBounds()

FBox UStaticMesh::GetNavigationBounds ( const FTransform LocalToWorld) const

◆ GetNegativeBoundsExtension()

const FVector & UStaticMesh::GetNegativeBoundsExtension ( ) const
inline

◆ GetNegativeBoundsExtensionName()

static FName UStaticMesh::GetNegativeBoundsExtensionName ( )
inlinestatic

◆ GetNumLODs()

int32 UStaticMesh::GetNumLODs ( ) const

Returns the number of LODs used by the mesh.

◆ GetNumNaniteTriangles()

int32 UStaticMesh::GetNumNaniteTriangles ( ) const

Returns the number of triangles of the Nanite representation of this mesh.

◆ GetNumNaniteVertices()

int32 UStaticMesh::GetNumNaniteVertices ( ) const

Returns the number of vertices of the Nanite representation of this mesh.

◆ GetNumSections()

int32 UStaticMesh::GetNumSections ( int32  InLOD) const

Returns number of Sections that this StaticMesh has, in the supplied LOD (LOD 0 is the highest)

◆ GetNumSectionsWithCollision()

int32 UStaticMesh::GetNumSectionsWithCollision ( ) const

Return the number of sections of the StaticMesh with collision enabled

◆ GetNumTexCoords()

int32 UStaticMesh::GetNumTexCoords ( int32  LODIndex) const

Returns the number of tex coords for the specified LOD.

◆ GetNumTriangles()

int32 UStaticMesh::GetNumTriangles ( int32  LODIndex) const

Returns the number of triangles in the render data for the specified LOD.

◆ GetNumUVChannels()

ENGINE_API int32 UStaticMesh::GetNumUVChannels ( int32  LODIndex) const

Returns the number of UV channels for the given LOD of a StaticMesh.

Parameters
LODIndexIndex of the StaticMesh LOD.
Returns
the number of UV channels.

◆ GetNumVertices()

int32 UStaticMesh::GetNumVertices ( int32  LODIndex) const

Returns the number of vertices for the specified LOD.

◆ GetPhysicsTriMeshData()

bool UStaticMesh::GetPhysicsTriMeshData ( struct FTriMeshCollisionData CollisionData,
bool  InUseAllTriData 
)
overridevirtual

Interface for retrieving triangle mesh collision data from the implementing object

Parameters
CollisionData- structure given by the caller to be filled with tri mesh collision data
Returns
true if successful, false if unable to successfully fill in data structure

Reimplemented from IInterface_CollisionDataProvider.

◆ GetPositiveBoundsExtension()

const FVector & UStaticMesh::GetPositiveBoundsExtension ( ) const
inline

◆ GetPositiveBoundsExtensionName()

static FName UStaticMesh::GetPositiveBoundsExtensionName ( )
inlinestatic

◆ GetQualityLevelMinLOD()

const FPerQualityLevelInt & UStaticMesh::GetQualityLevelMinLOD ( ) const
inline

◆ GetQualityLevelMinLODMemberName()

static FName UStaticMesh::GetQualityLevelMinLODMemberName ( )
inlinestatic

◆ GetRenderAssetType()

EStreamableRenderAssetType UStaticMesh::GetRenderAssetType ( ) const
finaloverridevirtual

Reimplemented from UStreamableRenderAsset.

◆ GetRenderData() [1/2]

FStaticMeshRenderData * UStaticMesh::GetRenderData ( )

◆ GetRenderData() [2/2]

const FStaticMeshRenderData * UStaticMesh::GetRenderData ( ) const

◆ GetResourceSizeEx()

void UStaticMesh::GetResourceSizeEx ( FResourceSizeEx CumulativeResourceSize)
overridevirtual

Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific).

Parameters
CumulativeResourceSizeStruct used to count up the cumulative size of the resource as to be displayed to artists/LDs in the Editor.

Reimplemented from UObject.

◆ GetSocketsByTag()

TArray< UStaticMeshSocket * > UStaticMesh::GetSocketsByTag ( const FString &  InSocketTag) const

Returns a list of sockets with the provided tag.

◆ GetStaticMaterials() [1/2]

TArray< FStaticMaterial > & UStaticMesh::GetStaticMaterials ( )
inline

◆ GetStaticMaterials() [2/2]

const TArray< FStaticMaterial > & UStaticMesh::GetStaticMaterials ( ) const
inline

◆ GetStaticMaterialsName()

static FName UStaticMesh::GetStaticMaterialsName ( )
inlinestatic

◆ GetStaticMeshDescription()

UStaticMeshDescription * UStaticMesh::GetStaticMeshDescription ( int32  LODIndex)

Return a new StaticMeshDescription referencing the MeshDescription of the given LOD

◆ GetSupportRayTracingMemberName()

static FName UStaticMesh::GetSupportRayTracingMemberName ( )
inlinestatic

◆ GetTriMeshSizeEstimates()

bool UStaticMesh::GetTriMeshSizeEstimates ( struct FTriMeshCollisionDataEstimates OutTriMeshEstimates,
bool  bInUseAllTriData 
) const
overridevirtual

Returns an estimate of how much data would be retrieved by GetPhysicsTriMeshData.

Parameters
OutTriMeshEstimates- structure given by the caller to be filled with tri mesh estimate data
Returns
true if successful, false if unable to successfully fill in data structure

Reimplemented from IInterface_CollisionDataProvider.

◆ GetUsedMaterials()

void UStaticMesh::GetUsedMaterials ( TArray< UMaterialInterface * > &  OutMaterials,
TFunctionRef< UMaterialInterface *(int32)>  OverrideMaterial 
) const

◆ GetUVChannelData()

const FMeshUVChannelInfo * UStaticMesh::GetUVChannelData ( int32  MaterialIndex) const

Returns the UV channel data for a given material index. Used by the texture streamer. This data applies to all lod-section using the same material.

Parameters
MaterialIndexthe material index for which to get the data for.
Returns
the data, or null if none exists.

◆ GetVertexColorData()

void UStaticMesh::GetVertexColorData ( TMap< FVector3f, FColor > &  VertexColorData)

Returns vertex color data by position. For matching to reimported meshes that may have changed or copying vertex paint data from mesh to mesh.

Parameters
VertexColorData(out)A map of vertex position data and its color. The method fills this map.

◆ HasAnyDependenciesCompiling()

bool UStaticMesh::HasAnyDependenciesCompiling ( ) const
inline

◆ HasNaniteFallbackMesh()

bool UStaticMesh::HasNaniteFallbackMesh ( EShaderPlatform  ShaderPlatform) const

Returns true if the mesh has Nanite fallback on a specific shader platform.

◆ HasPendingRenderResourceInitialization()

bool UStaticMesh::HasPendingRenderResourceInitialization ( ) const
finaloverridevirtual

Reimplemented from UStreamableRenderAsset.

◆ HasValidNaniteData()

bool UStaticMesh::HasValidNaniteData ( ) const

Returns true if the mesh has valid Nanite render data.

◆ HasValidRenderData()

bool UStaticMesh::HasValidRenderData ( bool  bCheckLODForVerts = true,
int32  LODIndex = INDEX_NONE 
) const

Returns true if the mesh has data that can be rendered.

◆ ImportStaticMaterialsInfo()

const TArray< FStaticMaterialMinimalInfo > UStaticMesh::ImportStaticMaterialsInfo ( const FString &  InData)
static

◆ InitResources()

void UStaticMesh::InitResources ( )
virtual

Initialize the static mesh's render resources.

Initializes the static mesh's render resources.

◆ IsBuiltAtRuntime()

bool UStaticMesh::IsBuiltAtRuntime ( ) const
inline

◆ IsCompiling()

bool UStaticMesh::IsCompiling ( ) const
inlinevirtual

Returns whether or not the asset is currently being compiled

Reimplemented from IInterface_AsyncCompilation.

◆ IsMinLodQualityLevelEnable()

bool UStaticMesh::IsMinLodQualityLevelEnable ( ) const

Check the QualitLevel property is enabled for MinLod.

◆ IsNaniteLandscape()

bool UStaticMesh::IsNaniteLandscape ( ) const
inline

◆ IsNavigationRelevant()

PRAGMA_ENABLE_DEPRECATION_WARNINGS bool UStaticMesh::IsNavigationRelevant ( ) const

◆ IsPostLoadThreadSafe()

bool UStaticMesh::IsPostLoadThreadSafe ( ) const
overridevirtual

Called during async load to determine if PostLoad can be called on the loading thread.

Returns
true if this object's PostLoad is thread safe

Reimplemented from UObject.

◆ IsReadyForFinishDestroy()

bool UStaticMesh::IsReadyForFinishDestroy ( )
overridevirtual

Called to check if the object is ready for FinishDestroy. This is called after BeginDestroy to check the completion of the potentially asynchronous object cleanup.

Returns
True if the object's asynchronous cleanup has completed and it is ready for FinishDestroy to be called.

Reimplemented from UStreamableRenderAsset.

◆ MarkAsNotHavingNavigationData()

void UStaticMesh::MarkAsNotHavingNavigationData ( )

Configures this SM as bHasNavigationData = false and clears stored NavCollision

◆ OnLodStrippingQualityLevelChanged()

void UStaticMesh::OnLodStrippingQualityLevelChanged ( IConsoleVariable Variable)
static

◆ PollAsyncPhysicsTriMeshData()

bool UStaticMesh::PollAsyncPhysicsTriMeshData ( bool  InUseAllTriData) const
overridevirtual

Poll for availability of asynchronously-populated triangle mesh collision data

Returns
true if the triangle mesh collision can be accessed without blocking, false otherwise

Reimplemented from IInterface_CollisionDataProvider.

◆ PostInitProperties()

void UStaticMesh::PostInitProperties ( )
overridevirtual

Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

Reimplemented from UObject.

◆ PostLoad()

void UStaticMesh::PostLoad ( )
overridevirtual

Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

Reimplemented from UObject.

◆ RecreateNavCollision()

void UStaticMesh::RecreateNavCollision ( )

Delete current NavCollision and create a new one if needed

◆ RegisterMeshAttributes()

void UStaticMesh::RegisterMeshAttributes ( FMeshDescription MeshDescription)
static

Registers the mesh attributes required by the mesh description for a static mesh.

◆ ReleaseResources()

void UStaticMesh::ReleaseResources ( )
virtual

Releases the static mesh's render resources.

◆ RemoveSocket()

void UStaticMesh::RemoveSocket ( UStaticMeshSocket Socket)

Remove a socket object in this StaticMesh by providing it's pointer. Use FindSocket() if needed.

◆ RemoveUserDataOfClass()

void UStaticMesh::RemoveUserDataOfClass ( TSubclassOf< UAssetUserData InUserDataClass)
overridevirtual

Reimplemented from IInterface_AssetUserData.

◆ RemoveVertexColors()

ENGINE_API void UStaticMesh::RemoveVertexColors ( )

Removes all vertex colors from this mesh and rebuilds it (Editor only

◆ RequestUpdateCachedRenderState()

void UStaticMesh::RequestUpdateCachedRenderState ( ) const

◆ Serialize()

void UStaticMesh::Serialize ( FArchive Ar)
overridevirtual

UStaticMesh::Serialize

Reimplemented from UObject.

◆ SetBodySetup()

void UStaticMesh::SetBodySetup ( UBodySetup InBodySetup)
inline

◆ SetExtendedBounds()

void UStaticMesh::SetExtendedBounds ( const FBoxSphereBounds InExtendedBounds)
inline

◆ SetIsBuiltAtRuntime()

void UStaticMesh::SetIsBuiltAtRuntime ( bool  InIsBuiltAtRuntime)
inline

◆ SetLightingGuid()

void UStaticMesh::SetLightingGuid ( const FGuid InLightingGuid = FGuid::NewGuid())
inline

◆ SetLightMapCoordinateIndex()

void UStaticMesh::SetLightMapCoordinateIndex ( int32  InLightMapCoordinateIndex)
inline

◆ SetLightMapResolution()

void UStaticMesh::SetLightMapResolution ( int32  InLightMapResolution)
inline

◆ SetLightmapUVDensity()

void UStaticMesh::SetLightmapUVDensity ( float  InLightmapUVDensity)
inline

◆ SetMinimumLODForPlatform()

void UStaticMesh::SetMinimumLODForPlatform ( const FName PlatformName,
int32  InMinLOD 
)
inline

◆ SetMinimumLODForPlatforms()

void UStaticMesh::SetMinimumLODForPlatforms ( const TMap< FName, int32 > &  PlatformMinimumLODs)
inline

◆ SetMinLOD()

void UStaticMesh::SetMinLOD ( FPerPlatformInt  InMinLOD)
inline

◆ SetMinLODIdx()

ENGINE_API void UStaticMesh::SetMinLODIdx ( int32  InMinLOD)

◆ SetNavCollision()

void UStaticMesh::SetNavCollision ( UNavCollisionBase InNavCollision)

◆ SetNegativeBoundsExtension()

void UStaticMesh::SetNegativeBoundsExtension ( FVector  InNegativeBoundsExtension)
inline

◆ SetPositiveBoundsExtension()

void UStaticMesh::SetPositiveBoundsExtension ( FVector  InPositiveBoundsExtension)
inline

◆ SetQualityLevelMinLOD()

void UStaticMesh::SetQualityLevelMinLOD ( FPerQualityLevelInt  InMinLOD)
inline

◆ SetRenderData()

void UStaticMesh::SetRenderData ( TUniquePtr< class FStaticMeshRenderData > &&  InRenderData)

◆ SetStaticMaterials()

void UStaticMesh::SetStaticMaterials ( const TArray< FStaticMaterial > &  InStaticMaterials)
inline

◆ SetVertexColorData()

void UStaticMesh::SetVertexColorData ( const TMap< FVector3f, FColor > &  VertexColorData)

Sets vertex color data by position. Map of vertex color data by position is matched to the vertex position in the mesh and nearest matching vertex color is used.

Parameters
VertexColorDataA map of vertex position data and color.

◆ StreamIn()

bool UStaticMesh::StreamIn ( int32  NewMipCount,
bool  bHighPrio 
)
finaloverridevirtual

Loads mips from disk to memory. Only usable if the asset is streamable.

Parameters
NewMipCount- The desired mip count after the mips are loaded.
bHighPrio- true if the load request is of high priority and must be issued before other asset requests.
Returns
Whether any mips were resquested to be loaded.

Reimplemented from UStreamableRenderAsset.

◆ StreamOut()

bool UStaticMesh::StreamOut ( int32  NewMipCount)
finaloverridevirtual

Unload some mips from memory. Only usable if the asset is streamable.

Parameters
NewMipCount- The desired mip count after the mips are unloaded.
Returns
Whether any mips were requested to be unloaded.

Reimplemented from UStreamableRenderAsset.

◆ UE_DEPRECATED() [1/3]

UStaticMesh::UE_DEPRECATED ( 4.  27,
"Please do not access this member directly; use UStaticMesh::GetLightMapCoordinateIndex() or UStaticMesh::SetLightMapCoordinateIndex()."   
)

The light map coordinate index

◆ UE_DEPRECATED() [2/3]

UStaticMesh::UE_DEPRECATED ( 4.  27,
"Please do not access this member directly; use UStaticMesh::GetLightMapResolution() or UStaticMesh::SetLightMapResolution()."   
)

◆ UE_DEPRECATED() [3/3]

UStaticMesh::UE_DEPRECATED ( 4.  27,
"Please do not access this member directly; use UStaticMesh::GetMinLOD() or UStaticMesh::SetMinLOD()."   
)

Minimum LOD to use for rendering. This is the default setting for the mesh and can be overridden by component settings.

◆ UFUNCTION()

UStaticMesh::UFUNCTION ( BlueprintCallable  ,
Category  = StaticMesh,
Meta  = (ToolTip = "Allow to override min lod quality levels on a staticMesh and it Default value (-1 value for Default dont override its value).") 
) const

◆ UpdateUVChannelData()

void UStaticMesh::UpdateUVChannelData ( bool  bRebuildAll)

Update missing material UV channel data used for texture streaming.

Parameters
bRebuildAllIf true, rebuild everything and not only missing data.

◆ WantsNegXTriMesh()

virtual bool UStaticMesh::WantsNegXTriMesh ( )
inlineoverridevirtual

Do we want to create a negative version of this mesh

Reimplemented from IInterface_CollisionDataProvider.

Friends And Related Symbol Documentation

◆ FStaticMeshAsyncBuildWorker

friend class FStaticMeshAsyncBuildWorker
friend

◆ FStaticMeshCompilingManager

friend class FStaticMeshCompilingManager
friend

◆ FStaticMeshUpdate

friend class FStaticMeshUpdate
friend

◆ FStaticMeshUpdateContext

Member Data Documentation

◆ AssetUserData

TArray<TObjectPtr<UAssetUserData> > UStaticMesh::AssetUserData
protected

Array of user data stored with the asset

◆ bAllowCPUAccess

uint8 UStaticMesh::bAllowCPUAccess

If true, will keep geometry data CPU-accessible in cooked builds, rather than uploading to GPU memory and releasing it from CPU memory. This is required if you wish to access StaticMesh geometry data on the CPU at runtime in cooked builds (e.g. to convert StaticMesh to ProceduralMeshComponent)

◆ bDoFastBuild

uint8 UStaticMesh::bDoFastBuild

◆ bGenerateMeshDistanceField

uint8 UStaticMesh::bGenerateMeshDistanceField

Whether to generate a distance field for this mesh, which can be used by DistanceField Indirect Shadows. This is ignored if the project's 'Generate Mesh Distance Fields' setting is enabled.

◆ bHasNavigationData

uint8 UStaticMesh::bHasNavigationData

If true, mesh will have NavCollision property with additional data for navmesh generation and usage. Set to false for distant meshes (always outside navigation bounds) to save memory on collision data.

◆ bRenderingResourcesInitialized

uint8 UStaticMesh::bRenderingResourcesInitialized
protected

Tracks whether InitResources has been called, and rendering resources are initialized.

◆ bStripComplexCollisionForConsole_DEPRECATED

uint8 UStaticMesh::bStripComplexCollisionForConsole_DEPRECATED

If true, strips unwanted complex collision data aka kDOP tree when cooking for consoles. On the Playstation 3 data of this mesh will be stored in video memory.

◆ bSupportGpuUniformlyDistributedSampling

uint8 UStaticMesh::bSupportGpuUniformlyDistributedSampling

If true, a GPU buffer containing required data for uniform mesh surface sampling will be created at load time. It is created from the cpu data so bSupportUniformlyDistributedSampling is also required to be true.

◆ bSupportPhysicalMaterialMasks

uint8 UStaticMesh::bSupportPhysicalMaterialMasks

If true, complex collision data will store UVs and face remap table for use when performing PhysicalMaterialMask lookups in cooked builds. Note the increased memory cost for this functionality.

◆ bSupportRayTracing

uint8 UStaticMesh::bSupportRayTracing

If true, a ray tracing acceleration structure will be built for this mesh and it may be used in ray tracing effects

◆ bSupportUniformlyDistributedSampling

uint8 UStaticMesh::bSupportUniformlyDistributedSampling

Mesh supports uniformly distributed sampling in constant time. Memory cost is 8 bytes per triangle. Example usage is uniform spawning of particles.

◆ Default

int32 int32 UStaticMesh::Default
Initial value:
= -1)
{
}
{
}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition UnrealString.h.inl:34
int32 int32 Default
Definition StaticMesh.h:923
int32 & QualityLevelMinimumLODs
Definition StaticMesh.h:923

◆ DistanceFieldSelfShadowBias

float UStaticMesh::DistanceFieldSelfShadowBias

Useful for reducing self shadowing from distance field methods when using world position offset to animate the mesh's vertices.

◆ ElementToIgnoreForTexFactor

int32 UStaticMesh::ElementToIgnoreForTexFactor
protected

Index of an element to ignore while gathering streaming texture factors. This is useful to disregard automatically generated vertex data which breaks texture factor heuristics.

◆ ExtendedBounds

FBoxSphereBounds UStaticMesh::ExtendedBounds

Original mesh bounds extended with Positive/NegativeBoundsExtension

◆ LODForCollision

int32 UStaticMesh::LODForCollision

Specifies which mesh LOD to use for complex (per-poly) collision. Sometimes it can be desirable to use a lower poly representation for collision to reduce memory usage, improve performance and behaviour. Collision representation does not change based on distance to camera.

◆ MeshPaintTextureCoordinateIndex

int32 UStaticMesh::MeshPaintTextureCoordinateIndex

The default coordinate index to use when texture color painting on this mesh.

◆ MeshPaintTextureResolution

int32 UStaticMesh::MeshPaintTextureResolution

The resolution of texture color mesh paint textures on this mesh. The final size will be rounded up to a power of 2 and a multiple of the "Mesh Paint Tile Size" project setting. A default value of 0 will auto calculate the size using the "Mesh paint texels per vertex" project setting.

◆ MinQualityLevelLOD

FPerQualityLevelInt UStaticMesh::MinQualityLevelLOD

◆ NegativeBoundsExtension

FVector UStaticMesh::NegativeBoundsExtension

Bound extension values in the negative direction of XYZ, positive value increases bound size

◆ PositiveBoundsExtension

FVector UStaticMesh::PositiveBoundsExtension

Bound extension values in the positive direction of XYZ, positive value increases bound size

◆ QualityLevelMinimumLODs

int32& UStaticMesh::QualityLevelMinimumLODs

◆ ReleaseResourcesFence

FRenderCommandFence UStaticMesh::ReleaseResourcesFence

A fence which is used to keep track of the rendering thread releasing the static mesh resources.

◆ Sockets

TArray<TObjectPtr<class UStaticMeshSocket> > UStaticMesh::Sockets

Array of named socket locations, set up in editor and used as a shortcut instead of specifying everything explicitly to AttachComponent in the StaticMeshComponent.

◆ SpeedTreeWind

TSharedPtr<class FSpeedTreeWind> UStaticMesh::SpeedTreeWind

Data that is only available if this static mesh is an imported SpeedTree

◆ StaticMeshPaintSupport

EStaticMeshPaintSupport UStaticMesh::StaticMeshPaintSupport

Whether to support per instance texture color mesh painting on components using this mesh.


The documentation for this class was generated from the following files: