Library to read metadata from Unity3d asset files when "Asset Serialization" mode is "Force text".
- Tested on Unity 5.3.6
- 100% unit test code coverage.
- FxCop validated.
- Code duplicated verification.
- Good (and well used) design patterns.
Just call the line below to initilize all default services.
MetadataBootstrap.Setup();
var log = MetadataBootstrap.Log;
var service = MetadataBootstrap.ScriptMetadataService;
var scriptsMetadata = service.GetScripts();
foreach(var sm in scriptsMetadata)
{
Log.Debug("FileId: {0}", sm.FileId);
Log.Debug("FullName: {0}", sm.FullName);
Log.Debug("Name: {0}", sm.Name);
Log.Debug("Guid: {0}", sm.Guid);
}
var log = MetadataBootstrap.Log;
var service = MetadataBootstrap.PrefabMetadataService;
var prefabsMetadata = service.GetPrefabs();
foreach(var pm in prefasMetadata)
{
Log.Debug("Name: {0}", pm.Name);
Log.Debug("Path: {0}", pm.Path);
Log.Debug("MonoBehaviours count: {0}", pm.MonoBehaviours.Count());
Log.Debug("Materials count: {0}", pm.Materials.Count());
}
var prefabService = MetadataBootstrap.PrefabMetadataService;
var prefabs = prefabService.GetPrefabs();
var typeService = MetadataBootstrap.TypeService;
var assetRepository = MetadataBootstrap.AssetRepository;
foreach (var prefab in prefabs)
{
var missingMonoBehaviours = prefab.GetMissingMonoBehaviours(assetRepository, typeService);
prefabService.FixMissingMonobehaviours(prefab, missingMonoBehaviours);
}
Having troubles?
- Ask on Twitter @ogiacomelli.
- Ask on Stack Overflow.
Create a fork of Giacomelli.Unity.Metadata.
Did you change it? Submit a pull request.
Licensed under the The MIT License (MIT). In others words, you can use this library for developement any kind of software: open source, commercial, proprietary and alien.