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