Improbable Icon

SpatialOS Discourse Forums

Gdk-for-unity-fps-starter-project local launch -- failed to load schema

It happened at some point while I was going through HealthPickup tutorial – local launch just stopped working.

Looking for a 'spatial' configuration file at 'C:\Users\STARLINE-COMP\AppData\Local\.improbable\spatial\config.pb.json'
Read 'spatial' configuration: enable_plugins:true .
Detected legacy project structure at e:\Desktop\gdk-for-unity-fps-starter-project
Enabling plugins for supported SDK version '14.0.1'
using local event logger
starting wrapper services endpoint
health-check message from wrapper service received
wrapper service started successfully in 1.9944ms after 1 attempt(s)
Importing the SDK plugin for project SDK version '14.0.1'.
Retrieved the plugin commands from cache.
Adding new command: 'build'.
Adding new command: 'clean'.
Adding new command: 'codegen'.
Adding new command: 'diagnose'.
Adding new command: 'exec'.
Adding new command: 'file'.
Not changing existing command as imported command does not have an implementation: 'local'.
Not changing existing command as imported command does not have an implementation: 'worker'.
Adding new command: 'launch'.
Adding aliases to 'package' command: worker_package
Adding new command: 'clean'.
Adding new command: 'unpack'.
Adding new command: 'unpack-to'.
Adding new command: 'prepare-for-run'.
Not changing existing command as imported command does not have an implementation: 'project'.
Not changing existing command as imported command does not have an implementation: 'history'.
Not changing existing command as imported command does not have an implementation: 'snapshot'.
Adding new command: 'convert'.
Adding new command: 'schema'.
Adding new command: 'setup'.
Adding new command: 'worker'.
Executing command: spatial local launch --log_level=debug --enable_pre_run_check=false --runtime_ip=127.0.0.1:7777
checking cache location at 'C:\Users\STARLINE-COMP\AppData\Local\.improbable\cache\worker_package\1.8.0_161\jre\jre-win64.zip'
package was found in the cache
SpatialOS will launch from snapshot file 'e:\Desktop\gdk-for-unity-fps-starter-project\snapshots\default.snapshot'.
Using 'two-gsim-one-jvm' for project id 'beta_july_salami_867'
Latest manifest version: 2020-02-05-1316-37c92fd521
Fetching manifest: https://console.improbable.io/api/local-inspector/v1/manifest
Already have the latest version of the inspector: 2020-02-05-1316-37c92fd521
Latest manifest version: 2020-02-05-1316-37c92fd521
Fetching manifest: https://console.improbable.io/api/local-inspector/v2/manifest
Already have the latest version of the inspector: 2020-02-05-1316-37c92fd521
SpatialOS preparing setup
SpatialOS starting.
starting fabric node master
Will invoke java binary at C:\Users\STARLI~1\AppData\Local\Temp\improbable_extracted_packages\87f6ffea625d605fb00b9f17d59d350f/bin/java.exe
Registered fabric nanny dns entries
master node elected with ip(127.0.0.1) current node ip(127.0.0.1)
fetched java params from etcd
fabric classpath size: 1
Starting fabric with args [C:\Users\STARLI~1\AppData\Local\Temp\improbable_extracted_packages\87f6ffea625d605fb00b9f17d59d350f/bin/java.exe -XX:+PreserveFramePointer -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=25 -XX:G1MaxNewSizePercent=75 -XX:MaxGCPauseMillis=10 -Xmx13383M -Xms2230M -DNET_IMPROBABLE_ASSETS_DIR=e:\Desktop\gdk-for-unity-fps-starter-project\build\assembly -DSERVICE_ACCOUNT_REFRESH_TOKEN=some_refresh_token -DFABRIC_LOG_LEVEL=WARN -Dlogback.configurationFile=/improbable/logs/log_config.xml -DAPPDATA=/improbable/logs/fsim -DPROPERTY_EXTERNAL_IP=127.0.0.1 -DPROPERTY_INTERNAL_IP=127.0.0.1 -DPROPERTY_ASSET_DATABASE_URL=http://127.0.0.1:1238 -DLOGSINK_ADDRESS=http://localhost:22000 -DFABRIC_LOG_DIRECTORY=e:\Desktop\gdk-for-unity-fps-starter-project\logs\2020-02-19_14-08-50 -DMANAGED_WORKER_LOGFILE_DIRECTORY=e:\Desktop\gdk-for-unity-fps-starter-project\logs\2020-02-19_14-08-50\workers -classpath C:\Users\STARLI~1\AppData\Local\Temp\fabric_bundles\11-20200213T115606Z-980fd9a/runtime_deploy.jar improbable.deployment.GameLauncher --thor_grpc_tls_port=22000 --thor_grpc_use_tls=false --controller_grpc_host=127.0.0.1 --fabric_public_ip=127.0.0.1:7777 --deployment_node=master --deployment_project=beta_july_salami_867 --node_name=master --thor_grpc_tls_host=127.0.0.1 --auth_server_base_url=http://127.0.0.1:21000 --deployment_name=local --deployment_assembly_name=local_assembly --controller_grpc_port=22000]
JVM process id: 13356
trying to health check fabric node master
error waiting for fabric node master to become healthy after 0 retries
trying to health check fabric node master
error waiting for fabric node master to become healthy after 1 retries
trying to health check fabric node master
error waiting for fabric node master to become healthy after 2 retries
[improbable.module.ModuleNodeContext] Failed to load schema
[improbable.deployment.GameLauncher] SpatialOS runtime startup failed.
trying to health check fabric node master
error waiting for fabric node master to become healthy after 3 retries
JVM did not exit cleanly
Cleaning up local services
Cleaning up local worker nanny service.
SpatialOS terminated.
wrapper services endpoint shut down gracefully

Now no any spatial os project is able to be launched locally – even freshly cloned from git.

I just have no idea why it happened at how to fix it.

Tried to change my platform as suggested here, but it didn’t worked.

And this is what I get when I try to launch it manually

E:\Projects\gdk-for-unity-fps-starter-project>spatial local launch
Preparing to run SpatialOS.
Generating descriptor. 1/1    [====================] 100%
'spatial prepare-for-run' succeeded (0.1s)
SpatialOS will launch from snapshot file 'E:\Projects\gdk-for-unity-fps-starter-project\snapshots\default.snapshot'.
SpatialOS starting.
[improbable.worker.assembly.WorkerAssemblyProviderFactory] Loaded worker assemblies for these workers types: DeploymentManager, MobileClient, SimulatedPlayerCoordinator, UnityClient, UnityGameLogic.
[improbable.module.ModuleNodeHelpers] Using the new Runtime including new bridge, load balancer, and entity database.
[improbable.worker.assembly.WorkerAssemblyProvider] The following worker configurations do not contain valid managed launch configurations for the current platform WINDOWS, and the runtime will be unable to launch managed workers of this type: [DeploymentManager, MobileClient, UnityClient]. This is expected for worker types you intend to only connect manually.
[improbable.module.ModuleNodeHelpers] Snapshot did not pass validity check:
tried to create entity with unknown component(s) which do not correspond to valid component IDs: [13000]
[improbable.module.ModuleNode] Snapshot analysed in 0.060452609s.
[improbable.deployment.GameLauncher] SpatialOS runtime startup failed.
SpatialOS terminated.

E:\Projects\gdk-for-unity-fps-starter-project>

Hey @Alisher-Zhumagali,

Would you be able to post your schema file here so we can take a look at it? Looking at the error that may be an issue here.

Kind regards

Kieran

I’ve never changed it, it’s just basic gdk-for-unity-fps-starter-project schema

Is it the basic one or is it the one you had to change it to at the start of the health pickup tutorial?

If you could post i i could read over it to make sure there are no errors.

I’ve changed it back. But I have the same problem even with freshly cloned project from git

schema.zip (1.9 KB)

Okay thank you!

Would you be able to attempt to launch in unity to replicate the behavior and then send us the Unity Log file (found here https://docs.unity3d.com/Manual/LogFiles.html)?

What does “launch in unity” means? SpatialOS > Local launch or something else?

(sorry if I may sound rude, English isn’t my first language)

Yep! Just replicate the original error through Unity just so we can make sure the error is 100% in the log file and then send that over!

symbol_upload.log (5.3 KB) upm.log (173 Bytes) Editor.log (3.0 MB) Editor-prev.log (2.8 MB)

In the log it is showing the error:

Assets\HealthPickupClientVisibility.cs(3,7): error CS0246: The type or namespace name 'Pickups' could not be found (are you missing a using directive or an assembly reference?)
&
Assets\HealthPickupClientVisibility.cs(9,27): error CS0246: The type or namespace name 'HealthPickupReader' could not be found (are you missing a using directive or an assembly reference?)

The description of how you build these assets are found in the tutorial here, could you run through the first step to make sure you have correctly built them?

(this includes doing the code generation etc)

I’ve already removed that script and all the references to health_pickup.schema altogether

Also I need to note that everything works fine in cloud deployment.

Hey @Alisher-Zhumagali,

A few things to point out here.

  1. When you try to local launch from the cli tool without specific unity options that will go through and mess with your schema.
  2. You are running on an unsupported version of unity, this should be fine for now but if you run into actual integration problems we won’t be able to help.

To solve the first you should use the “Generate code (force)” option in your unity editor and then local launch from the editor itself.

Kind regards

Kieran