Correct usage of SKAction and of SKNode's properties

After reading the following documentation:
https://developer.apple.com/documentation/spritekit/skscene/responding_to_frame-cycle_events?language=objc
I understand that:

  1. SKNode's properties should only be set directly within the "scene life cycle events" methods or from a custom SKAction
  2. SKNode.runAction() can be used to change the Node's properties at any time from any thread/queue

Is that correct?
(are the restrictions I listed real? are the more restictions that I missed?)
Thanks!

Replies

These are "scene life cycle events" methods the I referred to:


Responding to Frame-Cycle Events


- update:

Tells your app to perform any app-specific logic to update your scene.



- didEvaluateActions

Tells your app to peform any necessary logic after scene actions are evaluated.



- didSimulatePhysics

Tells your app to peform any necessary logic after physics simulations are performed.



- didApplyConstraints

Tells your app to peform any necessary logic after constraints are applied.



- didFinishUpdate

Tells your app to peform any necessary logic after the scene has finished all of the steps required to process animations.


This article in the documentation should clear up your questions: https://developer.apple.com/documentation/spritekit/skscenedelegate/use_spritekit_objects_within_scene_delegate_callbacks?changes=__7

Thanks!
I think that this article should be added as a paragraph of https://developer.apple.com/documentation/spritekit/skscene/responding_to_frame-cycle_events?changes=__7


It is not really related to SKSceneDelegate

If this information wasn't in the area that you were expecting then I highly encourage you to file a bug report against the documentation!