Powered by OpenAIRE graph
Found an issue? Give us feedback
addClaim

This Research product is the result of merged Research products in OpenAIRE.

You have already added 0 works in your ORCID record related to the merged Research product.

Bayesian-Optimization-for-Unity

Authors: Jansen, Pascal; Colley, Mark;

Bayesian-Optimization-for-Unity

Abstract

About This Unity asset provides an end-to-end, Human-in-the-Loop (HITL) Multi-Objective Bayesian Optimization (MOBO) workflow built on botorch.org. It lets you declare design parameters and objectives in Unity, handles a Python backend for MOBO, and loops with users inside your Unity scene. The result is an efficient search over large design spaces, yielding trade-off designs on the Pareto front. Why this matters. Users typically have diverse preferences, needs, and abilities. Thus, manual design parameter tuning is often slow and potentially biased; A/B and grid search scale poorly. Instead, MOBO uses probabilistic surrogate models and principled acquisition to balance design exploration and exploitation, reducing the number of user trials required to reach a high-quality design for every user. Key Features Configure design parameters, objectives, and optimizer hyperparameters directly in Unity. Automatic, robust communication with a BoTorch-based MOBO process. Built-in integration with the QuestionnaireToolkit for explicit feedback in a HITL process; compatible with implicit telemetry. Automatic CSV logging of parameters, objectives, and hypervolume; warm-start from prior runs. Two example scenes demonstrating end-to-end optimization. Example Use Case To improve interface usability, treat selected UI attributes as design parameters x (e.g., button size, color contrast, spacing, animation duration) and optimize two objectives y: System Usability Scale (0–100, maximize) and task completion time (seconds, minimize). In each iteration t, the optimizer proposes a configuration xt; a participant completes a fixed task; Unity records time; the participant completes SUS; the posterior and acquisition function update; and the next xt+1 is selected. After several iterations, the system returns an estimated Pareto front containing Pareto-optimal interface designs that represent the best compromise between the design objectives. Release Highlights (v1.1.0) Click Game example scene Minimal 2-objective task (time-to-click, perceived difficulty). Ready to plug into the BO loop. Acquisition upgrade: qNEHVI → qLogNEHVI Replaced legacy qNoisyExpectedHypervolumeImprovement with qLogNoisyExpectedHypervolumeImprovement for better numerical stability. Same API. from botorch.acquisition.multi_objective.logei import qLogNoisyExpectedHypervolumeImprovement Simplified BO Manager inspector (Unity) Cleaner grouping, clearer hyperparameters, and safer defaults. Python bootstrap Auto-detects a Python executable and installs requirements.txt from StreamingAssets/BOData/Installation/ automatically. Sampling rule: 2d + 1 The number of sampling iterations now defaults to 2 * num_design_params + 1. Toggle manual override if needed. Upgrade notes Ensure StreamingAssets/BOData/Installation/requirements.txt is present; the runner installs packages automatically. If you previously set a fixed sampling count, enable "Set Sampling Iterations Manually" in the inspector to keep. Otherwise, the default is 2d+1. Changelog Add: Click Game example scene. Change: Switch to qLogNoisyExpectedHypervolumeImprovement. Improve: BO Manager inspector UX. Add: Default Python path detection + automatic requirements.txt install. Add: Automatic sampling iterations = 2d+1.

  • BIP!
    Impact byBIP!
    citations
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
citations
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average