Project Tiny preview-0.16.1 (C#) available, and upcoming changes

Discussion in 'Project Tiny' started by JC-Cimetiere, Jul 11, 2019.

Unity Technologies

Joined:
May 8, 2014
Posts:
23
A new Preview is available, including a few bug fixes. This update does not have any major new features.
You’ll find Project Tiny in the Package Manager when “Preview Package” option is activated.

To get started follow the detailed instructions in our previous post.

You may need to restart Unity after installing Project Tiny package and samples to open a project ( .project file). When importing the package and samples, you might see (and ignore) Warning messages in the console like: “Assembly for Assembly Definition File '[...]/Unity.Tiny.Thread.Native.asmdef' will not be compiled, because it has no scripts associated with it. [...])"

We’ve updated a couple samples, HelloWord getting a proper design pass and Browser Interop getting font issues fixed. We’ve improved the “Open DOTS C# Project”, generating the solution faster, and fixed a few more issues on the editor side. See the Change log for more details.

Thanks to all of you who jumped on our first preview and gave valuable feedback.

What’s coming next?
For the next iterations we are planning to bring significant changes to the scene authoring side.
We’ve heard your feedback on the current authoring experience: while similar to the classic way in Unity, it’s different enough that it requires a significant relearn and prevents from directly re-using existing content (like an already designed 2D scene).
The Unity Editor uses Game Objects as the format to represent a scene and its content. In current preview of Project Tiny, the Editor switches to DOTS Mode which uses Entities as the format to represent a scene.

A “new/old” authoring experience for Project Tiny
We’ve decided to change this approach and align the authoring experience on the Game Objects workflow, giving users familiar tools, while Unity will do a conversion to Entities in the background, so the runtime outcome remains “pure” DOTS.
This conversion pipeline has been built initially to enable the hybrid mode (used to build the Megacity demo), and we are now confident that we can generalize this approach for all authoring needs.
As a result, authoring content in Project Tiny will rely on the same Game Object concepts you currently use in “classic” Unity. Of course we will need to filter out/restrict what’s available based on the target, so you don’t accidentally add a Game Object or use a feature that is not yet supported in Project Tiny.
We will post updates on this forum about when the next preview is coming.

What about the C# scripting side?
On the C# scripting side, Project Tiny will stick to using “pure” DOTS, relying exclusively on the Entity Component System (ECS), the Job System, and soon the Burst Compiler, with the goal to deliver a small, light and fast runtime experience. So, still no more MonoBehavior and just Entities, Components and Systems. We are working on developing more samples and guidance for ECS in general.

What’s going to happen with content I’ve authored in current preview of Project Tiny?
Unfortunately, you will have to rework that part, and redo it with Game Objects.

TimmyCom, juelle, Maras and 4 others like this.
2. yossi_horowitz_artie

Joined:
Jan 30, 2019
Posts:
56
Thanks for the update!

To be clear -- does this mean that the idea of a pure DOTS editor is going away (forever?) and we'll need to write conversion scripts for all ECS components from MonoBehaviours if we want to be able to use them in the editor, as with the current workflow for non-Tiny ECS? (I hope not!)

JoNax97 and GliderGuy like this.
3. sniffle63

Joined:
Aug 31, 2013
Posts:
155
Always good to see new updates! Great work! Glad that generating our Tiny projects is getting easier!

Interesting going to a gameobject workflow, I was quite enjoying the Entity workflow. Although im sure it will be worth it in the end! Id love to hear a little more about how this is going to work exactly (specifically with calling the components in scripts(more specifically how in Tiny transforms are called translations))

Will this mean we will be able to do editor scripting in Unity Tiny sooner than i was originally expecting it to work?

Also im assuming this is going to increase your guys workflow quite alot with not having to create all new components for tiny specifically. With that being said, is tilemaps (and other features) going to find its way back into Project Tiny faster do to this change?

GliderGuy likes this.
4. Thaina

Joined:
Jul 13, 2012
Posts:
251
Still no 3D....

leoln2000 and yupengfei like this.
5. kfconeone

Joined:
Oct 3, 2013
Posts:
7
Will DOTS Mode be used on the normal project(Non-Tiny) in the future? just curious.

Joined:
Apr 9, 2018
Posts:
8
I'm having this error after updating to new version.

Code (CSharp):
1. error: Sequence contains no matching element (System.InvalidOperationException)
2.   at System.Linq.Enumerable.First
3.   at DotsConfigs+<>c.<.cctor>b__13_1 in C:/Unity/tinygit/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/DotsConfigs.cs(49)
4.   at System.Lazy1[T].CreateValue
5.   at System.Lazy1[T].LazyInitValue
6.   at Il2Cpp+<>c.<.cctor>b__35_1 in C:/Unity/tinygit/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/Il2Cpp.bee.cs(70)
7.   at System.Lazy1[T].CreateValue
8.   at System.Lazy1[T].LazyInitValue
9.   at DotsRuntimeCSharpProgram.Construct in C:/Unity/tinygit/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/DotsRuntimeCSharpProgram.cs(67)
10.   at DotsRuntimeCSharpProgram..ctor in C:/Unity/tinygit/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/DotsRuntimeCSharpProgram.cs(56)
11.   at BuildProgram.Main
12.   at System.RuntimeMethodHandle.InvokeMethod
13.   at Bee.StandaloneBeeDriver+<>c.<CreateBuildGraph>b__42_0
14.   at Bee.StandaloneBeeDriver.RunBuildProgramInBeeEnvironment
15.   at Bee.StandaloneBeeDriver.CreateBuildGraph
16.   at Bee.StandaloneBeeDriver.BuildMain
17.   at Bee.StandaloneBeeDriver.Main
18. [E] DAG generator driver failed: "C:\Unity\tinygit\Library\PackageCache\com.unity.tiny@0.16.1-preview\DotsPlayer\bee~\bee.exe" build --beemode=ToCreateBuildGraph --commandlinerequest=get-editor-tools --commandlinerequest=story-windows-dotnet-release --root-artifacts-path=artifacts --bee-driver-buildprogramroot=.
19. *** Tundra build failed to setup error (0.70 seconds), 0 items updated

