Перемещение персонажа в редакторе и в билде

Разрабатываю клон Doodle-jump. Реализовал прыжок и подсчёт очков. Решил сделать билд на телефон и обнаружил, что персонаж в телефоне перемещается не так как в редакторе. В редакторе он всегда остается ниже определенного уровня (что мне и надо), а в телефоне персонаж ускакивает высоко вверх. Не могу понять с чем это связанно. Ссылка на весь код: https://github.com/Leo506/MoodleJump

GameController.cs:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameController : MonoBehaviour
{
    [SerializeField] PlatformGenerator platformGenerator;
    [SerializeField] MoodleSpawner moodleSpawner;
    [SerializeField] JumpController jumpController;
    [SerializeField] ScoreUI scoreUI;
    [SerializeField] GameCanvas gameCanvas;
    [SerializeField] GameObject moodle;

    int score = 0;
    bool gameOver = false;

    private void Start()
    {
        platformGenerator.GenerateStartBlocks();
        moodleSpawner.Spawn(platformGenerator.platforms[0].transform);

        Moodle.MoodleDiedEvent += GameOver;
    }

    private void OnDestroy()
    {
        Moodle.MoodleDiedEvent -= GameOver;
    }

    private void Update()
    {
        if (gameOver)
            return;


        var addScore = jumpController.CheckJump();
        if (addScore > 0)
        {
            MoveObjectsDown(addScore);
            score += (int)(addScore * 10);
            scoreUI.UpdateScore(score);
        }

        jumpController.Distance = platformGenerator.CheckDistanceToGenerate(jumpController.Distance);
    }


    private void MoveObjectsDown(float distance)
    {
        moodle.transform.Translate(0, -distance, 0, Space.World);
        foreach (var item in platformGenerator.platforms)
            item.transform.Translate(0, -distance, 0, Space.World);
    }

    private void GameOver()
    {
        gameOver = true;
        foreach (var item in platformGenerator.platforms)
            Destroy(item.gameObject);
        gameCanvas.GameOver();
    }
}

JumpController.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class JumpController : MonoBehaviour
{
    [SerializeField] GameObject moodle;
    [SerializeField] float line;
    [SerializeField] Text moodlePos, diffText;

    float lastYPos;
    public float Distance { get; set; }

    private void Start()
    {
        Distance = 0;
        lastYPos = moodle.transform.position.y;
    }

    public float CheckJump()
    {
        var moodleYPos = moodle.transform.position.y;
        moodlePos.text = moodle.transform.position.ToString();
        var difference = moodleYPos - lastYPos;
        diffText.text = difference.ToString();
        if (moodleYPos > line && difference > 0)
        {
            Distance += difference;
            lastYPos = moodleYPos;
            return difference;
        }

        lastYPos = moodleYPos;

        return 0;
    }
}

В билде

В редакторе


Ответы (0 шт):