Code Monkey home page Code Monkey logo

assetgraph's Introduction

AssetGraph

AssetGraph is a tool that aims to reduce the workload of all the effort needed to build workflows around asset importing, building Asset Bundles and building Player Apps. By using the tool, you can build workflows to create, modify, and change asset settings graphically, and even automate it. It will free designers and artists from repetitive tasks during game development.

Getting Started

assetgraph's People

Contributors

alffanclub avatar amazingsam avatar anchan828 avatar hiroki-o avatar kimsama avatar klab-hosoda-sho avatar liortal53 avatar mgants4 avatar qxsoftware avatar rootjhon avatar sassembla avatar sindharta avatar sp-juan-legaz avatar tallior avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

assetgraph's Issues

Set Assets as included in asset bundles

Original report by Matt D (Bitbucket: DWSMatt, GitHub: DWSMatt).


As the assets aren't being set as being in asset bundles, could the tool automatically set the asset bundle names ON the asset? Otherwise, if the assets will be included in the final build.

The code for this goes something like

#!c#
AssetImporter importer = AssetImporter.GetAtPath(assetPath);
importer.assetBundleName = name;

5.6 video import

Original report by Sam Narain (Bitbucket: samnarain, GitHub: samnarain).


The 5.6 release has the Video Player component, so it will most likely that the amount of video assets will increase after its release in March. It might be an idea to take ABGT for 1.2 with some basic 5.6 support for these assets. Prior 5.6 will just be using the regular video assets, but the VPC allows H.264 with audio playback (and as well-processed smaller files - raw MOV of 600Mb becomes some megabytes), so it will certainly motivate increased usage as downloadable content. Besides that with Unity 2017's Timeline feature, AssetBundles will provide another great distributive format as the VPC has 4K playback, but platforms will adjust their DLC's based on bandwidth. Maybe something to put on the backlog.

ABGT 5.6 Beta Null Pointer Exceptions

Original report by Sam Narain (Bitbucket: samnarain, GitHub: samnarain).


A variety of Null Pointer exceptions occur with the ABGT tool in 5.6.0 B3. The GraphEditor window will not populate after spawning its window.

Tailing Editor.log indicates EditorGUIUtilityBindings.gen.cs:31 has the culprit. Here is an excerpt of the output.

#!txt

(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/editor/EditorGUIUtilityBindings.gen.cs Line: 318)

NullReferenceException: Object reference not set to an instance of an object
  at UnityEditor.EditorGUIUtility.TempContent (System.String[] texts) [0x00001] in /Users/builduser/buildslave/unity/build/artifacts/generated/common/editor/EditorGUIUtilityBindings.gen.cs:318 
  at UnityEditor.EditorGUI.Popup (Rect position, Int32 selectedIndex, System.String[] displayedOptions, UnityEngine.GUIStyle style) [0x00015] in /Users/builduser/buildslave/unity/build/artifacts/generated/common/editor/EditorGUIBindings.gen.cs:552 
  at UnityEditor.EditorGUILayout.Popup (Int32 selectedIndex, System.String[] displayedOptions, UnityEngine.GUIStyle style, UnityEngine.GUILayoutOption[] options) [0x00019] in /Users/builduser/buildslave/unity/build/Editor/Mono/EditorGUI.cs:6356 
  at AssetBundleGraph.AssetBundleGraphEditorWindow.DrawGUIToolBar () [0x00163] in /Users/sam/Projects/UNITY/Testing Ground/Testing Ground/Assets/AssetBundleGraph/Editor/GUI/AssetBundleGraphEditorWindow.cs:571 
  at AssetBundleGraph.AssetBundleGraphEditorWindow.OnGUI () [0x00002] in /Users/sam/Projects/UNITY/Testing Ground/Testing Ground/Assets/AssetBundleGraph/Editor/GUI/AssetBundleGraphEditorWindow.cs:820 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x000d0] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222 
  • OSX 10.11.6, using the editor with force-metal.

View Built Bundle Contents

