# Sandbox.TransformProxyComponent

Help to implement a component that completely overrides the transform. This is useful for scenarios
where you will want to keep the local transform of a GameObject, but want to offset based on that 
for some reason.
Having multiple of these on one GameObject is not supported, and will result in weirdness.

- Kind: class
- Namespace: `Sandbox`
- Assembly: `Sandbox.Engine`
- Inherits: [Sandbox.Component](/api/Sandbox.Component)
- Modifiers: abstract

## Methods

- [`GetLocalTransform`](/api/Sandbox.TransformProxyComponent/GetLocalTransform): Override to provide the local transform
- [`GetWorldTransform`](/api/Sandbox.TransformProxyComponent/GetWorldTransform): Override to provide the world transform. The default implementation will calculate it using GetLocalTransform() based on the parent.
- [`MarkTransformChanged`](/api/Sandbox.TransformProxyComponent/MarkTransformChanged): Tell our other components, and our children that our transform has changed. This will update things like Renderers to update their render positions.
- [`SetLocalTransform`](/api/Sandbox.TransformProxyComponent/SetLocalTransform)
- [`SetWorldTransform`](/api/Sandbox.TransformProxyComponent/SetWorldTransform): Called when the world transform is being set