romiohasan likes this.
7. Baste

Joined:
Jan 24, 2013
Posts:
4,224
Yiiiiikes.

I've been avoiding dipping my foot into the DOTS stuff exactly because the hybrid mode and auto-conversion seem like insane, temporary hacks "just to get something working". The pure dots view you had in 0.15 was what made me want to try it in the first place. It's a complete solution where I understand what's going on.

The megacity approach seems to have an absurd amount of black magic going on. I probably won't ever be comfortable building games in this "lets create objects in one abstraction in the editor and then magic magic now we're in a different abstraction at runtime" way.

Is the dots editor coming back once it's better, or have you locked into DOTS forever being tied to GameObject in a very confusing way?

paul-figiel, TwoTen, palex-nx and 7 others like this.
8. romiohasan

Joined:
Apr 8, 2019
Posts:
13
I have also faced the same issue and now waiting for a solution from here.

9. Maras

Joined:
Dec 11, 2012
Posts:
44
I have to agree with Baste, abstracting entities with GameObjects seems wrong. From my pov Entities/EntityGroups approach was not too hard to get into.

Last edited: Jul 12, 2019
JoNax97 likes this.

Unity Technologies

Joined:
Nov 5, 2015
Posts:
3
This is a poor error message on our part, which we will be fixing up in future releases so you can tell what went wrong. In general this is what happens when we cannot find some necessary installed tools to build the minimum set of configs; for example, we know of one case where it happened when only the very most recent version of VS 2019 was installed (because of a bug in the detection code), or when no valid Windows SDK was installed.

That said, it's odd that you hit this when you upgraded from the previous version of the package; did you also upgrade anything else on the machine perhaps?

Unity Technologies

Joined:
Aug 31, 2017
Posts:
54
Hi @Baste

The same team that worked on the Tiny editor will take care of reducing the magic magic parts of the hybrid workflow.

What hurts the Tiny editor is the lack of proper support for Prefabs and Animation. We're working on this, but these fundamental building blocks will take time to complete.

Meanwhile, we still want people to create games with Tiny, and that's why we're switching to the same hybrid workflow.

Looking forward to your feedback once we land the first iteration!

optimise likes this.

Unity Technologies

Joined:
Mar 16, 2005
Posts:
4,671
We certainly still have some robustness issues. And as etienne said his team is focusing on visualizing the conversion process to make it more understandable. Showing the runtime data live, Showing what didn't get converted etc. And making it so you can directly attach a IComponentData to a game object without having to writing your own wrapper / proxy thing. Those are clearly problems we have today, and we are working on addressing those.

We certainly think that the concept of going through a clear pipeline that converts data from an authoring format to a runtime format is incredibly important and has been lacking in unity for a long time.

At edit time you want to move all your objects in a hierarchy. But if some objects are known to be static, why can't we just flatten it out to a matrix and get rid of the hierarchy?
Why can't I have a character with 500 bones represented as game objects with great in scene workflows, but then that character can be turned into a single entity for the runtime.
Why can't I have a simple way of defining procedural content generation at authoring time, where i change some parameters and as a result generate a bunch of entities. Like for building, city, vegetation generation.

Lastly we think there is significant value in being able to ingest existing content as is and just have the conversion pipeline convert it into the optimal entity runtime format.

Curious if there is anything specific that makes you feel like the conversion flow is a hack?

Last edited: Jul 12, 2019

Unity Technologies

Joined:
Mar 16, 2005
Posts:
4,671
It doesn't change anything from the game code perspective. This is only about the authoring tooling. Specifically this is about introducing the concept of converting data from one format to another. Editor format vs Runtime format.

Last edited: Jul 12, 2019
Maras and eizenhorn like this.

Joined:
Apr 9, 2018
Posts:
8
No I didn't. I just upgraded the Project Tiny.

Also just to be sure, I created a new project. Then I installed version 0.16.1 of Project Tiny directly and got the same error. Then I downgraded it to 0.15.3 and I could get a build.

Unity Technologies

Joined:
Nov 5, 2015
Posts:
3
Ok, thanks, will investigate.

16. yossi_horowitz_artie

Joined:
Jan 30, 2019
Posts:
56
My off-the-cuff concerns so far:
- It will require that extra scaffolding code be written for each ECS component that we want to use in the editor. (Unless there will be an auto-generated editor-time-only MonoBehaviour for ECS components as part of this infrastructure?)
- It will discourage ECS-like thinking at author time. It would be nice if it were possible to visualize, by means of the Hiearchy Window and Inspector, what your data is actually going to look like without having to press play.

Seb-1814, sniffle63 and GliderGuy like this.
17. yossi_horowitz_artie

Joined:
Jan 30, 2019
Posts:
56
We're using some super-duper unsupported techniques at the moment, but my team is in the process of integrating Raylib (https://www.raylib.com/) into Tiny for 3D support, and it's coming along slowly, but very nicely.

