Search Issue Tracker
Won't Fix
Votes
0
Found in
5.0.0f1
Issue ID
676484
Regression
No
Undocumented "Main()" message in MonoBehaviour
How to reproduce:
1. Open a new project
2. Create a script called MainTest.cs with the following code:
using UnityEngine;
using System;
public class MainTest : MonoBehaviour {
void Start () {
Debug.Log ("Start called by " + gameObject.name + "!");
}
void Awake () {
Debug.Log ("Awake called by " + gameObject.name + "!");
}
void Main () {
Debug.Log ("Main called by " + gameObject.name + "!");
}
}
3. Attach the script to any game object in the scene
4. Play the scene
- The log messages are printed in the following order: Awake (gameobject1), Awake (gameobject2), Main (gameobject1), Start (gameobject1), Main (gameobject2), Start (gameobject2)
- The Main method is called after all of the Awake methods are called.
- The Start method is called after the game object's Main method is called.
- The Main method is undocumented.
- We decided to not fix this issue, to avoid potential problems given the fact that "Main" is the name of the default function we generate when compiling UnityScript scripts: if we remove it, nothing is going to work anymore; if we document it, than we will have to maintain and support it forever, which is not something we want to do.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [Ubuntu] Asset Bundles Dropdowns Contain Empty Row in Inspector
- Symbols are generated for a third-party native plug-in with 'Shared Library Type' set to 'Executable' when building for Android
- "Search by Import Log Type" Icon Nearly Invisible in Light Theme (Project Window)
- [Android] Realtime Directional Light turns off when there is no realtime shadow caster in the view
- “New Scene” window UI breaks when minimizing
Add comment