Search Unity

2018.2. TransformInputBarrier meta error.

Discussion in 'Entity Component System' started by eizenhorn, Apr 18, 2018.

  1. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,684
    After update to 2018.2b1 i have error:
    Code (CSharp):
    1. Read only asset Packages/com.unity.entities/Unity.Transforms/TransformInputBarrier.cs has no meta file.
    Any solutions? (Checked the folder of the package - really does not create a meta file for TransformInputBarrier.cs, access to the folder Full Write)

    [My solution]

    Create meta manually...
    Code (CSharp):
    1. fileFormatVersion: 2
    2. guid: 168b0e3756704251859c51ee75912ca1
    3. timeCreated: 1516900871
     
    Last edited: Apr 18, 2018
  2. Ivy-SM

    Ivy-SM

    Joined:
    Apr 18, 2013
    Posts:
    31
    Same problem here.
    And if I create the meta file manually, it gets deleted...
     
  3. Liviuss

    Liviuss

    Joined:
    Apr 2, 2014
    Posts:
    101
    +1 to this, anyone with alternate solution?
     
  4. Noisecrime

    Noisecrime

    Joined:
    Apr 7, 2010
    Posts:
    2,054
    Edit2:
    Think I've found a somewhat better solution.

    1. Go to Unity's staging cache and locate 'com.unity.entities@0.0.11' folder.
    2. In file 'Unity.Transforms/HeadingSystem.cs' change [UpdateAfter(typeof(TransformInputBarrier))] to [UpdateAfter(typeof(BarrierSystem))]
    3. In file 'Unity.Transforms/MoveForwardSystem.cs' change [UpdateAfter(typeof(TransformInputBarrier))] to [UpdateAfter(typeof(BarrierSystem))]
    4. In file 'Unity.Entities.Editor/ExtraTypesProvider.cs' change
    'using UnityEditor.Experimental.Build.Player;' to 'using UnityEditor.Build.Player;'
    5. Delete TransformInputBarrier.cs
    6. Zip up the 'com.unity.entities@0.0.11' folder so its easy to replace if it gets updated by Unity again.
    7. Open Unity projects.

    This appears to work, I can switch between two different projects without any console errors and the examples in stella3D cookbook appear to work, at least without any errors. However I never used 2018.1beta so have no frame of reference.

    My assumption is that this works because 'TransformInputBarrier' simply inherits from BarrierSystem and has no other code. e.g 'public class TransformInputBarrier : BarrierSystem {}' is the only code in the file ( apart from namespace and usings). However I only scanned Unity.Transforms files, no idea if TransformInputBarrier is referenced from elsewhere.


    Edit1:

    Ok this is a bit weird, basically a few other classes reference this class ( even though its currently empty and just inherits from BarrierSystem), yet after entities package has been installed in cache and referenced by the Unity project and the meta error appearing in the console, you can go to the staging area and delete the file - then everything seems to work?

    Not sure why as this shouldn't work.

    Indeed opening a new project that uses the same packages will cause errors as the file cant be found by the two files it needs, but restarting the whole process above will work again!

    i.e.
    Delete com.unity.entities@0.0.11 from staging area.
    Install com.unity.entities@0.0.11 from packagemanager
    Open Unity project
    Once it reports the meta errors, delete TransformInputBarrier.cs
    Fix the using error in ExtraTypesProvider.cs ( change using UnityEditor.Experimental.Build.Player; to
    using UnityEditor.Build.Player; )
    Go back into Unity and it should work. At least for the features i've tested.

    Original post:
    The actual class is empty, so I just deleted the file entirely - seemed to work with testing stella3d jobs cookbook project and I din't get any compile errors.
     
    Last edited: May 1, 2018
  5. henrikpAtUnity

    henrikpAtUnity

    Unity Technologies

    Joined:
    Jan 6, 2017
    Posts:
    37
    starikcetin and Noisecrime like this.