DaniMoreno, Thaina and sniffle63 like this.
18. eizenhorn

Joined:
Oct 17, 2016
Posts:
1,432
Completely disagree. Conversion workflow is all against of magic. You authorize it by yourself, you decide how convert data from edit format to runtime format, you decide how it looks in editor, at the same time you can use all old good MB editor stuff.

DreamingImLatios likes this.
19. Maras

Joined:
Dec 11, 2012
Posts:
44
Thanks for the answer. I just do not like abstracting something just so it does not look intimidating. But the way you explained it in the previous answer makes sense.

Unity Technologies

Joined:
Mar 16, 2005
Posts:
4,671
Agree. In 19.3 we ship all changes to support this. Specifically we have the ability to postprocess IL after C# compilation in a scalable and performant way. This lets us efficiently generate a monobehaviour like this automatically:
Code (CSharp):
1.     [CreateAuthoringComponent]
2.     public struct Enemy : IComponentData
3.     {
4.         [Tooltip("You need more than 0 or else you die....")]
5.         public int Health;
6.
7.         [Range(2, 10)] public float Mana;
8.
9.         public Maybe Maybe;
10.         public Complex Complex;
11.
12.         public static Enemy Default => new Enemy() {Health = 12, Mana = 13, Maybe = Maybe.No};
13.
14.         [RestrictAuthoringInputTo(typeof(Light))]
16.     }
There are still situations where you want to explicitly create the authoring component, when things get more complex and runtime & authoring data becomes more and more distant from each other simply because you are optimizing runtime perf & authoring simplicity for designers. And the goals of each one are often not well aligned. Which is why this process of everything going through conversion is so powerful.

But naturally, simple should be simple. Hence the above by default.

Yes. And thats exactly what we are working towards around Unite timeframe.

21. GliderGuy

Joined:
Dec 14, 2018
Posts:
28
After reading through this thread I'm a little less concerned about the Pure Entities to GameObjects plus Conversion change... But i really don't like the weird jargon when it comes to referring to these converted-to-entities-at-runtime "GameObjects". Because really, are they actually GameObjects at this point? Heck they don't even exist within the game anymore!
They're more of "Hybrid Entity Blueprints" now, so i feel like we should change the jargon to reflect that (even if it comes at the expense of increasing the entry barrier slightly for newer people since they have to refer to them as something new). Simply calling them EntityObjects would be fine with me, although there are probably better names. Like maybe HybridObject? HybridEntityObject? ObjectEntity? What about Will-Be-Converted-Soon-TM-Object? Is that too wordy?

Anyways just thought i should throw in my two cents about the subject.

- Also, does anyone know how to reference another soon-to-be-converted GameObject's created entity within the editor? Like... Without getting errors? Since the GameObject gets destroyed, anytime you reference it the editor gets mad -- so you can't do that. And the entity created is pretty arbitrary too, you don't know if it will be Entity 1 or Entity 2, and hardcoding in a "reference" to Entity 1 would make me cry... So is there like auto conversion of a GameObject reference to Entity "reference" or something when the GameObject gets converted to an entity?

Last edited: Jul 13, 2019
22. DreamingImLatios

Joined:
Jun 3, 2017
Posts:
436
conversionSystem.GetPrimaryEntity

GliderGuy likes this.
23. JJJohan

Joined:
Mar 18, 2016
Posts:
204
Is it always going to be the intention to limit the exposed .NET libraries that are available? I ask because I find the idea of Unity TIny interesting in that it has the potential of starting our non-game web application faster when we only really want to use Unity's API for basic rendering but still have access to third party libraries for doing runtime processing of different data formats. I get there is some effort to "fine-tune" this but ultimately is the end-goal still going to be a limited .NET Standard 2.0 subset that would make using off-the-shelf .NET libraries impossible?

24. Thaina

Joined:
Jul 13, 2012
Posts:
251
We could just drop prefab I think

It's my wish all along that we should have a way to make prefab be the same as edittime and runtime. But the way I have came up with is something like edittime data orient UIElements. It was getting away from being prefab. It become something that dynamic generating things inside both prefab view, editor view, and also in playmode

And I think this should be better approach for unity. Everything should be data orient and react to data. Then we just serialize the data instead of prefab. And so prefab should be legacy

25. Baste

Joined:
Jan 24, 2013
Posts:
4,224
This all sounds great!

This is great for performance, and for sure something we'd want for builds.
But when debugging the game - ie. playing from the editor - we really need the edit time hierarchy to understand what we're looking at. One of the biggest performance killers in GameObject world is deep transform hierarchies of essentially folder gameobjects. Those are 100% necessary in order to move related objects together, and to give meaningful names to things.

We have tried, for performance reasons, to flatten those hierarchies when we go into play mode, and quickly found out that we lost a ton of information about what we were looking at. It becomes way harder to link what you're seeing in-game back to what's there at edit-time when the hierarchies have changed. So we switched to only do the flattening at build-time.
In short, when everything's just a single blob of data, it runs faster, but our ability to reason about it at runtime is reduced.

It doesn't feel like a hack. I just had assumed it was a hack that you put in place until you had the pure ECS editor ready to go. Color me surprised when you ship a pure ECS editor and then ditch it in less than a month.

I think the best thing in Unity - it's killer feature - is the ability to click a thing in the scene view in play mode, in order to see what data is attached to it, and what behaviours are running on it in the inspector.
I realize that tying together data and behaviour is slow, and DOTS is all about splitting those two apart, but boy will it be hard to debug anything if I can't click on a thing to see what's running on it.

