![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include "GeometryCollection/GeometryCollectionComponent.h"#include "AI/Navigation/NavCollisionBase.h"#include "AI/NavigationSystemHelpers.h"#include "Async/ParallelFor.h"#include "Chaos/ChaosPhysicalMaterial.h"#include "Chaos/ChaosScene.h"#include "Chaos/PhysicsObjectCollisionInterface.h"#include "ChaosSolversModule.h"#include "ChaosStats.h"#include "ComponentRecreateRenderStateContext.h"#include "Components/BoxComponent.h"#include "Engine/CollisionProfile.h"#include "Engine/Engine.h"#include "Engine/InstancedStaticMesh.h"#include "Engine/StaticMeshSocket.h"#include "MaterialDomain.h"#include "Field/FieldSystemComponent.h"#include "GeometryCollection/Facades/CollectionHierarchyFacade.h"#include "GeometryCollection/GeometryCollection.h"#include "GeometryCollection/GeometryCollectionActor.h"#include "GeometryCollection/GeometryCollectionAlgo.h"#include "GeometryCollection/GeometryCollectionCache.h"#include "GeometryCollection/GeometryCollectionClusteringUtility.h"#include "GeometryCollection/GeometryCollectionComponentPluginPrivate.h"#include "GeometryCollection/GeometryCollectionDebugDrawComponent.h"#include "GeometryCollection/GeometryCollectionISMPoolRenderer.h"#include "GeometryCollection/GeometryCollectionObject.h"#include "GeometryCollection/GeometryCollectionProximityUtility.h"#include "GeometryCollection/GeometryCollectionSQAccelerator.h"#include "GeometryCollection/GeometryCollectionSceneProxy.h"#include "GeometryCollection/GeometryCollectionUtility.h"#include "ISMPool/ISMPoolActor.h"#include "ISMPool/ISMPoolComponent.h"#include "Math/Sphere.h"#include "Modules/ModuleManager.h"#include "Net/Core/PushModel/PushModel.h"#include "Net/UnrealNetwork.h"#include "PhysicalMaterials/PhysicalMaterial.h"#include "Physics/Experimental/PhysScene_Chaos.h"#include "Physics/Experimental/ChaosInterfaceUtils.h"#include "Physics/PhysicsFiltering.h"#include "PhysicsEngine/PhysicsObjectExternalInterface.h"#include "PhysicsField/PhysicsFieldComponent.h"#include "PhysicsProxy/GeometryCollectionPhysicsProxy.h"#include "PhysicsSolver.h"#include "UObject/FortniteValkyrieBranchObjectVersion.h"#include "Chaos/PBDRigidClusteringAlgo.h"#include "Algo/RemoveIf.h"#include "PhysicsEngine/BodySetup.h"#include "PhysicsEngine/BodyInstance.h"#include "Chaos/ChaosGameplayEventDispatcher.h"#include "Rendering/NaniteResources.h"#include "NaniteVertexFactory.h"#include "PrimitiveSceneInfo.h"#include "GeometryCollection/GeometryCollectionEngineRemoval.h"#include "GeometryCollection/Facades/CollectionAnchoringFacade.h"#include "GeometryCollection/Facades/CollectionRemoveOnBreakFacade.h"#include "GeometryCollection/Facades/CollectionInstancedMeshFacade.h"#include "GeometryCollection/GeometryCollectionExternalRenderInterface.h"#include "Dataflow/DataflowSettings.h"#include "Logging/MessageLog.h"#include "Misc/UObjectToken.h"#include "Iris/ReplicationState/PropertyNetSerializerInfoRegistry.h"Classes | |
| struct | _ForcedBroken |
| struct | FGeometryCollectionDecayContext |
Macros | |
| #define | CHAOS_BOX_CALC_BOUNDS_ISPC_ENABLED_DEFAULT 1 |
| (UE_BUILD_SHIPPING || UE_BUILD_TEST) | |
| #define | COPY_ON_WRITE_ATTRIBUTE(Type, Name, Group) |
| #define | GEOMETRY_COLLECTION_CHECK_FOR_NANS_IN_TRANSFORMS 0 |
Functions | |
| DEFINE_LOG_CATEGORY_STATIC (UGCC_LOG, Error, All) | |
| DEFINE_LOG_CATEGORY_STATIC (LogGeometryCollectionComponent, Warning, All) | |
| FString | NetModeToString (ENetMode InMode) |
| FString | RoleToString (ENetRole InRole) |
| int32 | GetClusterLevel (const FTransformCollection *Collection, int32 TransformGroupIndex) |
| UE_NET_IMPLEMENT_NAMED_STRUCT_LASTRESORT_NETSERIALIZER_AND_REGISTRY_DELEGATES (GeometryCollectionRepData) | |
| UE_NET_IMPLEMENT_NAMED_STRUCT_LASTRESORT_NETSERIALIZER_AND_REGISTRY_DELEGATES (GeometryCollectionRepStateData) | |
| UE_NET_IMPLEMENT_NAMED_STRUCT_LASTRESORT_NETSERIALIZER_AND_REGISTRY_DELEGATES (GeometryCollectionRepDynamicData) | |
| TUniquePtr< FFieldNodeBase > | MakeRadialField (const FVector &Origin, float Radius, float Strength, ERadialImpulseFalloff Falloff) |
| void | ActivateClusters (Chaos::FRigidClustering &Clustering, Chaos::TPBDRigidClusteredParticleHandle< Chaos::FReal, 3 > *Cluster) |
| #define CHAOS_BOX_CALC_BOUNDS_ISPC_ENABLED_DEFAULT 1 |
(UE_BUILD_SHIPPING || UE_BUILD_TEST)
| #define GEOMETRY_COLLECTION_CHECK_FOR_NANS_IN_TRANSFORMS 0 |
| void ActivateClusters | ( | Chaos::FRigidClustering & | Clustering, |
| Chaos::TPBDRigidClusteredParticleHandle< Chaos::FReal, 3 > * | Cluster | ||
| ) |
| DEFINE_LOG_CATEGORY_STATIC | ( | LogGeometryCollectionComponent | , |
| Warning | , | ||
| All | |||
| ) |
| int32 GetClusterLevel | ( | const FTransformCollection * | Collection, |
| int32 | TransformGroupIndex | ||
| ) |
| TUniquePtr< FFieldNodeBase > MakeRadialField | ( | const FVector & | Origin, |
| float | Radius, | ||
| float | Strength, | ||
| ERadialImpulseFalloff | Falloff | ||
| ) |
| FString NetModeToString | ( | ENetMode | InMode | ) |
| FString RoleToString | ( | ENetRole | InRole | ) |
| UE_NET_IMPLEMENT_NAMED_STRUCT_LASTRESORT_NETSERIALIZER_AND_REGISTRY_DELEGATES | ( | GeometryCollectionRepData | ) |
| UE_NET_IMPLEMENT_NAMED_STRUCT_LASTRESORT_NETSERIALIZER_AND_REGISTRY_DELEGATES | ( | GeometryCollectionRepDynamicData | ) |
| UE_NET_IMPLEMENT_NAMED_STRUCT_LASTRESORT_NETSERIALIZER_AND_REGISTRY_DELEGATES | ( | GeometryCollectionRepStateData | ) |
| int32 bChaos_GC_InitConstantDataParallelForBatchSize = 5000 |
| bool bGeometryCollectionDebugDrawRep = 0 |
| FAutoConsoleVariableRef CVarChaosGCInitConstantDataParallelForBatchSize(TEXT("p.Chaos.GC.InitConstantDataParallelForBatchSize"), bChaos_GC_InitConstantDataParallelForBatchSize, TEXT("When parallelFor is used in InitConstantData, defined the minimium size of a batch of vertex ")) | ( | TEXT("p.Chaos.GC.InitConstantDataParallelForBatchSize") | , |
| bChaos_GC_InitConstantDataParallelForBatchSize | , | ||
| TEXT("When parallelFor is used in InitConstantData, defined the minimium size of a batch of vertex ") | |||
| ) |
| FAutoConsoleVariableRef CVarChaosGCInitConstantDataUseParallelFor(TEXT("p.Chaos.GC.InitConstantDataUseParallelFor"), bChaos_GC_InitConstantDataUseParallelFor, TEXT("When enabled, InitConstant data will use parallelFor for copying some of the data")) | ( | TEXT("p.Chaos.GC.InitConstantDataUseParallelFor") | , |
| bChaos_GC_InitConstantDataUseParallelFor | , | ||
| TEXT("When enabled, InitConstant data will use parallelFor for copying some of the data") | |||
| ) |
| FAutoConsoleVariableRef CVarChaosGCUseCustomRenderer(TEXT("p.Chaos.GC.UseCustomRenderer"), bChaos_GC_UseCustomRenderer, TEXT("When enabled, use a custom renderer if specified")) | ( | TEXT("p.Chaos.GC.UseCustomRenderer") | , |
| bChaos_GC_UseCustomRenderer | , | ||
| TEXT("When enabled, use a custom renderer if specified") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionCreatePhysicsStateInEditor(TEXT("p.Chaos.GC.CreatePhysicsStateInEditor"), GeometryCollectionCreatePhysicsStateInEditor, TEXT("when on , physics state for a GC will be create in editor ( non PIE )")) | ( | TEXT("p.Chaos.GC.CreatePhysicsStateInEditor") | , |
| GeometryCollectionCreatePhysicsStateInEditor | , | ||
| TEXT("when on , physics state for a GC will be create in editor ( non PIE )") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionCustomRendererHiddenActorFix(TEXT("p.Chaos.GC.CustomRendererHiddenActorFix"), bGeometryCollectionCustomRendererHiddenActorFix, TEXT("When true custom renderer will account for the actor hidden flag")) | ( | TEXT("p.Chaos.GC.CustomRendererHiddenActorFix") | , |
| bGeometryCollectionCustomRendererHiddenActorFix | , | ||
| TEXT("When true custom renderer will account for the actor hidden flag") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionDebugDrawRep(TEXT("p.Chaos.DebugDraw.GeometryCollectionReplication"), bGeometryCollectionDebugDrawRep, TEXT("If true debug draw deltas and corrections for geometry collection replication")) | ( | TEXT("p.Chaos.DebugDraw.GeometryCollectionReplication") | , |
| bGeometryCollectionDebugDrawRep | , | ||
| TEXT("If true debug draw deltas and corrections for geometry collection replication") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionEmitRootBreakingEvent(TEXT("p.Chaos.GC.EmitRootBreakingEvent"), GeometryCollectionEmitRootBreakingEvent, TEXT("When true send a breaking event when root is breaking")) | ( | TEXT("p.Chaos.GC.EmitRootBreakingEvent") | , |
| GeometryCollectionEmitRootBreakingEvent | , | ||
| TEXT("When true send a breaking event when root is breaking") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionHardMissingUpdatesSnapThreshold(TEXT("p.GeometryCollectionHardMissingUpdatesSnapThreshold"), GeometryCollectionHardMissingUpdatesSnapThreshold, TEXT("Determines how many missing updates before we trigger a hard snap")) | ( | TEXT("p.GeometryCollectionHardMissingUpdatesSnapThreshold") | , |
| GeometryCollectionHardMissingUpdatesSnapThreshold | , | ||
| TEXT("Determines how many missing updates before we trigger a hard snap") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionHardsnapThresholdMs(TEXT("p.GeometryCollectionHardsnapThresholdMs"), GeometryCollectionHardMissingUpdatesSnapThreshold, TEXT("Determines how many ms since the last hardsnap to trigger a new one")) | ( | TEXT("p.GeometryCollectionHardsnapThresholdMs") | , |
| GeometryCollectionHardMissingUpdatesSnapThreshold | , | ||
| TEXT("Determines how many ms since the last hardsnap to trigger a new one") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionNanite(TEXT("r.GeometryCollection.Nanite"), GGeometryCollectionNanite, TEXT("Render geometry collections using Nanite."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context; }), ECVF_RenderThreadSafe) | ( | TEXT("r.GeometryCollection.Nanite") | , |
| GGeometryCollectionNanite | , | ||
| TEXT("Render geometry collections using Nanite.") | , | ||
| FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}) | , | ||
| ECVF_RenderThreadSafe | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionNavigationSizeThreshold(TEXT("p.GeometryCollectionNavigationSizeThreshold"), GGeometryCollectionNavigationSizeThreshold, TEXT("Size in CM used as a threshold for whether a geometry in the collection is collected and exported for navigation purposes. Measured as the diagonal of the leaf node bounds.")) | ( | TEXT("p.GeometryCollectionNavigationSizeThreshold") | , |
| GGeometryCollectionNavigationSizeThreshold | , | ||
| TEXT("Size in CM used as a threshold for whether a geometry in the collection is collected and exported for navigation purposes. Measured as the diagonal of the leaf node bounds.") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionNetAwakeningMode(TEXT("p.Chaos.GC.NetAwakeningMode"), GeometryCollectionNetAwakeningMode, TEXT("Changes how GC components ensure that their owner is awake for replication. 0 = ForceDormancyAwake, 1 = Use Flush Net Dormancy")) | ( | TEXT("p.Chaos.GC.NetAwakeningMode") | , |
| GeometryCollectionNetAwakeningMode | , | ||
| TEXT("Changes how GC components ensure that their owner is awake for replication. 0 = ForceDormancyAwake, 1 = Use Flush Net Dormancy") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionRemovalTimerMultiplier(TEXT("p.Chaos.GC.RemovalTimerMultiplier"), GeometryCollectionRemovalMultiplier, TEXT("Multiplier for the removal time evaluation ( > 1 : faster removal , > 1 slower")) | ( | TEXT("p.Chaos.GC.RemovalTimerMultiplier") | , |
| GeometryCollectionRemovalMultiplier | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionRemoveOnBreakDecayFix(TEXT("p.Chaos.GC.RemoveOnBreakDecayFix"), bGeometryCollectionRemoveOnBreakDecayFix, TEXT("When true, fix the issue causing a remove on break cluster crumbling with simulating children from disappearing for several frames")) | ( | TEXT("p.Chaos.GC.RemoveOnBreakDecayFix") | , |
| bGeometryCollectionRemoveOnBreakDecayFix | , | ||
| TEXT("When true, fix the issue causing a remove on break cluster crumbling with simulating children from disappearing for several frames") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionRepAngularMatchTime(TEXT("p.GeometryCollectionRepAngularMatchTime"), GeometryCollectionRepAngularMatchTime, TEXT("In seconds, how quickly should the angle match the replicated target angle")) | ( | TEXT("p.GeometryCollectionRepAngularMatchTime") | , |
| GeometryCollectionRepAngularMatchTime | , | ||
| TEXT("In seconds, how quickly should the angle match the replicated target angle") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionRepLinearMatchStrength(TEXT("p.GeometryCollectionRepLinearMatchStrength"), GeometryCollectionRepLinearMatchStrength, TEXT("Units can be interpreted as %/s^2 - acceleration of percent linear correction")) | ( | TEXT("p.GeometryCollectionRepLinearMatchStrength") | , |
| GeometryCollectionRepLinearMatchStrength | , | ||
| TEXT("Units can be interpreted as %/s^2 - acceleration of percent linear correction") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionRepMaxExtrapolationTime(TEXT("p.GeometryCollectionRepMaxExtrapolationTime"), GeometryCollectionRepMaxExtrapolationTime, TEXT("Number of seconds that replicated physics data will persist for a GC, extrapolating velocities")) | ( | TEXT("p.GeometryCollectionRepMaxExtrapolationTime") | , |
| GeometryCollectionRepMaxExtrapolationTime | , | ||
| TEXT("Number of seconds that replicated physics data will persist for a GC, extrapolating velocities") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionRepUseClusterVelocityMatch(TEXT("p.bGeometryCollectionRepUseClusterVelocityMatch"), bGeometryCollectionRepUseClusterVelocityMatch, TEXT("Use physical velocity to match cluster states")) | ( | TEXT("p.bGeometryCollectionRepUseClusterVelocityMatch") | , |
| bGeometryCollectionRepUseClusterVelocityMatch | , | ||
| TEXT("Use physical velocity to match cluster states") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionSingleThreadedBoundsCalculation(TEXT("p.GeometryCollectionSingleThreadedBoundsCalculation"), bGeometryCollectionSingleThreadedBoundsCalculation, TEXT("[Debug Only] Single threaded bounds calculation. [def:false]")) | ( | TEXT("p.GeometryCollectionSingleThreadedBoundsCalculation") | , |
| bGeometryCollectionSingleThreadedBoundsCalculation | , | ||
| TEXT("[Debug Only] Single threaded bounds calculation. [def:false]") | |||
| ) |
| FAutoConsoleVariableRef CVarGeometryCollectionUseReplicationV2(TEXT("p.Chaos.GC.UseReplicationV2"), GeometryCollectionUseReplicationV2, TEXT("When true use new replication data model")) | ( | TEXT("p.Chaos.GC.UseReplicationV2") | , |
| GeometryCollectionUseReplicationV2 | , | ||
| TEXT("When true use new replication data model") | |||
| ) |
| FAutoConsoleVariableRef CVarMaxGeometryCollectionAsyncPhysicsTickIdleTimeMs(TEXT("p.Chaos.GC.MaxGeometryCollectionAsyncPhysicsTickIdleTimeMs"), MaxGeometryCollectionAsyncPhysicsTickIdleTimeMs, TEXT("Amount of time in milliseconds before the async tick turns off when it is otherwise not doing anything.")) | ( | TEXT("p.Chaos.GC.MaxGeometryCollectionAsyncPhysicsTickIdleTimeMs") | , |
| MaxGeometryCollectionAsyncPhysicsTickIdleTimeMs | , | ||
| TEXT("Amount of time in milliseconds before the async tick turns off when it is otherwise not doing anything.") | |||
| ) |
| struct _ForcedBroken ForcedBroken |
|
extern |
| int32 GeometryCollectionHardMissingUpdatesSnapThreshold = 20 |
| int32 GeometryCollectionHardsnapThresholdMs = 100 |
| int32 GeometryCollectionNetAwakeningMode = 1 |
| float GeometryCollectionRemovalMultiplier = 1.0f |
| float GeometryCollectionRepAngularMatchTime = .5f |
| float GeometryCollectionRepLinearMatchStrength = 50 |
| float GeometryCollectionRepMaxExtrapolationTime = 3.f |
| int32 GGeometryCollectionNanite = 1 |
| float GGeometryCollectionNavigationSizeThreshold = 20.0f |
| int32 MaxGeometryCollectionAsyncPhysicsTickIdleTimeMs = 30 |