Version: 2021.1
Creating components with scripting
Tags

Deactivating GameObjects

You can mark a GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
as inactive to temporarily remove it from the SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
. To do this, navigate to the InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary
and uncheck the checkbox next to the GameObject’s name (see image below), or use the SetActive method in script. To check in script if an object is marked as active or inactive, check the activeSelf property.

A GameObjects activation checkbox next to the name, both highlighted in the red box
A GameObject’s activation checkbox next to the name, both highlighted in the red box

Deactivating a parent GameObject

When you deactivate a parent GameObject, you also deactivate all of its child GameObjects.

The deactivation overrides the activeSelf setting on all child GameObjects, so Unity makes the whole hierarchy inactive from the parent down. This does not change the value of the activeSelf property on the child GameObjects, so they return to their original state when you re-activate the parent.

Note: This means that you can’t determine whether or not a child GameObject is currently active in the Scene by reading its activeSelf property, because even though it is set as active, one of its parents might be set as inactive.

Instead, if you need to determine whether it’s currently active in the scene, you should use the activeInHierarchy property, which takes the overriding effect of its parents into account.

The selected GameObject (Cube) is set as active, but remains inactive because its parent is set to inactive
The selected GameObject (Cube) is set as active, but remains inactive because its parent is set to inactive
Creating components with scripting
Tags
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961