If the device supports it you can use the Gyroscope class to get gyroscopic information about the orientation and acceleration  of the device.


You can get detailed system information by using the SystemInfo class. SystemInfo provides information on the graphic device hardware, processor count, operating system, device type and more. Very handy for gathering stats/trends on your users hardware specs.


The Unity API provides access to a OpenGL style graphics for immediate mode drawing in the class called “GL”.


You can perform Frustum and AABB collision detection using something similar to the fallowing code ...

public object[] GetObjects(Vector3 position, float distance, float fov, Vector3 direction)
        {
            var results = new List<GameObject>();

            // search all game objects
            var objects = UnityEngine.Object.FindObjectsOfType(typeof(GameObject));

            if (this.camera == null)
            {
                this.cameraGameObject = new GameObject();
                this.camera = this.cameraGameObject.AddComponent<Camera>();
            }

            this.cameraGameObject.transform.position = position;
            this.cameraGameObject.transform.forward = direction;
            this.camera.fov = fov;
            this.camera.far = distance;

            var planes = GeometryUtility.CalculateFrustumPlanes(this.camera);

            foreach (GameObject obj in objects)
            {
                if (obj == this.cameraGameObject)
                {
                    continue;
                }

                // if no collider just ignore
                if (obj.collider == null)
                {
                    continue;
                }

                if (GeometryUtility.TestPlanesAABB(planes, obj.collider.bounds))
                {
                    results.Add(obj);
                }
            }

            return results.ToArray();
        }


You can get access to more powerful controls by using an undocumented unity api the TextEditor control.

var te = (TextEditor)GUIUtility.GetStateObject(typeof(TextEditor), GUIUtility.keyboardControl);
if (te != null)
{
    te.MoveCursorToPosition(new Vector2(5555, 5555));
}

If you need to know what symbols Unity uses for conditional compilation check out the docs page Platform Dependent Compilation


If you need to know what platform your code is running under you can use Application.platform.


If you need to run some script code as soon as the editor has launched you can use the InitializeOnLoad attribute.


With scripting you can add menu items that have shortcut keys assigned to them. Read the MenuItem description for more information.


A great way to help debug your game is to use Gizmos to visually represent empty game objects in your scene.

Check out BurgZergArcade's youtube channel with over 200+ unity tutorial videos.


Created by: X

Just another personal website in this crazy online world

Name of author Dean Lunz (aka Created by: X)
Computer programming nerd, and tech geek.
About Me -- Resume