ACharacter::CacheInitialMeshOffset
#include "GameFramework/Character.h"
Access: public
Specifiers: virtualUFUNCTIONBlueprintCallable
Description
Caches the mesh's offset from the capsule so network smoothing can use it as the interpolation target. Called automatically during initialization; call it again at runtime if you intentionally change the mesh offset after construction.
Caveats & Gotchas
- • Must be called after manually repositioning the mesh at runtime, otherwise network smoothing will interpolate back to the old cached offset and the mesh will appear to snap.
- • The cached values are stored in BaseTranslationOffset and BaseRotationOffset — reading those properties before calling this will return stale data if the mesh was moved post-construction.
- • Calling this every tick is unnecessary and wastes CPU; it only needs to be called once per intentional offset change.
Signature
ENGINE_API virtual void CacheInitialMeshOffset(FVector MeshRelativeLocation, FRotator MeshRelativeRotation) Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| MeshRelativeLocation | FVector | Desired relative location of the mesh from the capsule center. | — |
| MeshRelativeRotation | FRotator | Desired relative rotation of the mesh from the capsule rotation. | — |
Return Type
void Example
Re-cache after repositioning the mesh at runtime C++
// Shift the mesh down for a crouched mesh variant
GetMesh()->SetRelativeLocation(FVector(0.f, 0.f, -70.f));
GetMesh()->SetRelativeRotation(FRotator(0.f, -90.f, 0.f));
CacheInitialMeshOffset(FVector(0.f, 0.f, -70.f), FRotator(0.f, -90.f, 0.f)); Tags
Version History
Introduced in: 4.6
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?