{"id":1978,"date":"2021-07-15T13:52:24","date_gmt":"2021-07-15T17:52:24","guid":{"rendered":"https:\/\/blog.wholetomato.com\/?p=1978"},"modified":"2023-11-21T06:18:50","modified_gmt":"2023-11-21T10:18:50","slug":"unreal-engine-quality-of-life-in-visual-assist-2021-2","status":"publish","type":"post","link":"https:\/\/www.wholetomato.com\/blog\/unreal-engine-quality-of-life-in-visual-assist-2021-2\/","title":{"rendered":"Unreal Engine \u00e2\u20ac\u02dcQuality Of Life\u00e2\u20ac\u2122 in Visual Assist 2021.2"},"content":{"rendered":"\r\n<p>The first two releases of Visual Assist this year contain some great Unreal Engine quality-of-life improvements you may want to take advantage of.<\/p>\r\n\r\n\r\n\r\n<p>While we\u2019ve always announced features in our changelog and release blogs, we\u2019re starting to blog in greater detail about some of what we change \u2014 our <a href=\"https:\/\/www.wholetomato.com\/blog\/2020\/12\/17\/technical-deep-dive-reducing-memory-consumption-in-visual-assist-build-2393\/\" target=\"_blank\" rel=\"noreferrer noopener\">December blog about reducing memory usage<\/a> started this \u2014 and this time we\u2019ll dig a bit more into two changes improving using Unreal Engine with Visual Assist.<\/p>\r\n\r\n\r\n\r\n<p>This applies only to versions 2021.1 and 2021.2, the first two versions this year. If you\u2019re reading from the future, there\u2019s likely much more for UE than is described here!<\/p>\r\n\r\n\r\n\r\n<p>There are two notable items in these versions:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Improving parse times for Unreal Engine projects<\/li>\r\n<li>Removing unwanted generated headers and symbols<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>These mean that your Unreal Engine projects should be fully usable with Visual Assist faster when you open them, and that Visual Assist only shows and uses methods and other symbols that you\u2019re really interested in.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"parse-times\">Parse Times<\/h2>\r\n\r\n\r\n\r\n<p>When a solution is opened in Visual Studio, Visual Assist (VAX) parses that solution. This generates the databases of symbols and other data which VAX uses to be able to implement features like GoTo Related, extra syntax highlighting, parameter info, and so forth.<\/p>\r\n\r\n\r\n\r\n<p>Parsing can take time. Although VAX is not based around a C++ compiler (one of its strengths), parsing is analogous to compiling a project, and while you can use VAX right away, some features require that data before they will work. <a href=\"https:\/\/www.wholetomato.com\/blog\/2022\/05\/24\/do-i-need-to-know-c-for-unreal-engine\/\" target=\"_blank\" rel=\"noopener\">Unreal Engine<\/a> solutions can be very large. Therefore, we spend a lot of thought on how to speed up parse time to make the time between opening a solution and having VAX fully functional be as short as possible.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"avoiding-unnecessary-parsing\">Avoiding Unnecessary Parsing<\/h3>\r\n\r\n\r\n\r\n<p>This following is going to sound ridiculously simple, and it is. What\u2019s the best way to spend less time doing something? Not to do it.<\/p>\r\n\r\n\r\n\r\n<p>We do focus on optimisations; the parse engine is heavily multi-threaded; the database uses considerably less memory than it used to; and other techniques. But ultimately, the best way to reduce parse time is to do less parsing.<\/p>\r\n\r\n\r\n\r\n<p>Unreal Engine projects include plugins. These are additional libraries that add features to your game or project (in-editor or at runtime.) The UE editor lets you enable and disable these, so it\u2019s common to have several installed but only use a subset of them. Yet, the presence of plugins is a key item that makes parsing a UE project lengthier. We added an option to turn off parsing them.<\/p>\r\n\r\n\r\n\r\n<p>In 2021.1 we added an option to disable indexing these plugins. When off, the default, UE plugins were not parsed.<\/p>\r\n\r\n\r\n\r\n<p>However, we realised this was based on a flawed understanding: that if plugins are third-party (as plugins often are) then you may not need them to be parsed into VAX\u2019s memory: after all, we thought, you\u2019re unlikely to do a \u2018find references\u2019 on an internal method of a third-party library. Omitting them from being parsed would not affect day to day use of Visual Assist. But we got feedback that it was more common than we thought for plugins to be first-party: that is, for UE developers to move parts of their game or project\u2019s functionality into a plugin. That means that it was necessary to parse some plugins, and so a simple on\/off parse all-or-none toggle was not useful.<\/p>\r\n\r\n\r\n\r\n<p>In 2021.2 we expanded the setting so that Visual Assist can parse plugins that are genuinely used by your project, only. Today the \u2018Index Unreal Engine plugins\u2019 setting has three options for parsing plugins:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>None: don\u2019t parse anything in the Plugins folder. This reduces parse time the most<\/li>\r\n<li>Referenced: parse only plugins references by the project, and referenced by default. Depending on how many plugins you have installed that are not used, this still reduces parse time. It is the recommended setting<\/li>\r\n<li>All: parse all plugins; there is no reduction in parse time.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1983\" data-permalink=\"https:\/\/www.wholetomato.com\/blog\/visual-assist-unreal-engine-options-2021-2-ue-plugins\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?fit=1625%2C1259&amp;ssl=1\" data-orig-size=\"1625,1259\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"visual-assist-unreal-engine-options-2021.2-ue-plugins\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?fit=300%2C232&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?fit=1024%2C793&amp;ssl=1\" class=\"wp-image-1983\" src=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?resize=457%2C353&#038;ssl=1\" alt=\"\" width=\"457\" height=\"353\" srcset=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?w=1625&amp;ssl=1 1625w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?resize=300%2C232&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?resize=1024%2C793&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?resize=768%2C595&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?resize=1536%2C1190&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?resize=1200%2C930&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-ue-plugins.png?resize=360%2C279&amp;ssl=1 360w\" sizes=\"auto, (max-width: 457px) 100vw, 457px\" data-recalc-dims=\"1\" \/><\/a>\r\n<figcaption>Visual Assist Options dialog, showing the settings to index all, referenced, or no Unreal Engine plugins<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"real-world-performance-improvements\">Real-World Performance Improvements<\/h3>\r\n\r\n\r\n\r\n<p>The amount of time saved by not parsing unused plugins depends on the complexity of your Unreal Engine solution and the specific machine on which Visual Studio runs, but some real-world measurements are as follows:<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1981\" data-permalink=\"https:\/\/www.wholetomato.com\/blog\/visual-assist-ue-plugin-options-chart-annotated\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?fit=1734%2C1310&amp;ssl=1\" data-orig-size=\"1734,1310\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"visual-assist-ue-plugin-options-chart-annotated\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?fit=300%2C227&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?fit=1024%2C774&amp;ssl=1\" class=\"wp-image-1981\" src=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?resize=771%2C582&#038;ssl=1\" alt=\"\" width=\"771\" height=\"582\" srcset=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?w=1734&amp;ssl=1 1734w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?resize=300%2C227&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?resize=1024%2C774&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?resize=768%2C580&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?resize=1536%2C1160&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?resize=200%2C150&amp;ssl=1 200w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?resize=1200%2C907&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?resize=360%2C272&amp;ssl=1 360w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" data-recalc-dims=\"1\" \/><\/a>\r\n<figcaption>Time (minutes and seconds) to fully index an Unreal Engine project, when indexing UE plugins. The percentage annotations are the fraction the Referenced Plugins or No Plugins times are of the time indexing the same project with all plugins.<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>The absolute values may vary but we expect the relative percentage to be broadly applicable.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"notes\">Notes<\/h3>\r\n\r\n\r\n\r\n<p>If you open a file from a plugin folder which was not parsed (either not referenced, or the above setting was set to None), then you will see a notification message that the file was not parsed and Visual Assist won\u2019t provide your expected functionality for that file. This is shown only once, and won\u2019t be shown again until Visual Studio restarts.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"avoiding-parsing-ue-generated-files\">Avoiding Parsing UE-Generated Files<\/h2>\r\n\r\n\r\n\r\n<p>Saving a very useful change for last &#8212; there are many places Visual Assist shows you the symbols and files it\u2019s aware of. The two main windows are Open File In Solution which lists all headers (and other files), and Find Symbol will list every symbol in the database. Unreal Engine, however, generates header files, and these include generated symbols, neither of which are useful in practice when coding on your UE project in Visual Studio.<\/p>\r\n\r\n\r\n\r\n<p>Voila, a new setting, which means Visual Assist won\u2019t show *.generated.h files, and the Find Symbol dialog is not polluted with generated symbols either. The setting is called \u2018Index generated code\u2019 and is off by default. That is, the default is aimed at clean results within Visual Assist, to not index these generated files and store those generated symbols. You can always turn it back on if you want the old behaviour.<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1986\" data-permalink=\"https:\/\/www.wholetomato.com\/blog\/visual-assist-unreal-engine-options-2021-2-generated-code\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?fit=1625%2C740&amp;ssl=1\" data-orig-size=\"1625,740\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"visual-assist-unreal-engine-options-2021.2-generated-code\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?fit=300%2C137&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?fit=1024%2C466&amp;ssl=1\" class=\"wp-image-1986\" src=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?resize=545%2C248&#038;ssl=1\" alt=\"\" width=\"545\" height=\"248\" srcset=\"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?w=1625&amp;ssl=1 1625w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?resize=300%2C137&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?resize=1024%2C466&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?resize=768%2C350&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?resize=1536%2C699&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?resize=1200%2C546&amp;ssl=1 1200w, https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-unreal-engine-options-2021.2-generated-code.png?resize=360%2C164&amp;ssl=1 360w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" data-recalc-dims=\"1\" \/><\/a>\r\n<figcaption>Visual Assist Options dialog showing the checkbox to index generated code. By default it is off, which means the results shown within Unreal Engine will be cleaner<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"unreal-engine-with-visual-assist-2021-1-and-2021-2\">Unreal Engine with Visual Assist 2021.1 and 2021.2<\/h2>\r\n\r\n\r\n\r\n<p>The above covers only the first two releases this year, and we have more planned. However, the parsing speed improvements (including our followup for more granular parsing of plugins) and removing generated files and symbols by default should the general \u2018quality of life\u2019 using Visual Assist with Unreal Engine. As always, feedback is welcome!<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Two new features in Visual Assist mean that your Unreal Engine projects should be fully usable much faster when you open them, and that Visual Assist only shows and uses methods and other symbols that you\u00e2\u20ac\u2122re really interested in.<\/p>\n","protected":false},"author":157625651,"featured_media":1981,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[103,672],"tags":[250493426,3965,23467,1453277],"class_list":["post-1978","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-tips-and-tricks","tag-parse-time","tag-plugin","tag-ue","tag-unreal-engine"],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.wholetomato.com\/blog\/wp-content\/uploads\/2021\/07\/visual-assist-ue-plugin-options-chart-annotated.png?fit=1734%2C1310&ssl=1","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfpLS4-vU","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/1978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/users\/157625651"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/comments?post=1978"}],"version-history":[{"count":11,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/1978\/revisions"}],"predecessor-version":[{"id":3588,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/1978\/revisions\/3588"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/media\/1981"}],"wp:attachment":[{"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/media?parent=1978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/categories?post=1978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wholetomato.com\/blog\/wp-json\/wp\/v2\/tags?post=1978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}