I need to change my game object's layer in the script, but it only apply to my game object's top level where the animation and script are attached. The level where the mesh and render are attached is not changed. I noticed that GameObject has a function function to Activate object recursively( SetActiveRecursively() ), should there be a function call SetLayerRecursively() also? If not, how can I set layer to a GameObject including all it's children in the script? Thanks.