Original report by James Marr (Bitbucket: [James Marr](https://bitbucket.org/James Marr), ).


Background

A large pain point for my team is understanding what exactly got included inside of a bundle through automatic dependency gathering. This mainly happens when we put a UI prefab inside of a bundle, which brings along with it all of the heavy weight sprite assets it references. This can be particularly bad when a relatively small dependent sprite has been packed on a larger sprite sheet, because then the entire sprite sheet then gets included in the bundle.

For our Live Operations team, this is extremely frustrating and time consuming to mitigate. They put together what they believe is a relatively simple piece of UI, but then it results in a several megabyte bundle because it accidentally brought in huge sprite sheets through dependency gathering. There are several ways to mitigate this problem, but it's currently very difficult for them to track down what the issue is so that they can put a fix in place.

There simply aren't good tools for them to understand what exactly got put into a bundle by Unity. They have to resort to a clunky work flow of looking at the editor log, which thankfully does show the entire asset contents and sizes of bundles as they are being built.

Proposal

You may decide that ABGT is the wrong place to solve this problem, but I personally feel like you guys are well positioned to do it so I'll ask anyway.

There should be a button to allow you to view the full results of a build command. This would show the final list of all bundles built, what assets were explicitly added to each bundle, and what assets were included in each bundle due to automatic dependency gathering. Ideally, this output would also include the size of each asset.

There are several ways to accomplish this:

• Parse the editor log

• Explicitly call AssetDatabase.GetDependencies for each asset ABGT adds to a bundle. Compare dependencies between bundles to determine what asset will be added to wha3. t bundle.

• Convince the main Unity team to enhance BuildPipeline.BuildAssetBundles to give programatic access to this data.

Followup

I fully understand that this isn't a fast or easy thing to accomplish. I'm bringing this to your attention because I see ABGT as a major push forward in terms of asset bundle usability. Thus, I think you guys are in a good position to champion larger changes to further improve asset bundle usability.

Please follow up with me if you think you could benefit from more detail, explanation, or brain storm. I think my project is pretty high up there in terms of asset bundle usage, so we run into a lot of the issues that I think smaller projects might not.

dependency is surpported? 依存関係構築できません?

I downloaded AssetGrpha (master branch) and try to build out a simple project's AssetBundles,
but Dependencies is always empty.

My project view just like this:
Assets
|-DLs
||-Shaders <- A.shader, B.shader
||-Materials <- A.mat, B.mat
||-Prefabs <- Cube.prefab, Sphere.prefab

I D&D default 3D Cube / Sphere GameObject to Project view to create prefabs.
Prefab Cube use A material with shader A,
and Sphere use B material with shader B.

and the nodes design in my AssetGraph is :
https://i.imgur.com/dAWNwmH.png

but the output material & prefab assetbundles, had no dependency.
https://i.imgur.com/bN7MRrf.png

I try to build assetbundles by using Unity official AssetBundleManager, and its worked.
So, is there anything worng in my AssetGraph setting?

please help me, thanks.


はじめまして。
キールと申します。

AssetGraph (master branch) をダウンロードして、簡単なバンドル構造で試しましたが、
ビルドしたAssetBundleに依存関係の構築ができません....

こんな感じのフォルダです:
Assets
|-DLs
||-Shaders <- A.shader, B.shader
||-Materials <- A.mat, B.mat
||-Prefabs <- Cube.prefab, Sphere.prefab

PrefabはUnityEditor内のDefault CubeとSphereをA、Bマテリアル適用後、
そのままProjectビューにD&Dで生成します。

そしてAssetGraphのノード構造はこういう感じです:
https://i.imgur.com/dAWNwmH.png

ビルド出力した結果、prefabsのAssetBundleに依存関係が一切入ってませんでした。
https://i.imgur.com/bN7MRrf.png
materialsのAssetBundleにも、Shaderへの依存関係がありません。

同じフォルダ構造で、AssetStroeのAssetBundleManagerを利用してビルドすると、
ちゃんと依存関係のあるAssetBundleが出来ています。

AssetGraphの設定、もしくは使い方が間違ってるでしょうか?
宜しくお願い致します。

Allow personalisation through a menu/dialog

Original report by Sam Narain (Bitbucket: samnarain, GitHub: samnarain).


It would be a great enhancement if certain settings could be controlled through a separate section (not inside Preferences as it is cross-project). An example can be seen in the attached image. Layout code is also available in my own fork (only bad as EditorPrefs are across projects so, bad), feel free to copy, paste and adjust.

SS

Error while downloading Asset Bundle: Failed to decompress data for the AssetBundle ...

Original report by Anonymous.


First of all thanks for this process to help develop the use of AssetBundle. It seems great.

Please, please, give me at least ONE fully working example for 5.4, from asset bundle creation to asset instantiation.
I spend hours to make it work with no luck (and yes, I checked binary transfer in Filezilla):

#!c#

UnityWebRequest www = UnityWebRequest.GetAssetBundle("http://**mywebsite.com**/Windows/bundle_0.unity3d", 0,0);
        yield return www.Send();

        if (www.isError)
        {
            Debug.Log(www.error);
        }
        else
        {
            // Show results as text
            //Debug.Log(www.downloadHandler.text); // not working

            // Or retrieve results as binary data
            //byte[] results = www.downloadHandler.data; //not working
            AssetBundle bundle = ((DownloadHandlerAssetBundle)www.downloadHandler).assetBundle; //or AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(www);?
            Instantiate(bundle.mainAsset);
        }

Error while downloading Asset Bundle: Failed to decompress data for the AssetBundle ...

Original report by Anonymous.


First of all thanks for this process to help develop the use of AssetBundle. It seems great.

Please, please, give me at least ONE fully working example for 5.4, from asset bundle creation to asset instantiation.
I spend hours to make it work with no luck (and yes, I checked binary transfer in Filezilla):

#!c#

UnityWebRequest www = UnityWebRequest.GetAssetBundle("http://**mywebsite.com**/Windows/bundle_0.unity3d", 0,0);
        yield return www.Send();

        if (www.isError)
        {
            Debug.Log(www.error);
        }
        else
        {
            // Show results as text
            //Debug.Log(www.downloadHandler.text); // not working

            // Or retrieve results as binary data
            //byte[] results = www.downloadHandler.data; //not working
            AssetBundle bundle = ((DownloadHandlerAssetBundle)www.downloadHandler).assetBundle; //or AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(www);?
            Instantiate(bundle.mainAsset);
        }

How to build asset bundles for scenes sharing assets/prefabs.

My target is to build assetbundles for scenes which share some assets. Suppose there are 2 scenes and 2 meshes:

  • scene_a : contains mesh_1.fbx, mesh_2.fbx
  • scene_b : contains mesh_1.fbx

I'm trying to build assetbundles for scenes and meshes respectively like the following:

  • scene_a.assetbundle : depends on mesh_1.assetbundle / mesh_2.assetbundle
  • scene_b.assetbundle : depends on mesh_1.assetbudlle
  • mesh_1.assetbundle : contains mesh_1.fbx
  • mesh_2.assetbundle : contains mesh_2.fbx

Does AssetGraph have any way to build above assetbundles ?

Can I bundle DLLs by AssetGraph?

I tried many ways, but result is no change: Unrecognized assets cannot be included in AssetBundles

How I can bundle my dlls with AssetGraph?

Overwrite existing asset import settings

Original report by thomas231 (Bitbucket: thomas231, GitHub: thomas231).


We have several assets that do not go into an asset bundle. For those, we have a dedicated build script to set the correct import settings like sprite atlas tags.
it would be great if ABHT could also be used to handle this task. We would just need a way to overwrite the meta files for assets in the projects. Currently, we can only create new assets.

About filter, customizing and caching of AssetGraph

I'm interested in AssetGraph and using as an experiment. Followings may not be discussed in Readme. Do you have any plan about them?

  • It looks not enough functions of filters. I want filters matching by shell glob or regular expression.
  • While it's easy to implement custom nodes, it looks no way to implement inspectors for such custom nodes.
  • How do I implement a node which adds components to a prefab built by prefabricator ?
  • I want to move cache objects out side of Assets/ folder.

Name clash

I just want you to be aware that I have been working on a project called assetgraph, which has existed for years. I can see that we're not targeting the same demographic. Never the less it would make things a lot easier for both projects if there wasn't any confusion about what project was just mentioned

Issues with Paths on Windows

In a Windows environment, using Path.Combine will return something like Assets/Data\Test\Model. This can be resolved by using Path.GetFullPath.

Also, there is a UNITY_FOLDER_SEPARATOR which also causes problems in a Windows Environment. It can be changed to use System.IO.Path.DirectorySeparatorChar

Stripping out components

Original report by Matt D (Bitbucket: DWSMatt, GitHub: DWSMatt).


I'm not sure if AGBT is the place to do this or if I need to create my own postprocessing scripts, but I would like to be able to ship a dedicated server build. To do this, I want to remove unneeded assets, such as AudioSources, Mesh Renderers and other client-side objects. This could yield massive file-size reductions.

Error while downloading Asset Bundle: Failed to decompress data for the AssetBundle ...

Original report by Anonymous.


First of all thanks for this process to help develop the use of AssetBundle. It seems great.

Please, please, give me at least ONE fully working example for 5.4, from asset bundle creation to asset instantiation.
I spend hours to make it work with no luck (and yes, I checked binary transfer in Filezilla):

#!c#

UnityWebRequest www = UnityWebRequest.GetAssetBundle("http://**mywebsite.com**/Windows/bundle_0.unity3d", 0,0);
        yield return www.Send();

        if (www.isError)
        {
            Debug.Log(www.error);
        }
        else
        {
            // Show results as text
            //Debug.Log(www.downloadHandler.text); // not working

            // Or retrieve results as binary data
            //byte[] results = www.downloadHandler.data; //not working
            AssetBundle bundle = ((DownloadHandlerAssetBundle)www.downloadHandler).assetBundle; //or AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(www);?
            Instantiate(bundle.mainAsset);
        }

View Build Progress state

There are just a console log to check state of running build. I think it's cool if there are an integrated Build progress view shown in the AssetBundleGraph Window.

Is there any plan to check progress in AssetBundleGraph Node Window?

Creating database fails.

Original report by Willem Kokke (Bitbucket: WillemKokke, GitHub: WillemKokke).


creating /AssetBundleGraph/SettingFiles/AssetReferenceDB.asset fails if the SettingFiles folder does not already exists (which it doesn't when checking out from the Release/1.1 branch)

Parent directory must exist before creating asset at Assets/AssetBundleGraph/SettingFiles/AssetReferenceDB.asset.
UnityEditor.AssetDatabase:CreateAsset(Object, String)
AssetBundleGraph.AssetReferenceDatabase:GetDatabase()
AssetBundleGraph.AssetReferenceDatabase:DeleteReference(String)
AssetBundleGraph.AssetReferenceDatabasePostprocessor:OnPostprocessAllAssets(String[], String[], String[], String[])
UnityEditor.DockArea:OnGUI()

About Bug Tracking

Now this project is under construction, but bug information about AssetGraph is very welcome.

When you commit a new problem/bug , please write these information.

e.g.
title: InvalidOperation error
environment: OS X 10.11
Unity version: 5.3.0f1
comment: editor crashed when build finished.
target platform: iOS
stacktrace(really welcome):

InvalidOperationException: Operation is not valid due to the current state of the object
System.Collections.Stack.Peek () (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections/Stack.cs:321)
UnityEngine.GUILayoutUtility.EndLayoutGroup () (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:278)
UnityEngine.GUILayout.EndHorizontal () (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:291)
UnityEditor.EditorGUILayout.EndHorizontal () (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:6523)
AssetGraph.AssetGraph.OnGUI () (at Assets/AssetGraph/Editor/GUI/AssetGraph.cs:619)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

ImportSettings support for Groups

Original report by James Marr (Bitbucket: [James Marr](https://bitbucket.org/James Marr), ).


It would be extremely useful if the ImportSettings node was capable of accepting the output of a Group node, and could use the * wildcard to be filled in with the group name.

The primary use for this in our project would be for forcing images into sprite sheets according to how they were grouped by the Group node.

For example, imagine I have a folder Characters, with sub folders Hero, Enemy, Dog. I would like to have a Group node with the rule Characters/*/, which would group together the assets in each sub folder. I would then like to connect the output of that Group node to an ImportSettings node, which would set the sprite tag to the group name captured by *.

Without this enhanced functionality, our workflow is much more difficult. W would have to individually configure a node hierarchy for each Hero, Enemy, and Dog subfolder. Any changes we wanted to make to our pipeline, would have to be individually applied to each subfolder. Any new subfolders would have to meticulously duplicate one of the existing hierarchies.

JSON parse error

I generated new MyPrefabBuilder, added a new string field, and selected the builder in Graph Editor, then "JSON parse error: Invalid escape character in string." occurred at refreshing.

public class MyPrefabBuilder : IPrefabBuilder {
	[SerializeField] private string outputFormat = "{0}_prefab";
	public void OnInspectorGUI (Action onValueChanged) {
		var newText = EditorGUILayout.TextField("prefab name", outputFormat);
		if (newText != outputFormat) {
			outputFormat = newText;
			onValueChanged();
		}
         }
}

Ambiguous naming of buttons in Loader and Export Nodes

Original report by Matt D (Bitbucket: DWSMatt, GitHub: DWSMatt).


On the loader node, there is a button that says "Select" and another that says "Select in Project Window". Perhaps "Select" could be renamed to "Open Folder" and "Select in Project Window" could be renamed to "Highlight in Project Window". Same with Export Node: "Select" could be more appropriately named "Open Export Folder". It's just some very trivial observations but would make the interface more intuitive.

Error when Building Example branch

Original report by philmzo NA (Bitbucket: philmzo, ).


Just ran your example and imported AssetBundle Manager asset from the Asset Store to be sure nothing is missing and when building got:

InvalidOperationException: Operation is not valid due to the current state of the object
System.Collections.Stack.Peek () (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections/Stack.cs:321)
UnityEngine.GUILayoutUtility.EndLayoutGroup () (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:289)
UnityEngine.GUILayout.EndHorizontal () (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:291)
UnityEditor.EditorGUILayout.EndHorizontal () (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:6982)
UnityEditor.EditorGUILayout+HorizontalScope.CloseScope () (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:6942)
UnityEngine.GUI+Scope.Dispose () (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUIBindings.cs:27)
AssetBundleGraph.AssetBundleGraphEditorWindow.DrawGUIToolBar () (at Assets/AssetBundleGraph/Editor/GUI/AssetBundleGraphEditorWindow.cs:582)
AssetBundleGraph.AssetBundleGraphEditorWindow.OnGUI () (at Assets/AssetBundleGraph/Editor/GUI/AssetBundleGraphEditorWindow.cs:820)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

Bundlizer resources node contains "AssetBundle"

"
check "output resources" and first connect to another Bundlizer node,
then connect "bundles" output to BundleBuilder node,
It's ZERO to BundleBuilder node, and all asset & assetbundle output on "resources".

If link "bundles" output to BundleBuilder node first, then connet from "resources" to another Bundlizer node, it's OK.
assetbundle output to BundleBuilder node by "bundles" output,
and assets output to another Bundlizer node by "resources" output.
"

37ufse4

should be able to create "filters" to post process assets in memory only

Original report by Charles Floyd (Bitbucket: chbfiv, GitHub: chbfiv).


e.g., dither filter, texture scaler, ...

this more or less allows for virtual assets. In most cases HD is what we develop, and SD, LD are just scaled down assets. The virtual texture scaler could do this without needing additional assets in the project for compute time at build.

e.g.,
Build HD (no changes - 1080p)
Build SD (virtual texture scaler 50%)
Build LD (virtual texture scaler 40%)

the virtual assets is key for large projects with lots of content. We trade build time (compute on build machines) for developer iteration time (HD and/or asset bundles)

PrefabBuilder and incremental asset bundle building

PrefabBuilder always generates a new prefab regardless of whether dependent assets are updated or not. So incremental asset bundle building of Unity5 does not work. Is it possible to add a function that PrefabBuilder generates a new prefab only if sources are changed ?

should be able to have n graphs (not 1 global graph). also should be able to build an individual graph or subgraph

Original report by Charles Floyd (Bitbucket: chbfiv, GitHub: chbfiv).


reason for multiple graphs is if we have shared content between graphs no merged conflicts.

e.g.,

include game x and game y. each game has their own graph so we can add/remove the game from the project without needing to remove/add each games graph to a global graph. also makes graphs more manageable instead of a uber graph.

Window Title Flickers when Building Bundles

Original report by James Marr (Bitbucket: [James Marr](https://bitbucket.org/James Marr), ).


This is actually a Unity bug, not an AssetBundleGraphTool bug, but I thought I would point it out because you guys might have better contacts to get this minor bug fixed.

When Unity puts up its dialog box to show progress while building bundles, the title bar of the window flickers between "Building AssetBundle" and "Building Asset Bundle" (notice the space between Asset and Bundle in the second one).

It's minor, but several people on my team have pointed it out. Feel free to just close this issue :)

NoSpace.png
Space.png

5.6 Beta ABGT OSX with metal enabled has a missing attribute

Original report by Sam Narain (Bitbucket: samnarain, GitHub: samnarain).


On OSX with Metal support, the editor will not draw the background grid and logs errors. Even though ABGT works as expected, the errors will be triggered by the repaint (personal speculation). This error does not occur when the editor is not using the force-metal parameter.

#!txt

Metal: Error creating pipeline state (Hidden/Internal-GUITextureClip): Vertex attribute TEXCOORD0(2) is missing from the vertex descriptor
(null)

Individual Asset Loading

Original report by Matt D (Bitbucket: DWSMatt, GitHub: DWSMatt).


Would it be possible to extend the loader node to incorporate just loading a user-defined list of assets?
I currently have all my scenes additively loaded to a networking scene, which handles all the netcode. So for scene bundles, I need an individual .scene asset from the bundle. Currently, I have a Loader -> Filter Node, which only loads a .scene asset which is filtered with the name. This is just a very trivial preference, but it would be extremely useful.

Slow graph tool when too many assets.

Original report by CaoF (Bitbucket: CaoF, GitHub: CaoF).


  1. 'AssetDatabase.Refresh()' needless in SaveData.Save().
    Because json file read or write from file stream. Dose not using AssetDatabase.

  2. 'Create Loader' is very slow first time(each create times).
    If target folder is ignore root(/Assets) get in 'IntegratedGUILoader.Load(...)' more fast.

  3. 'NodeGUIEditor.DoInspectorLoaderGUI(...)' is problem.
    Load path input each times 'RecordUndoScope' and dispose but disposing call EVENT_SAVE and every times call SaveGraphWithReload(true).
    Only record on text field submit event avoid this problem.

Any plan about performance improving?

There are about 20k files (over 3GB size) in my project.It takes very long time to operate AssetGraph nodes.Such as creating node, modifing name,grouping and filtering assets.It is about 10 seconds costing at first time I create the loader node, but the performace runs to worse quickly when more nodes created.It seems that AssetGraph recalculate the whole nodes even if just only changing the node name.

Or,is it possible to provide an option to refresh nodes by manual to avoid this issue?

Out of memory creating Loader Node

Original report by Anonymous.


After importing the AssetBundleGraph Tool into my project (an asset heavy project of around 24GBs of data), opening the editor window and attempting to create a Loader Node, it used up all my system memory (8GB) and crashed after a while.

Any ideas in how to avoid or potentially fix this memory management problem?

Thanks,
-Leonardo Trocato - Real Frame Interactive

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.