The engine that got used is Howest property.
Features:
Example code:
using UnityEngine; using System.Collections; public class LevelManager : MonoBehaviour { //-------------- //TWO DIFFERENT level areas //-------------- enum ActiveAvatar { AVATAR1 = 1, AVATAR2 = 2 } private GameObject _levelAvatar1; private GameObject _levelAvatar2; private AvatarManager _avatarManager; void Start() { _avatarManager = GameManager.SingleTon().GetAvatarManager(); } void Update() { if (Input.GetKeyDown(KeyCode.R)) { GameManager.SingleTon().GetLevelSelectManager().ReloadCurrentLevel(); } } void EnableLevel(GameObject levelObjects) { Component[] renderers; renderers = levelObjects.GetComponentsInChildren<Renderer>(); foreach (Renderer renderer in renderers) { renderer.enabled = true; } Component[] colliders; colliders = levelObjects.GetComponentsInChildren<Collider>(); foreach (Collider collider in colliders) { collider.enabled = true; } Component[] rB; rB = levelObjects.GetComponentsInChildren<Rigidbody>(); foreach (Rigidbody body in rB) { body.isKinematic = false; body.useGravity = true; } Component[] lights; lights = levelObjects.GetComponentsInChildren<Light>(); foreach (Light light in lights) { light.enabled = true; } } void DisableLevel(GameObject levelObjects) { Component[] renderers; renderers = levelObjects.GetComponentsInChildren<Renderer>(); foreach (Renderer renderer in renderers) { renderer.enabled = false; } Component[] colliders; colliders = levelObjects.GetComponentsInChildren<Collider>(); foreach (Collider collider in colliders) { collider.enabled = false; } Component[] rB; rB = levelObjects.GetComponentsInChildren<Rigidbody>(); foreach (Rigidbody body in rB) { body.isKinematic = true; body.useGravity = false; } Component[] lights; lights = levelObjects.GetComponentsInChildren<Light>(); foreach (Light light in lights) { light.enabled = false; } } public void SetLevelAvatars(GameObject level1, GameObject level2) { _levelAvatar1 = level1; _levelAvatar2 = level2; } public void ChangeActiveLevel() { if ((ActiveAvatar)_avatarManager.GetActiveAvatar() == ActiveAvatar.AVATAR1) { EnableLevel(_levelAvatar1); DisableLevel(_levelAvatar2); } if ((ActiveAvatar)_avatarManager.GetActiveAvatar() == ActiveAvatar.AVATAR2) { EnableLevel(_levelAvatar2); DisableLevel(_levelAvatar1); } } }