UDN
Search public documentation

ContentTagging
Licensees can log in.

Red links require licensee log in.

Interested in the Unreal engine?
Check out the licensing page.

Questions about UDN itself?
Contact the UDN Staff

Content Tagging Browser

Document Summary: Quick guide to the content tagging browser.

Document Changelog: Created by Ray Davis; updated by James Golding.

Overview

The content tagging browser is meant to be a quicker way to find content spread through a game's packages without actually having to load those packages. Individual assets can have a set of pre-defined tags assigned to them (via right-clicking the Generic Browser) which is then saved to a database independent of the package. The content tagging system is meant to work apart from the normal package naming system and instead should enable users to view data purely on its utility rather than its location.

How To Tag An Asset

  • Load a package in the Generic Browser and then select the desired asset. (Static Mesh, Material, or Particle System)
  • Right-click on the asset and select "Set content tags" from the context menu.

SetContentTag.jpg

  • Select the desired tags from the checklist box on the left and click "Okay".

SetContentTag_Dialog.jpg

  • Save the modified package and you're done.

The tags should now be visible in the thumbnail view in the Generic Browser and the tags have automatically been added to the local index where it can be searched for using the Tag Browser.

Tagging Multiple Assets

Multi-selecting assets of the same type in the generic browsing (by holding control while selecting) will apply the selected tags from the dialog to all selected assets.

How To Search For Assets Using Tags

  • Open up the "Content Tags" browser (found in the same window as the Generic Browser, Actor Browser, etc).

TagBrowser.jpg

  • On the top-left from the "Asset Type:" combobox select which asset type you would like to search. For this example we're going to look at some tagged Material assets:

TagBrowser_Asset.jpg

  • Below that in the "Base Tags:" checklist select which tags you would like to see the assets for. A list of assets that contain one of the selected tags will be loaded and displayed on the right. For this example let's look at any Material that is "COG" or "Wall":

TagBrowser_Base.jpg

  • The "Additional Tags:" checklist will automatically be filled with any tags also contained by the loaded assets, which can be unselected to reduce the scope of displayed assets on the right. For this example let's filter to only see Material that are "COG" or "Wall" and "Floor":

TagBrowser_Filter.jpg

Whenever you begin to select tags the browser will automatically load those assets from their original packages so that they can be used as though they were selected in the Generic Browser. No packages need to be loaded in order to search for them using the "Content Tags" browser. Right-clicking on an asset in the right viewport will bring up a context menu so that tags can be modified directly, or the asset can be synched into the Generic Browser (much like synching the Generic Browser via the property window).

How The Tag Database Works

Anytime content is tagged in the editor those changes are immediately saved to a local database named "LocalContentTagIndex.upk" in the project's content folder. A separate process run via a commandlet extracts the tags from all content and places it into a reference database named "RefContentTagIndex.upk" which should be located in source control. This reference database contains versioning information so that the local database will always be in sync with the latest content tags in source control, but also contain local edits not yet submitted to source control.

Internally we generate the reference database as part of the automated build process, so on a (roughly) daily basis everyone will receive the latest tagging information allowing them to search for content across packages they might not even be aware of.

How To Add Entirely New Tags

Possible tags are read from the project XXXEditor.ini file, so modifying DefaultEditor?.ini will allow you to add new tags that are exposed to the "Set content tags" dialog. For Gears of War we currently have an entry that looks like the following:

[Editor.ContentTagIndex]
+DefaultTags=(AssetTypeName="Engine.StaticMesh",Tags=(Wood,Metal,Concrete,Rock,Door,Wall,Roof,Column,Corner,Cover,Fracture,Foliage,Tree,Trash,Mountain,Interior,Exterior,Light,Pipe,Machine,Vehicle,Weapon,Character,COG,Locust,Electronic,Sign,Decoration,Trim,Rubble,Facade,Window,Arch,Sky)))
+DefaultTags=(AssetTypeName="Engine.ParticleSystem",Tags=(Explosion,Smoke,Blood,Dust,Fire,Spark,Water,MuzzleFlash,Liquid,Impact,Imulsion,Electricity,Weapon,Ink))
+DefaultTags=(AssetTypeName="Engine.Material",Tags=(Wood,Metal,Brick,Concrete,Stone,Asphalt,Rock,Snow,Ice,Water,Imulsion,Organic,Tiling,Foliage,Trim,Floor,Door,Roof,Column,Trash,Tree,Interior,Exterior,Ceiling,Wall,Damaged,Decal,LightFunction,COG,Locust,Neutral,Stranded,Character,Weapon,Vehicle,Mechanical,Blood,Sign,Glass)))

Please note that the DefaultTags only dictate the contents of the "Set content tags" dialog - i.e. removing a default tag does not automatically remove that tag from all content. Deprecated tags will exist in the content until someone manually removes them.