Issue with Behaviors + Timelines in VisionOS

Hello,

I'm unable to activate a timeline in my application through an OnTap, OnAddedToScene or OnNotification.

In RCP I can test and play the timelines easily.

When running in the simulator or on device the timelines simply do not run, regardless of the method through which I try to call the API.

I have two questions:

  1. How can I check that my timelines are in my RCP project that's loaded into the scene? I don't see timelines in the entity hierarchy when I debug in RealityKit Debugger
  2. Is Behaviors a component I can manually set at runtime? I can very clearly see the behaviors component attached to my entity in RCP, but when running this code:
.gesture(
TapGesture()
.targetedToAnyEntity()
.onEnded { value in
if value.entity.applyTapForBehaviors() {
print("Success!")
} else {
print("Failure.")
}
}
)

It prints "Failure." every time indicating to me that the entity does not have a Behavior attached to it (whether that's a component or however else the Behavior is associated with the entity)

I also have not had success using the Notification system or even the OnAddedToScene behavior trigger which should theoretically work if a behavior is attached to the entity which the tap experiment indicates it's not.

For context this is my notification trigger code:

private let notificationTrigger = NotificationCenter.default
.publisher(for: Notification.Name("RealityKit.NotificationTrigger"))
@Environment(\.realityKitScene) var scene
Attachment(id: "home") {
Button {
NotificationCenter.default.post(
name: NSNotification.Name("RealityKit.NotificationTrigger"),
object: nil,
userInfo: [
"RealityKit.NotificationTrigger.Scene": scene,
"RealityKit.NotificationTrigger.Identifier": "test"
]
)
} label: {
Text("Test")
}
.padding(20)
.glassBackgroundEffect()
}
.onReceive(notificationTrigger) { _ in
print("test notification received")

I am receiving "test notification received" print statements as well.

I'm using Xcode 16.0 with VisionOS 2.0 on MacOS 15.3.1

Answered by itsah in 825208022

The issue was I was adding in individual Entities one by one from RCP and not the Scene itself.

The scene/representation entity of the entire project has the hierarchy that the lower level entities need to find their Behavior components.

Accepted Answer

The issue was I was adding in individual Entities one by one from RCP and not the Scene itself.

The scene/representation entity of the entire project has the hierarchy that the lower level entities need to find their Behavior components.

Issue with Behaviors + Timelines in VisionOS
 
 
Q