Changing source file directory (managing File links)

Hi All,

Got one I have not found an answer for (might have been searching wrong…!).

I have a project folder set up for the various set ups we have. Sometime I duplicate the folder to use as a base, so all the (images) files etc. are duplicated as well.

What I have found is that Hype does not reference the duplicated folder for the files but still references the original version, meaning I have to then relink all the (image) files in the new version to now reference the new location, i.e. Hype is not doing it automatically.

It’s a total pain and slows things down… a lot.

Is there a quick way to change the referenced location in one hit, rather than having to do each (image) file within a project one at a time?



Can you clarify when you say project folder , if you are talking about an exported folder ( .hyperesources) and it’s html or a Hype Document (.hype). And also where and how are you making the changes.

Ah! The working folder, not the exported folder.

In it we have the .hype files and any/all other resources such as images needed for the project.

So we are then working on a duplicated project working folder/file but the .hype is still referencing the original working folder’s files, not the new one.

That does not sound normal to me. Are you hard coding the image paths in the original?

Nope, not touching the coding.

So how are you re referencing them

Just drag and dropping them into the doc. So I gather the code being written is creating an absolute path, rather than a relative path.

It’d be nice to have a feature like in Illustrator etc. when you change the path for one file, that you are asked if you’d like to update all the others in the folder.

When you duplicate items that are referenced in the Resources Library, Hype doesn’t know about that duplication, so it won’t know when you update those files. You’ll need to modify the original file (in its original location) to maintain that linkage. We have received requests for managing this linkage to use a different set of files so I will add your vote to that feature.