So what seems hacky is that you've thrown out what I consider the best part of Unity on the road to DOTS. Take the boid demo. I can select the shark, but I have to find it in the hierarchy, I can't click it in the scene view. I can't select an individual fish without going through the entity debugger, and there's no way for me to link the fish there to the fish in the scene.

What the Project Tiny preview has is the ability to click an entity in the scene view. That was one of the main thing I felt was missing from entities, and now it's going away again.

Last edited: Jul 14, 2019
26. sniffle63

Joined:
Aug 31, 2013
Posts:
155
When i upgraded my project to this new release, every time i click "open DOTS C# project" instead of reloading my current IDE, it opens a completely new one, and my newly created scripts wont work correctly. I had also just switched from jetbrains back to VS because my license expired, so it may be VS specific, because when i downgraded back to the last version it continued, but at least after i downgraded when it opened the new IDE the script were usable and i just had to close the previously opened IDE

27. U_Guendeli

Joined:
Dec 12, 2018
Posts:
6
Coming from Entitas background, i don't really mind losing the editor flexibility.

• Is is possible to Add/Remove components in runtime, like entity.AddMyComponent(A,B,C) ?
• What would be an equivalent for Reactive Systems. systems that reacts to an entity being added once instead of looping constantly through them ?
• Can we control the script execution order of systems ?

the samples are running perfectly and runs on both webasm and asmjs on a low end phone.

28. DeveloperTechno

