Black Screen

The server restart, I mean.

by user 908977119781060648

You can also try to run a clean installation after fixing the path, maybe itā€™s cached

Iā€™ll try the clean install. Two minsā€¦

by user 908977119781060648

It took a lot longer than when Iā€™ve performed clean installs on previous occasionsā€¦ I donā€™t know if thatā€™s maybe significant?

Anyway, still no joy Iā€™m afraid. The Quick Actions preview works fine, but the Export & Build Dist (Production) still throws an error (screen shot attached).

by user 908977119781060648

For ref. play.ts is

    Behaviour,
    PlayableDirector,
    serializable,
    WebXR,
  } from "@needle-tools/engine";
  import { WebXR } from "@needle-tools/engine"
  
  export class Play extends Behaviour {
    @serializable(PlayableDirector)
    timeline?: PlayableDirector;
  
    awake() {
      window.addEventListener("pointerdown", () => {
        if (this.timeline) {
          this.timeline.playOnAwake = true;
          this.timeline.play();
        }
      });
    }
  
    start() {
      WebXR.addEventListener(WebXREvent.XRStarted, () => this.timeline?.play());
    }
  }```

*by user 908977119781060648*

Youā€™re importing the WebXR component twice in your code. Maybe thatā€™s the reason?

Can you try removing the second import?

So try this, do you mean?

    Behaviour,
    PlayableDirector,
    serializable,
    WebXR,
  } from "@needle-tools/engine";
  import { WebXR }"
  
  export class Play extends Behaviour {
    @serializable(PlayableDirector)
    timeline?: PlayableDirector;
  
    awake() {
      window.addEventListener("pointerdown", () => {
        if (this.timeline) {
          this.timeline.playOnAwake = true;
          this.timeline.play();
        }
      });
    }
  
    start() {
      WebXR.addEventListener(WebXREvent.XRStarted, () => this.timeline?.play());
    }
  }```

*by user 908977119781060648*

Line 7 still contains import { WebXR }"

But yep without that line

So remove it completely and go back to the original script?

by user 908977119781060648

you import it here already:

import {
    Behaviour,
    PlayableDirector,
    serializable,
    WebXR,
  } from "@needle-tools/engine";
import {
    Behaviour,
    PlayableDirector,
    serializable,
    WebXR,
  } from "@needle-tools/engine";
  
  export class Play extends Behaviour {
    @serializable(PlayableDirector)
    timeline?: PlayableDirector;
  
    awake() {
      window.addEventListener("pointerdown", () => {
        if (this.timeline) {
          this.timeline.playOnAwake = true;
          this.timeline.play();
        }
      });
    }
  
    start() {
      WebXR.addEventListener(WebXREvent.XRStarted, () => this.timeline?.play());
    }
  }

like this ^

Two ticsā€¦ Iā€™ll tryā€¦

by user 908977119781060648

Nope. Itā€™s still not liking that.

So sorry to have fallen at this hurdleā€¦ but Iā€™m over half an hour late for a meeting and really have to dash :cry:

by user 908977119781060648

Thanks for trying. Itā€™s much appreciated :+1:

by user 908977119781060648

Hasty update en route to meetingā€¦ Iā€™ve reverted to an archive/Time Machine backup of the project (which was built with and still uses 2.62.0-pre) and that runs and compiles fine; so Iā€™ll stick with that for now. Itā€™s not ideal, I know, but itā€™s salvaged things in the immediacy.

My guess is, itā€™s maybe best to keep using the (old) Needle version that a given project is built with - and use any updated versions of Needle for new projects as they come through?

by user 908977119781060648

Sorry about that - usually updates should work fine. In your case it really looks like a caching issue or something like that. Do you think you could give me access to the project?

Hi again @marcel :cactus: ā€¦ no worriesā€¦ and yep sure. Itā€™s a client commission so itā€™ll need to be kept under wraps but Iā€™m happy to zip it and DM it to you as soon as Iā€™m back at my desk :slightly_smiling_face: :+1:

by user 908977119781060648