For now, the only workaround I can offer is that you modify images on a server, and use hard links to reference images ( – thought this doesn’t allow you to manage the assets in the resource library.

Hey Daniel,

Thanks, that’s the conclusion I came to and relinked some 60 odd files one at a time!! Luckily we don’t need to do this all too often but it’d be nice to have that feature as once you have a complex setup you want to reuse, relinking is a bit of a pain.


1 Like

Same problem here. Quickly wanted to localize .pngs and duplicated the hype document to another folder. But nevertheless always the old folder got referenced by the new hype document. Tried to change the paths in the data.plist (“show package contents” on the .hype document), but that did not have an effect either.
Please help!


I just began using Hype about a month ago and am very, very grateful for it! I’ve moved to it from Adobe Edge Animate because of Adobe’s discontinuing support for EA.

My specific use case for using EA and now Hype is for developing IAB standard display Ad Units. Historically (up to a year ago), these had been developed in Adobe Flash until the world had finally had enough of Flash… lol. The can still be created in Adobe Animate CC (the replacement for Flash) but the element is lacking in many ways when it comes to interactivity via JS and accessibility.

Bearing my use case in mind, I found this issue because I need to be able to duplicate projects as well. You see, the creative I work with is mostly the same (99% of the time) across the various ad unit sizes (e.g. 160x600px or 300x250px, etc). Though the stage sizes change between units, the creative is almost always the same and makes use of the same extracted image assets - which I store outside of the project directory to reduce file duplication - I should also mention, I use Git to version control my projects.

What I usually do is start with the largest unit size (e.g. Wide Skyscraper or 160x600) and then duplicate the first ad unit’s project folder to begin working on the next ad size. The images that I extract from the original creative (*.svg files, *.png files, etc.) do not need to be re-sized and/or re-extracted from the original creative (an *.ai or *.psd file) - most of them are the same across all unit sizes. After duplicating the first ad unit’s folder, I just change the variables in the Hype project like the stage size and then re-position elements as needed across the timeline.

So, with all the above in mind, I can tell you that it’s a massive pain to re-link files. Edge Animate used to store references to external assets as relative paths if they were located in the same Volume (in Windows terms, the same drive). I dug into the “*.hype” file/directory and can even point out exactly how Hype is tracking the original assets - it’s in the PROJECT_DIR/project.hype/data.plist file. The individual images are watched using the full absolute path under the key, “originalPath”. I’m guessing that path is what Hype is passing to its file watcher.

Could we make it possible to specify relative paths to the linked original files? For example, my project’s file structure looks like this:

  • project-wrapper-dir
    • assets-dir
      • 160x600-images
      • 300x250-images
      • svgs
      • fonts
    • project-dir
      • project.hype
      • project.hyperesources
      • css-dir
      • js-dir

It would be great if the “originalPath” key could look like, “…/assets/svgs/somesvg.svg” instead of “/Volumes/work/imedias/project-wrapper-dir/assets-dir/svgs/somesvg.svg”.

Implementing relative paths (when needed) would be just such a very, very big life saver! It would allow a Hype user to re-purpose projects on the fly with references to external files and thus, would reduce clutter and local file storage.

In the interim, what I do is run a text search and replace for the absolute path to point it to another on data.plist and that seems to get things working.

Oh, btw, in order to gain access to the “data.plist” file (in case you’d like to try the same), you can open the “project.hype” file in Finder using the “Go to Folder” option under “Go”. Just type in the full path ending with the “*.hype” file name and Finder will open it as a folder. You’ll see the data.plist file there.

Hope this helps and thanks once again Tumult team!

Thanks for this detailed feedback along with your use case, it is really valuable especially as supporting users making ads has become very important to us! I’ve been brainstorming ways to revamp how Hype handles resources, so hopefully they will be easier to deal with in the future.

The one issue with external resources is that Hype is a sandboxed app (a requirement to be on the App Store); this means that it does not have full filesystem visibility. This would make reading files outside of a .hype document a bit tricky and require more user intervention than we’d like.

I’m truly grateful that you’re looking into this issue with much attention. I totally get that you need to work with the OS’s restrictions. My fingers are crossed - I hope a way forward will become clear soon!

By the by, if more user interaction is needed, I can tell you, I’d totally be fine with that. You see, if you look at Adobe Flash (and Animate CC), they both handled this by providing an “assets” dialogue. You’d set the location of “libraries” for AS3 (e.g. greensock tweenmax, etc.) and that’s how it’d retain that stuff. From the end user perspective, I was never asked for additional permissions by OSX (I have used Animate CC on my Mac) when setting these library paths. The most important thing to note here was that Adobe respected relative paths as well as absolute paths. That made things REALLY flexible!!!

Again, thank you for being so actively interested in your forums and your user’s requests!!! Have an awesome day! :smile:

1 Like

Thanks, that’s a good data point. Hype and Edge definitely took different paths on resource management, with tradeoffs in both approaches. Lucky for Adobe, they don’t need to sandbox their apps since they do not sell in the Mac App Store!

Ah, so it’s the App Store that imposes the restriction. Good to know - didn’t know about that till now - thanks for the info. :smile:

Hi Daniel… any update on this feature request?

I had an issue today where Im building ads, and the ‘creative’ keeps making changes, but wants me to keep versions incase we go back. The changes were in the linked image files… and I couldn’t think of an easy way to keep versions like this. If i change the source image, all versions will get updated.

Would be nice to be able to have a /links/ folder like indesign, where you Indesign looks first for missing links.
Or, even if you could multi-select things in the resources pane, and just choose a new folder where they are all now kept (and hype would search the folder for assets with the same name as the old ones)

Hope to hear an update soon : )


If anyone else is trying to find the data.plist file, I couldnt get the Go To Folder thing working, but right clicking your hype file and choosing ‘Show Package Contents’ works :slight_smile:

Any progress on this? I have a project (actually many) where I need to replace about 240 SVG files 6-8 times. Doing the replacements in the resources folder helps. But only a little.
What makes this especially frustrating is that each time I know I'm only changing the name of one folder (near the end of path) to another name. So, a few thousand mouse actions versus a handful.
Crazy since I generate all the SVG files and their various folder-sorted iterations in about 15 seconds (using a non App Store app that is struggling with the latest sandboxing MacOS versions).
-Thanks, Brian

I'm a little hazy on the exact operations you're doing (feel free to take a small video capture), but since the original post these features have been added:

  • If you drag in multiple files into the resource library with the same name as existing files, it will ask to replace them all.
  • You can override resource paths at export time via an Export Script
  • You can override resource paths at runtime via a JavaScript hook of HypeResourceLoad

First option works great!! Will save me hours and hours of mindless tedium
I'll eventually explore the other options... they sound useful.
Thank you! So happy I logged in to ask

1 Like