> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.unmanagedptr.md).

# Class UnmanagedPtr

Namespace: [KS.Reactor.Server.PhysX](/reactor/api-reference/ks.reactor.server.physx.md)\
Assembly: KSReactor.dll

```csharp
public class UnmanagedPtr
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [UnmanagedPtr](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.unmanagedptr.md)

#### Derived

[pxActor](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxactor.md), [pxCapsuleController](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxcapsulecontroller.md), [pxControllerManager](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxcontrollermanager.md), [pxConvexMeshData](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxconvexmeshdata.md), [pxGeometry](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxgeometry.md), [pxHeightFieldData](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxheightfielddata.md), [pxJoint](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxjoint.md), [pxMaterial](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxmaterial.md), [pxOverlapBuffer](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxoverlapbuffer.md), [pxQueryFilterCallback](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxqueryfiltercallback.md), [pxRaycastBuffer](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxraycastbuffer.md), [pxScene](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxscene.md), [pxShape](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxshape.md), [pxSweepBuffer](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxsweepbuffer.md), [pxTriangleMeshData](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.pxtrianglemeshdata.md)

#### Inherited Members

[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Constructors

### UnmanagedPtr() <a href="#ks_reactor_server_physx_unmanagedptr__ctor" id="ks_reactor_server_physx_unmanagedptr__ctor"></a>

```csharp
public UnmanagedPtr()
```

## Properties

### UserData <a href="#ks_reactor_server_physx_unmanagedptr_userdata" id="ks_reactor_server_physx_unmanagedptr_userdata"></a>

```csharp
public object UserData { get; set; }
```

#### Property Value

[object](https://learn.microsoft.com/dotnet/api/system.object)

## Methods

### \~UnmanagedPtr() <a href="#ks_reactor_server_physx_unmanagedptr_finalize" id="ks_reactor_server_physx_unmanagedptr_finalize"></a>

When GC is invoked put the pointers and release callbacks into a list.\
This list is processed at the end of the update cycle by the server room.

```csharp
protected ~UnmanagedPtr()
```

### Find\<T>(IntPtr) <a href="#ks_reactor_server_physx_unmanagedptr_find__1_system_intptr" id="ks_reactor_server_physx_unmanagedptr_find__1_system_intptr"></a>

```csharp
public static T Find<T>(IntPtr ptr) where T : class
```

#### Parameters

`ptr` [IntPtr](https://learn.microsoft.com/dotnet/api/system.intptr)

#### Returns

T

#### Type Parameters

`T`

### Release() <a href="#ks_reactor_server_physx_unmanagedptr_release" id="ks_reactor_server_physx_unmanagedptr_release"></a>

```csharp
public void Release()
```

### SetUnmanagedPtr(IntPtr, ReleaseCallback) <a href="#ks_reactor_server_physx_unmanagedptr_setunmanagedptr_system_intptr_ks_reactor_server_physx_unmanaged" id="ks_reactor_server_physx_unmanagedptr_setunmanagedptr_system_intptr_ks_reactor_server_physx_unmanaged"></a>

```csharp
protected void SetUnmanagedPtr(IntPtr ptr, UnmanagedPtr.ReleaseCallback callback)
```

#### Parameters

`ptr` [IntPtr](https://learn.microsoft.com/dotnet/api/system.intptr)

`callback` [UnmanagedPtr](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.unmanagedptr.md).[ReleaseCallback](/reactor/api-reference/ks.reactor.server.physx/ks.reactor.server.physx.unmanagedptr/ks.reactor.server.physx.unmanagedptr.releasecallback.md)