Joined:
Apr 30, 2019
Posts:
2
I was able to execute the project before, but suddenly I could not execute the project.
Even the HelloWorld project is impossible.
The symptoms occur during a build after pressing the run button.
The editor freezes when the progress message is "Running bee ...".
This symptom occurs with any execution method.
I do not know the solution method. help me.
(I'm not good at English.Therefore, I used Google translation.)
(There may be incorrect sentences. I'm sorry.)

Last edited: Jul 15, 2019

Unity Technologies

Joined:
Jul 11, 2017
Posts:
19
The DOTS Editor hasn't been ditched, just put on hold -- it's still where we want to get to. On the way there we realized we would need to introduce "authoring components", because similar to your experience, the best runtime performance is usually not the best or most pleasant authoring experience. We already have those authoring components on the GameObject side, so we can reuse them. Transforms are a really good example; you want to edit with deep hierarchies, for organization or ease of use, but at runtime you want much of that hierarchy to go away.

On this path we can get to a complete package of features + authoring in a usable state sooner. We also get to closer alignment with the goals and experience of Project Tiny and overall DOTS. Eventually we'll likely want to introduce pure ECS authoring components and have a pure DOTS editing experience, but we don't have to block actually creating content until then.

We absolutely want you to click a thing in the scene view in play mode, see the runtime entities, and see the original authoring gameobject. We also want you to be able to see how that gameobject was converted into the runtime entity (like in the transform example: if your runtime entity is static, and you didn't expect it to be, you should be able to see which conversion system made the decision to make it static). Same with being able to see the authoring hierarchy vs. runtime set of entities (or runtime transform hierarchy), or to select things that only have an entity representation. The goal is to provide complete visibility into what's going on.

WThe biggest challenge of this GameObject authoring path is making the pipeline visible and understandable, both at authoring and at runtime -- and that's the problem that the team working on the authoring workflows is focused on solving.

Unity Technologies

Joined:
Jul 11, 2017
Posts:
19
Yep - the operations are on the EntityManager though, not on the Entity directly, so you would do something like EntityManager.AddComponentData(entity, new A { ... });

Yes, through system state components. Some documentation is here: https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/system_state_components.html

Yes, through UpdateBefore/UpdateAfter and a few other attributes. See https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/system_update_order.html for more information.

U_Guendeli likes this.
31. Maras

Joined:
Dec 11, 2012
Posts:
44
In that case it sounds great!

Can you please tell us when do you plan to publish the roadmap?

32. vincismurf

Joined:
Feb 28, 2013
Posts:
183
Still not building =(

Code (CSharp):
1. Build failed. Open D:\YOU\beta9_tiny\Library\DotsRuntimeBuild\build.log for more details.
2. [     0s] Build frontend of artifacts\buildprogram\buildprogram_buildprogram.dag ran (no suitable previous build dag file)
3. [1/6  0s] CSProject buildprogram-build.gen.csproj
7. [5/6  1s] Csc artifacts/buildprogram/buildprogram_buildprogram.exe (+2 others)
8. [     5s] Build frontend of artifacts\buildprogram\tundra_buildprogram.dag ran (no suitable previous build dag file)
9. [ 1/13  0s] WriteResponseFile artifacts/rsp/1008532451738831585.rsp
10. [ 2/13  0s] WriteResponseFile artifacts/rsp/16678227308262555357.rsp
11. [ 3/13  0s] CSProject D:/YOU/beta9_tiny/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramBuildProgramSources/buildprogrambuildprogram.gen.csproj
12. [ 4/13  0s] CSProject D:/YOU/beta9_tiny/Library/DotsRuntimeBuild/buildprogram.gen.csproj
13. [ 5/13  0s] VisualStudioSolution build.gen.sln
14. [ 6/13  0s] CopyTool artifacts/buildprogram/bee.exe
15. [ 7/13  0s] CopyTool artifacts/buildprogrambuildprogram.exe/Release/bee.exe
19. [11/13  1s] Csc artifacts/buildprogrambuildprogram.exe/Release/buildprogrambuildprogram.exe (+2 others)
20. [12/13  1s] Csc artifacts/buildprogram/buildprogram.exe (+2 others)
23.   at Newtonsoft.Json.Linq.JObject.Parse
24.   at Bee.Stevedore.Program.FileList.ParseFromString
25.   at Bee.Stevedore.Program.FileList.ParseFromString
26.   at Bee.Stevedore.StevedoreArtifact.GetFileList
27.   at EditorToolsBuildProgram.SetupGetEditorToolsFromStevedore in D:/YOU/beta9_tiny/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/EditorToolsBuildProgram.cs(144)
28.   at BuildProgram.Main in D:/YOU/beta9_tiny/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/BuildProgram.bee.cs(167)
29. [E] DAG generator driver failed: "D:\YOU\beta9_tiny\Library\PackageCache\com.unity.tiny@0.16.1-preview\DotsPlayer\bee~\bee.exe" build --beemode=ToCreateBuildGraph --commandlinerequest=get-editor-tools --commandlinerequest=helloworld-windows-dotnet-debug --root-artifacts-path=artifacts --bee-driver-buildprogramroot=.
30. *** Tundra build failed to setup error (14.40 seconds), 0 items updated
31.
32. UnityEngine.Debug:LogError(Object)
33. Unity.Debug:LogError(Object) (at Library/PackageCache/com.unity.entities@0.0.12-preview.33/Unity.Entities/Stubs/Unity/Debug.cs:10)
34. Unity.Editor.Build.BuildStepRunBee:Run(BuildContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Build/BuildStepRunBee.cs:83)
35. Unity.Editor.Build.BuildPipeline:RunBuildSteps(IReadOnlyList1, BuildContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Build/BuildPipeline.cs:137)
36. Unity.Editor.Build.BuildPipeline:Build(BuildSettings) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Build/BuildPipeline.cs:110)
37. Unity.Editor.Application:Build() (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor/Application.cs:133)
38. Unity.Editor.Application:BuildAndRun() (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor/Application.cs:144)
39. Unity.Editor.Modes.PlayBar:PlayCommandHandler(CommandExecuteContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Modes/PlayBar.cs:15)
40. UnityEditor.CommandService:Execute(String)
41. Unity.Editor.Modes.PlayBar:DrawPlayBar(CommandExecuteContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Modes/PlayBar.cs:80)
42. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
43.
Code (CSharp):
1. Build failed. Open D:\YOU\beta9_tiny\Library\DotsRuntimeBuild\build.log for more details.
2. [     0s] Build frontend of artifacts\buildprogram\tundra_buildprogram.dag ran (folder contents changed: ../PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramBuildProgramSources)
5.   at Newtonsoft.Json.Linq.JObject.Parse
6.   at Bee.Stevedore.Program.FileList.ParseFromString
7.   at Bee.Stevedore.Program.FileList.ParseFromString
8.   at Bee.Stevedore.StevedoreArtifact.GetFileList
9.   at EditorToolsBuildProgram.SetupGetEditorToolsFromStevedore in D:/YOU/beta9_tiny/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/EditorToolsBuildProgram.cs(144)
10.   at BuildProgram.Main in D:/YOU/beta9_tiny/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/BuildProgram.bee.cs(167)
11. [E] DAG generator driver failed: "D:\YOU\beta9_tiny\Library\PackageCache\com.unity.tiny@0.16.1-preview\DotsPlayer\bee~\bee.exe" build --beemode=ToCreateBuildGraph --commandlinerequest=get-editor-tools --commandlinerequest=helloworld-windows-dotnet-debug --root-artifacts-path=artifacts --bee-driver-buildprogramroot=.
12. *** Tundra build failed to setup error (3.88 seconds), 0 items updated
13.
14. UnityEngine.Debug:LogError(Object)
15. Unity.Debug:LogError(Object) (at Library/PackageCache/com.unity.entities@0.0.12-preview.33/Unity.Entities/Stubs/Unity/Debug.cs:10)
16. Unity.Editor.Build.BuildStepRunBee:Run(BuildContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Build/BuildStepRunBee.cs:83)
18. Unity.Editor.Build.BuildPipeline:Build(BuildSettings) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Build/BuildPipeline.cs:110)
19. Unity.Editor.Application:Build() (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor/Application.cs:133)
20. Unity.Editor.Application:BuildAndRun() (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor/Application.cs:144)
21. Unity.Editor.Modes.PlayBar:PlayCommandHandler(CommandExecuteContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Modes/PlayBar.cs:15)
22. UnityEditor.CommandService:Execute(String)
23. Unity.Editor.Modes.PlayBar:DrawPlayBar(CommandExecuteContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Modes/PlayBar.cs:80)
24. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
25.

33. Puschie

Joined:
Feb 16, 2013
Posts:
4
Code (CSharp):
1. [     0s] Build frontend of artifacts\buildprogram\buildprogram_buildprogram.dag ran (build file timestamp changed: bee.config)
2. [     0s] Delete 5 artifact files that are no longer in use. (like artifacts\Bee.CSharpSupport\referenceassemblies\buildprogram_buildprogram.exe\1088064819024506472.dll)
3. [1/6  0s] CSProject buildprogram-build.gen.csproj
7. [5/6  0s] Csc artifacts/buildprogram/buildprogram_buildprogram.exe (+2 others)
8. [     1s] Build frontend of artifacts\buildprogram\tundra_buildprogram.dag ran (build file timestamp changed: ../PackageCache/com.unity.tiny@0.15.3-preview/DotsPlayer/bee~/BuildProgramBuildProgramSources/BuildProgramBuildProgram.cs)
9. [       0s] Delete 18 artifact files that are no longer in use. (like C:\Space\Projects\NewTinyTest\Library\PackageCache\com.unity.tiny@0.15.3-preview\DotsPlayer\bee~\BuildProgramBuildProgramSources\buildprogrambuildprogram.gen.csproj)
10. [ 1/13  0s] WriteResponseFile artifacts/rsp/16678227308262555357.rsp
11. [ 2/13  0s] WriteResponseFile artifacts/rsp/1008532451738831585.rsp
12. [ 3/13  0s] CSProject C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramBuildProgramSources/buildprogrambuildprogram.gen.csproj
13. [ 4/13  0s] CSProject C:/Space/Projects/NewTinyTest/Library/DotsRuntimeBuild/buildprogram.gen.csproj
14. [ 5/13  0s] VisualStudioSolution build.gen.sln
15. [ 6/13  0s] CopyTool artifacts/buildprogrambuildprogram.exe/Release/bee.exe
16. [ 7/13  0s] CopyTool artifacts/buildprogram/bee.exe
20. [11/13  0s] Csc artifacts/buildprogrambuildprogram.exe/Release/buildprogrambuildprogram.exe (+2 others)
21. [12/13  0s] Csc artifacts/buildprogram/buildprogram.exe (+2 others)
22. error: Sequence contains no matching element (System.InvalidOperationException)
23.   at System.Linq.Enumerable.First
24.   at DotsConfigs+<>c.<.cctor>b__13_1 in C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/DotsConfigs.cs(49)
25.   at System.Lazy1[T].CreateValue
26.   at System.Lazy1[T].LazyInitValue
27.   at Il2Cpp+<>c.<.cctor>b__35_1 in C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/Il2Cpp.bee.cs(70)
28.   at System.Lazy1[T].CreateValue
29.   at System.Lazy1[T].LazyInitValue
30.   at DotsRuntimeCSharpProgram.Construct in C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/DotsRuntimeCSharpProgram.cs(67)
31.   at DotsRuntimeCSharpProgram..ctor in C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/DotsRuntimeCSharpProgram.cs(56)
32.   at BuildProgram.Main
33.   at System.RuntimeMethodHandle.InvokeMethod
34.   at Bee.StandaloneBeeDriver+<>c.<CreateBuildGraph>b__42_0
35.   at Bee.StandaloneBeeDriver.RunBuildProgramInBeeEnvironment
36.   at Bee.StandaloneBeeDriver.CreateBuildGraph
37.   at Bee.StandaloneBeeDriver.BuildMain
38.   at Bee.StandaloneBeeDriver.Main
39. [E] DAG generator driver failed: "C:\Space\Projects\NewTinyTest\Library\PackageCache\com.unity.tiny@0.16.1-preview\DotsPlayer\bee~\bee.exe" build --beemode=ToCreateBuildGraph --commandlinerequest=get-editor-tools --commandlinerequest=testtinyproject-windows-dotnet-debug --root-artifacts-path=artifacts --bee-driver-buildprogramroot=.
40. *** Tundra build failed to setup error (3.42 seconds), 0 items updated
41.
after restart unity
Code (csharp):
1.
2. [ 9/13  0s] CSProject C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramBuildProgramSources/buildprogrambuildprogram.gen.csproj
3. error: Sequence contains no matching element (System.InvalidOperationException)
4.   at System.Linq.Enumerable.First
5.   at DotsConfigs+<>c.<.cctor>b__13_1 in C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/DotsConfigs.cs(49)
6.   at System.Lazy1[T].CreateValue
7.   at System.Lazy1[T].LazyInitValue
8.   at Il2Cpp+<>c.<.cctor>b__35_1 in C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/Il2Cpp.bee.cs(70)
9.   at System.Lazy1[T].CreateValue
10.   at System.Lazy1[T].LazyInitValue
11.   at DotsRuntimeCSharpProgram.Construct in C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/DotsRuntimeCSharpProgram.cs(67)
12.   at DotsRuntimeCSharpProgram..ctor in C:/Space/Projects/NewTinyTest/Library/PackageCache/com.unity.tiny@0.16.1-preview/DotsPlayer/bee~/BuildProgramSources/DotsRuntimeCSharpProgram.cs(56)
13.   at BuildProgram.Main
14.   at System.RuntimeMethodHandle.InvokeMethod
15.   at Bee.StandaloneBeeDriver+<>c.<CreateBuildGraph>b__42_0
16.   at Bee.StandaloneBeeDriver.RunBuildProgramInBeeEnvironment
17.   at Bee.StandaloneBeeDriver.CreateBuildGraph
18.   at Bee.StandaloneBeeDriver.BuildMain
19.   at Bee.StandaloneBeeDriver.Main
20. [E] DAG generator driver failed: "C:\Space\Projects\NewTinyTest\Library\PackageCache\com.unity.tiny@0.16.1-preview\DotsPlayer\bee~\bee.exe" build --beemode=ToCreateBuildGraph --commandlinerequest=get-editor-tools --commandlinerequest=testtinyproject-windows-dotnet-debug --root-artifacts-path=artifacts --bee-driver-buildprogramroot=.
21. *** Tundra build failed to setup error (0.43 seconds), 0 items updated
22.
same here

vincismurf likes this.
34. Thaina

Joined:
Jul 13, 2012
Posts:
251
Investigate the
DotsConfigs.cs
file from the buildlog and found out that the project don't create file
selectedconfig.json
it required to

So I just hack it like this in the meantime (you can just edit and overwrite that file directly)

Code (CSharp):
1.
3.     {
5.         var file = NPath.CurrentDirectory.Combine("selectedconfig.json");
6.         Console.WriteLine(file);
7.         Console.WriteLine(file.FileExists());
8.
9.         string configName = "wasm-debug";
10.         if(file.FileExists())
11.         {
13.             Console.WriteLine(json);
14.             var jobject = JObject.Parse(json);
15.
16.             Console.WriteLine(jobject);
17.
18.             configName = jobject["Config"].Value<string>().ToLower();
19.         }
20.
21.         Console.WriteLine("configName : " + configName);
22.         return _configs.Value.FirstOrDefault(c => {
23.             Console.WriteLine(c.Identifier + " == " + configName);
24.             return c.Identifier == configName;
25.         });
26.     }
27.
Still disappointed that this is official unity package and it not opensource but having a seriously annoying bug like this leak out for many days

35. Thaina

Joined:
Jul 13, 2012
Posts:
251

We need to press this menu at least once (WHY?) to make the unity generate
selectedconfig.json
for the bee.exe to read the config line

Will investigate more about this case. I think it should always generate selectedconfig when we press play button. So it seem like a bug in unity

36. Thaina

Joined:
Jul 13, 2012
Posts:
251
Found out that it was a bug in
com.unity.tiny@0.16.1-preview\Unity.Editor\Unity.Editor.Build\BuildStepGenerateBeeFiles.cs

In the Run function it was like this

Code (CSharp):
1.
2.
3. public bool Run(BuildPipeline.BuildContext context)
4. {
5.     BuildProgramDataFileWriter.WriteAll(context.OutputDirectory.FullName);
6.     WriteBeeExportManifestFile(context);
7.     WriteBeeBuildSettingsFile(context);
8.     return true;
9. }
10.
11.
But it actually need to be like this

Code (CSharp):
1.
2. public bool Run(BuildPipeline.BuildContext context)
3. {
4.     var workspaceManager = context.Project.Session.GetManager<WorkspaceManager>();
5.     var selectedConfiguration = workspaceManager.ActiveBuildTarget.GetBeeTargetName() + "-" + workspaceManager.ActiveConfiguration;
6.     BuildProgramDataFileWriter.WriteAll(context.OutputDirectory.FullName,selectedConfiguration);
7.     WriteBeeExportManifestFile(context);
8.     WriteBeeBuildSettingsFile(context);
9.     return true;
10. }
11.

37. Thaina

Joined:
Jul 13, 2012
Posts:
251
Open DOTS project in webGL cause weird error. Can build and run but it also make vscode cannot reference
Unity.Tiny.HTML
. And so I can't coding or running test runner properly

38. Thaina

Joined:
Jul 13, 2012
Posts:
251
Please just opensource the tiny repo in github so we could fix all the problem

39. yossi_horowitz_artie

Joined:
Jan 30, 2019
Posts:
56
I'm excited that they're letting us see (and change!) the source at all! That's a huge step in the right direction for Unity, and it's the only thing that's made my company's current project possible.

40. Silenus3

Joined:
Jun 5, 2019
Posts:
14
there seems to be some dependency's for the tiny project that does not update automaticly , I had to update the burst compiler manually.

also when working with it I need to restart unity very often or script changes wont compile.

vincismurf likes this.
41. yossi_horowitz_artie

Joined:
Jan 30, 2019
Posts:
56
Is there one particular version of the 2019.2 beta which is recommended for this version of the Tiny package?

Joined:
Apr 30, 2019
Posts:
2

43. DavEat

Joined:
Jul 5, 2016
Posts:
2
I would like to have spacialized audio in a Tiny Project. For that I need a "spacialBlend" parameter on my sources.

I thing it is not the way but I saw that inside Unity.Timeline.dll there is a reference to a class AudioMixerProperties who contains a spacialBlend parameter but if I add Unity.Timeline to the assembly Definition References the project does not build anymore (so doesn't work :/)

Did anyone have any idea how can I have spacial audio blending inside Project Tiny (without coding it myself) ?

44. yossi_horowitz_artie

Joined:
Jan 30, 2019
Posts:
56
I don't think there's a way to use the Entity Debugger with Tiny, yet. Is there currently a built-in way to log a dump of all of the entities in the world and all of the components on those entities, or anything along those lines?

45. vincismurf

Joined:
Feb 28, 2013
Posts:
183
Tried Beta 2019.0b.10, still wont build =(

46. IriySoft

Joined:
Dec 21, 2016
Posts:
6
Alright. When to expect Android/iOS targets?

47. sniffle63

Joined:
Aug 31, 2013
Posts:
155
Any news on why my IDE keeps reopening itself instead of reloading the currently open IDE when i click 'open DOTS C# project', or why in the new update after i click 'open DOTS C# project', my new scripts still will not be recognized as apart of my project?

Or maybe a small explanation on whats going to change scripting wise with the redone GameObject editor?

48. Thaina

Joined:
Jul 13, 2012
Posts:
251
I have fixed this issue by also toggling editor platform on the HTML.asmdef

Joined:
Nov 10, 2009
Posts:
754
Hard, hard crash when clicking on UI's "Layout" button while in DOTS mode (with any DOTS project open).
Tested on 2019.2.0b10, Project Tiny 0.16.1, but I saw it happening in previous versions too.

I tried to upload a package for bug reporting, it wouldn't work.

50. shihab37

Joined:
Jul 7, 2015
Posts:
18
Building "HelloWorld" sample for "Windows" works fine [after installing Windows SDK using VS2017 installer]
but I get this error while trying to build for web (both AsmJS & Wasm)

Code (CSharp):
1. Build failed. Open E:\Hello_ProjectTiny\Library\DotsRuntimeBuild\build.log for more details.
2. ##### ExitCode
3. 1
4. ##### Output
5. shared:ERROR: 'E:\Hello_ProjectTiny\Library\DotsRuntimeBuild\artifacts\Stevedore\emscripten-llvm-win-x64\emscripten-llvm-e1.38.28-2019_04_05_07_52\clang++.exe --version' failed: [Error 6] The handle is invalid
6. *** Bee build failed (1.21 seconds), 10 items updated
7. UnityEngine.Debug:LogError(Object)
8. Unity.Debug:LogError(Object) (at Library/PackageCache/com.unity.entities@0.0.12-preview.33/Unity.Entities/Stubs/Unity/Debug.cs:10)
9. Unity.Editor.Build.BuildStepRunBee:Run(BuildContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Build/BuildStepRunBee.cs:83)
10. Unity.Editor.Build.BuildPipeline:RunBuildSteps(IReadOnlyList1, BuildContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Build/BuildPipeline.cs:137)
11. Unity.Editor.Build.BuildPipeline:Build(BuildSettings) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Build/BuildPipeline.cs:110)
12. Unity.Editor.Application:Build() (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor/Application.cs:133)
13. Unity.Editor.Application:BuildAndRun() (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor/Application.cs:144)
14. Unity.Editor.Modes.PlayBar:PlayCommandHandler(CommandExecuteContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Modes/PlayBar.cs:15)
15. UnityEditor.CommandService:Execute(String)
16. Unity.Editor.Modes.PlayBar:DrawPlayBar(CommandExecuteContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Modes/PlayBar.cs:80)
17. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
@Vecna and @oceanxiao also reported the same problem
for Tiny 0.15.3-preview
Just as @oceanxiao mentioned, if I try to run the 'clang++.exe --version' command through windows command prompt, it works fine.

I am using Unity 2019.2.0b10 and Project Tiny 0.16.1-preview on Windows 7

While trying to investigate the issue further, I found something worth mentioning in the file "shared.py" located at '\Library\DotsRuntimeBuild\artifacts\Stevedore\emscripten\emscripten-nightly-1.38.28-2019_04_05_07_52\tools'
[You can also find this file on emscripten github page here: https://github.com/emscripten-core/emscripten/blob/master/tools/shared.py]
Code (JavaScript):
1. # On Windows python suffers from a particularly nasty bug if python is spawning
2. # new processes while python itself is spawned from some other non-console
3. # process.
4. # Use a custom replacement for Popen on Windows to avoid the "WindowsError:
5. # [Error 6] The handle is invalid" errors when emcc is driven through cmake or
6. # mingw32-make.
7. # See http://bugs.python.org/issue3905
and
Code (JavaScript):
1. # Install our replacement Popen handler if we are running on Windows to avoid
2. # python spawn process function.
3. # nb. This is by default disabled since it has the adverse effect of buffering
4. # up all logging messages, which makes builds look unresponsive (messages are
5. # printed only after the whole build finishes). Whether this workaround is
6. # needed seems to depend on how the host application that invokes emcc has set
7. # up its stdout and stderr.
8. if EM_POPEN_WORKAROUND and os.name == 'nt':
9.   logger.debug('Installing Popen workaround handler to avoid bug http://bugs.python.org/issue3905')
10.   Popen = WindowsPopen
11. else:
12.   Popen = subprocess.Popen
so, to make emscripten use this workaround thingy, I inserted this line
Code (JavaScript):
1. EM_POPEN_WORKAROUND = '1'
in the config file "emscripten-config-1.38.28.py" located at '\Library\DotsRuntimeBuild\artifacts'

After that the error changed to this
Code (JavaScript):
1. Build failed. Open E:\Hello_ProjectTiny\Library\DotsRuntimeBuild\build.log for more details.
2. ##### ExitCode
3. 1
4. ##### Output
5. root:INFO: Checking JS engine ['E:\\Hello_ProjectTiny\\Library\\DotsRuntimeBuild\\artifacts\\Stevedore\\node-win-x64\\node.exe'] failed. Check your config file. Details: maximum recursion depth exceeded while getting the str of an object
6.
7. root:CRITICAL: The JavaScript shell (['E:\\Hello_ProjectTiny\\Library\\DotsRuntimeBuild\\artifacts\\Stevedore\\node-win-x64\\node.exe']) does not seem to work, check the paths in the config file
8. *** Bee build failed (4.92 seconds), 7 items updated
9.
10. UnityEngine.Debug:LogError(Object)
11. Unity.Debug:LogError(Object) (at Library/PackageCache/com.unity.entities@0.0.12-preview.33/Unity.Entities/Stubs/Unity/Debug.cs:10)
12. Unity.Editor.Build.BuildStepRunBee:Run(BuildContext) (at Library/PackageCache/com.unity.tiny@0.16.1-preview/Unity.Editor/Unity.Editor.Build/BuildStepRunBee.cs:83)