Как правильно читать json файл в C#

Ребят, нашел данный код, но есть проблема в том, что код читается по "прямой" ссылке, которая после билда в Unity не работает. Как можно исправить код, чтобы он работал? public class DS4

{
    // Gyroscope
    public static ButtonControl gyroX = null;
    public static ButtonControl gyroY = null;
    public static ButtonControl gyroZ = null;

    public static Gamepad controller = null;

    public static Gamepad getConroller(string layoutFile = null)
    {
        // Read layout from JSON file
        string layout = File.ReadAllText(layoutFile == null ? "Assets/Script/customLayout.json" : layoutFile);

        // Overwrite the default layout
        InputSystem.RegisterLayoutOverride(layout, "DualShock4GamepadHID");

        var ds4 = Gamepad.current;
        DS4.controller = ds4;
        bindControls(DS4.controller);
        return DS4.controller;
    }

    private static void bindControls(Gamepad ds4)
    {
        gyroX = ds4.GetChildControl<ButtonControl>("gyro X 14");
        gyroY = ds4.GetChildControl<ButtonControl>("gyro Y 16");
        gyroZ = ds4.GetChildControl<ButtonControl>("gyro Z 18");
    }

    public static Quaternion getRotation(float scale = 1)
    {
        float x = processRawData(gyroX.ReadValue()) * scale;
        float y = processRawData(gyroY.ReadValue()) * scale;
        float z = -processRawData(gyroZ.ReadValue()) * scale;
        return Quaternion.Euler(x, y, z);
    }

    private static float processRawData(float data)
    {
        return data > 0.5 ? 1 - data : -data;
    }
}

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

Автор решения: Yaroslav

Создай лучше ScriptableObject описывыющий туже модель, как этот json для удобного редактирования и задайте на него ссылку в инспекторе для вашего класса.

Через JsonUtility его легко превратить в Json и скормить методу RegisterLayoutOverride.

ПланБ: public TextAsset MyJson;.

В любом случае, ссылку на файл задавайте в инспекторе.

→ Ссылка