TrueSyncBehaviour resetting positions

Options
Hello. My levels are generated at runtime. My issue: If TrueSyncBehaviour is present in the scene, or if is added/instantiated to the scene later, ALL instantiated objects with components TSTransform and any TS collider have their positions reset to 0,0,0.

In an older thread someone was having the same issue, a solution was posted which only partly worked. Solution being commenting out _serialized = true; in TSTransform.cs :


private void UpdateEditMode() {
if (transform.hasChanged) {
_position = transform.position.ToTSVector();
_rotation = transform.rotation.ToTSQuaternion();
_scale = transform.localScale.ToTSVector();

_serialized = true;
}
}


This, combined with resetting the TSTransform component in the inspector panel fixed the issue in part. TrueSyncBehaviour is no longer resetting the position of objects with TSTransform, HOWEVER it is still resetting the position of objects with ANY TSCollider.

Has anyone encountered this? Possible solutions?
Many thanks

Comments

  • Xelnath
    Options
    I've run into this issue too! I've just resorted to adding a TSTransform to all objects by hand. It sucks.
  • Xelnath
    Options
    I've thought about creating a custom function which forcibly sets the current position of a TSTransform2D by making some of the components public instead of private when its created.
  • JeffersonHenrique
    Options
    Hi @Rob604, it is a known bug on TrueSync, unfortunately for now we did have these workarounds, but it is something that should be fixed.