Documentation › ThreadHarmonizerManager.GetFromMainThread
GetFromMainThread
Executes an action on Unity’s main thread and blocks the calling background thread until completion.
Static method
Blocking
C# API
METHOD SIGNATURE
static void GetFromMainThread(Action function);
Description
Runs a parameterless action synchronously on Unity’s main thread without requiring MonoBehaviourMultithreaded inheritance. The method returns void, so store requested Unity values inside the action in a dedicated class field.
Blocking operation
The calling background thread remains paused until the main-thread action has finished.
Dedicated result field
Assign values inside the Action to a field such as Vector3 m_position.
Parameters
Name
Type
Description
function
Action
A parameterless action with no return value that executes synchronously on Unity’s main thread.
Returns
The method returns void. Store values needed by the waiting background thread in an accessible class field inside the Action.
Code Example
EXAMPLE
using ThreadHarmonizerEngine;
using UnityEngine;
public class StaticDistanceCalculator : MonoBehaviour
{
private Vector3 m_position;
private float m_distanceFromOrigin;
private void Start()
{
ThreadHarmonizerManager.EnqueueOnWorker(() =>
{
ThreadHarmonizerManager.GetFromMainThread(() =>
{
m_position = transform.position;
});
// Execution resumes after m_position has been assigned.
m_distanceFromOrigin = m_position.magnitude;
});
}
}
