UIBehaviour code example?

Hi All !

I’ve got the following code in my Engine wrapper module:

class SkyEngineBehaviour : public te::EngineBehaviour
{
  public:
    bool autoInitialiseDeviceManager() override
    {
        return true;
    }
};

class SkyUIBehaviour : public te::UIBehaviour
{
  public:
    SkyUIBehaviour() = default;

    void runTaskWithProgressBar(tracktion_engine::ThreadPoolJobWithProgress &t) override
    {
        TaskRunner runner(t);

        while (runner.isThreadRunning())
            MessageManager::getInstance()->runDispatchLoop();
    }

  private:
    struct TaskRunner : public Thread
    {
        TaskRunner(tracktion_engine::ThreadPoolJobWithProgress &t) : Thread(t.getJobName()), task(t)
        {
            startThread();
        }

        ~TaskRunner()
        {
            task.signalJobShouldExit();
            waitForThreadToExit(10000);
        }

        void run() override
        {
            while (!threadShouldExit())
                if (task.runJob() == ThreadPoolJob::jobHasFinished)
                    break;
        }

        tracktion_engine::ThreadPoolJobWithProgress &task;
    };
};

EngineWrapper::EngineWrapper()
    : engine(ProjectInfo::projectName, std::make_unique<tSkyBehaviour>(), std::make_unique<SkyEngineBehaviour>())


I’m getting all sorts of issues when rendering.
What would be a proper code example ?

Best,
Jacques