Skip to content

[Bug]: Live Runtime/Preview charges indefinetly when launched #5

Description

@FlorianBarbe

Bug area

Play Mode runtime

Severity

Blocker - cannot use the plugin

Reproducibility

Always

Workflow step where the issue happens

  • I installed the package from Git URL
  • I installed the package from a local folder
  • I opened GAMA > GAMA Panel
  • I clicked Setup Scene
  • I started simple.webplatform manually
  • I started GAMA
  • I opened or selected a GAMA experiment
  • I converted the experiment to a vr_xp experiment
  • I pressed Play in Unity
  • I generated a static preview from GAMA
  • I modified species settings
  • I configured dynamic colors from GAMA attributes
  • I applied settings and restarted Play Mode

Unity version

6000.0.55f1

SIMPLE Unity Plugin version / branch / commit

main

GAMA version

2025-06

simple.webplatform branch / commit

main, lancé avec le .exe v4 qui vient d'être publié avec la main

Operating system

Windows

Package installation method

Git URL

GAMA model and experiment

model prey_predator_model_VR

import "Model 06.gaml"

species unity_linker parent: abstract_unity_linker {
string player_species <- string(unity_player);
int max_num_players <- 1;
unity_property up_default;
unity_property up_prey;
unity_property up_predator;
unity_property up_vegetation_cell;
list init_locations <- define_init_locations();

list define_init_locations {
return [{50.0,50.0,0.0}];
}

init {
do define_properties;
player_unity_properties <- [nil];
}
action define_properties {
unity_aspect default_aspect <- geometry_aspect(1.0,#gray,precision);
up_default <- geometry_properties("default","",default_aspect,#no_interaction,false);
unity_properties << up_default;

unity_aspect prey_aspect <- geometry_aspect(1.0,#gray,precision);
up_prey <- geometry_properties("prey","",prey_aspect,#no_interaction,false);
unity_properties << up_prey;

unity_aspect predator_aspect <- geometry_aspect(1.0,#gray,precision);
up_predator <- geometry_properties("predator","",predator_aspect,#no_interaction,false);
unity_properties << up_predator;

unity_aspect vegetation_cell_aspect <- geometry_aspect(1.0,#gray,precision);
up_vegetation_cell <- geometry_properties("vegetation_cell","",vegetation_cell_aspect,#no_interaction,false);
unity_properties << up_vegetation_cell;

}
// reflex send_geometries {
// do add_geometries_to_send(prey,up_prey);
// do add_geometries_to_send(predator,up_predator);
// do add_geometries_to_send(vegetation_cell,up_vegetation_cell);
// }

reflex send_geometries { list grass_food <- vegetation_cell collect each.food;
map<string, list> grass_atts <- ["food":: grass_food];
do add_geometries_to_send(prey, up_prey);
do add_geometries_to_send(predator, up_predator);
do add_geometries_to_send(
vegetation_cell,
up_vegetation_cell,
grass_atts
);

}

}

species unity_player parent: abstract_unity_player{
float player_size <- 1.0;
rgb color <- #red;
float cone_distance <- 10.0 * player_size;
float cone_amplitude <- 90.0;
float player_rotation <- 90.0;
bool to_display <- true;
float z_offset <- 2.0;
aspect default {
if to_display {
if selected {
draw circle(player_size) at: location + {0, 0, z_offset} color: rgb(#blue, 0.5);
}
draw circle(player_size/2.0) at: location + {0, 0, z_offset} color: color ;
draw player_perception_cone() color: rgb(color, 0.5);
}
}
}

experiment vr_xp parent:"prey_predator" autorun: false type: unity {
float minimum_cycle_duration <- 0.1;
string unity_linker_species <- string(unity_linker);
list displays_to_hide <- ["main_display","Number of preys","Number of predators","main_display","Number of preys","Number of predators"];
float t_ref;

action create_player(string id) {
ask unity_linker {
do create_player(id);
}
}

action remove_player(string id_input) {
if (not empty(unity_player)) {
ask first(unity_player where (each.name = id_input)) {
do die;
}
}
}

output {
display main_display_VR parent:main_display{
species unity_player;
event #mouse_down{
float t <- gama.machine_time;
if (t - t_ref) > 500 {
ask unity_linker {
move_player_event <- true;
}
t_ref <- t;
}
}
}
}
}

Expected behavior

Live run when clicking Play Mode or the preview to charge when initiated

Actual behavior

When everything connected, soit si je lance une previw ça tourne dans le vide pdt un temps infini, soit si je fais play cela fait la même chose, ça tourne dans le vide pendant un temps infini aussi.
Voir le message précis du script qui tourne en boucle et qui bloque en PJ.
Et aucun objet n'a jamais été importé ou quoi que ce soit, rien n'est apparu.

Image

Steps to reproduce

Open Unity, package installer, middlexare first, then the Vr_XP and launche au Play Mode or a Unity Preview : charging indefinetly.

Stack status when the issue happened

  • Unity was open
  • Unity Console had no compile errors
  • simple.webplatform was running
  • GAMA was running
  • GAMA experiment was open or selected
  • GAMA experiment was already running
  • Unity was connected to ws://localhost:8080/
  • Monitor WebSocket ws://localhost:8001/ was reachable
  • GAMA Server ws://localhost:1000/ was reachable
  • Runtime agents appeared under [GAMA] Runtime Live Agents
  • Static preview appeared in Edit Mode

Ports and endpoints

No response

Species settings involved

No response

Logs and error messages

Middleware log : 

info    core·index           Starting the SIMPLE Webplatform !
 info    infra·StaticServer   =========================================

                                Webplatform started and is accessible
                                             http://localhost:5173

                              =========================================
 info    monitor·MonitorServ… Creating monitor server on: ws://0.0.0.0:8001
 info    multi·PlayerManager  Creating monitor server on: ws://0.0.0.0:8080
 warning simulation·ModelMan… Couldn't find settings file in folder C:\Users\LEGION\Desktop\oppo\simple.webplatform\learning-packages
 info    android·AdbManager   Connect to device's ADB server
 info    android·ScrcpyServer Using codec h265
 info    android·ScrcpyServer Creating video stream server on: ws://0.0.0.0:8082
 info    android·ScrcpyServer Creating monitor server on: ws://0.0.0.0:8082
 info    core·Controller      Not running on M2L2 (Mac Mini) hardware — skipping UPS connection
 info    core·Controller      Session timer started — shutdown sequence armed for 3h if on battery
 info    sim·GamaConnector    Connected to Gama Server on ws://localhost:1000
 warning android…EvilScan     Disable device auto-scan because server is not in the default IP range

Screenshots or videos

tailwind.config.js
package-lock.json
postcss.config.js
package.json

vitest.config.ts.txt
.gitignore.txt
biome.json
[vite.backend.config.ts.txt](https://github.com/user-

Image Image Image

attachments/files/30929801/vite.backend.config.ts.txt)

Workaround

No response

Reporter checklist

  • I checked that the issue happens with the latest version of the tested branch.
  • I included the Unity version.
  • I included the GAMA model or experiment name.
  • I included clear reproduction steps.
  • I included logs or screenshots if available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions