Да, можно передавать аргументы в конструктор класса, который наследуется от MonoBehaviour. Однако, следует помнить, что Unity использует свое собственное специфическое управление жизненным циклом объектов и компонентов, поэтому не все стандартные паттерны программирования применимы в этом случае.
Чтобы избежать проблемы с вызовом метода до инициализации экземпляра класса Player, можно использовать статическое свойство или метод в классе Bootstrap, которое будет хранить ссылку на экземпляр класса Player посл его инициализации. Или можно использовать паттерн синглтон, чтобы гарантировать единственное существование экземпляра класса Player и получать к нему доступ из любой точки приложения.
Пример:
```csharp
public class Bootstrap : MonoBehaviour
{
public static Player playerInstance;
void Start()
{
playerInstance = new Player(/*передаваемые аргументы*/);
}
}
public class Player : MonoBehaviour
{
void FixedUpdate()
{
if (Bootstrap.playerInstance != null)
{
// вызов метода экземпляра класса Player
}
}
}
```
Таким образом, можно избежать ошибок, связанных с доступом к нулевому объекту во время вызова метода FixedUpdate.