/Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/MeshSharingUtil.h
Note that aTSharedPtrdoes not strictly need to be used. However this allows the Owner thread to destruct the Object, and/or terminate, and the background thread can still safely access a shared ObjectType (now empty).
template<typename ObjectType> class TConstObjectSharedAccess
ObjectType
EmptyObject
Default-constructed value of ObjectType that will be returned if ObjectRawPtr and ObjectSharedPtr are both null/invalid
FCriticalSectio...
ObjectLock
Controls access to the shared object
const ObjectTyp...
ObjectRawPtr
Only one of ObjectRawPtr or ObjectSharedPtr should be initialized. ObjectRawPtr will be checked first.
TSharedPtr< Obj...
ObjectSharedPtr