Skip to content

Tips for using LSL4Unity

Markus edited this page Sep 19, 2016 · 10 revisions

Dealing with targetFrameRate

In the case, you intend to stream the application/game state as an LSL stream. You got several options to sample the game state. Be aware that in any case the sampling rate might not be stable and could have a significant jitter caused by heavy game logic

Sample on Update or LateUpdate

Sample on FixedUpdate

Grouping Markers with one timestamp

double thisMoment = liblsl.local_Clock(); provides a time stamp from a high precision clock. Use this to write multiple marker within the same moment in your code.

Postpone marker to the end of a frame

An example snippit from the LSLMarkerStream script.

    public void WriteBeforeFrameIsDisplayed(string marker)
    {
        pendingMarker = marker;
        StartCoroutine(WriteMarkerAfterImageIsRendered());
    }

    IEnumerator WriteMarkerAfterImageIsRendered()
    {
        yield return new WaitForEndOfFrame();

        Write(pendingMarker);

        yield return null;
    }

Clone this wiki locally