"Convert to Persistent Symbol" unexpected behavior

How can I have text and image elements that retain their content and ID/class attributes across all scenes, but behave like regular elements in the timeline? Persistent Symbols are impossible to use.

  1. (1a) Can’t align the timing of animations in a symbol to animations in the main timeline, which also means (1b) they are not able to be adjusted by selecting multiple elements at once.

  2. Can’t align the position of elements in the symbol to elements outside the symbol at specific points in the timeline without toggling back and forth to change the position of the playhead in the main timeline.

  3. The symbol renders as blank space in the main timeline, (3a) making previews meaningless and (3b) making it impossible to align anything in the main timeline to symbol content in any way.

Shouldn’t sub-timelines be a separate feature? Or at least have symbols render their elements within the main timeline as well.

Thanks for this feedback.

Since persistent symbols generally run across scenes/layouts, there's not a specific notion of a persistent's symbol being tied to the main timeline of any particular scene or layout. If you want to tie them together, you can do so by adding a symbol action (found alongside the properties list for the element) to play a specific timeline. Now this will be reflected on the main timeline and can be moved. It also means that you can better align items based on time when there are symbol actions; even if you need to remove it later you can use this when designing.

(Regular symbols will add a symbol action to play its main timeline by default on its parent. We just don't do this for persistent symbols since their main timeline is triggered on the first appearance and not by a particular scene.)

My recommendation would be to add vertical/horizontal guides in this case.

I believe adding a symbol action will help solve this problem. Also I do recommend previewing more on the browser-side when dealing with intricate symbol flows or multiple timelines.

Perhaps my needs are much simpler than persistent symbols are intended for. I just want to be able to set the source of an image or the text content/font/color… in a single place and have it applied to all scenes that element appears—each instance of the element.

Well, if you’re looking to do this dynamically (not in Hype’s editor, but when a user is viewing the animation) Persistent Symbols are probably an easy method. Otherwise you could write some code that is run on each scene load to set elements with a particular class.

Nothing “dynamic” about it. Persistent symbols make it incredibly difficult to reuse elements, which is why I started this topic. I believe I’ve already explained the difficulties I encountered trying to use persistent symbols.

As you mentioned wanting to access by id, I thought you may want to do something on the fly with it. Regular symbols would probably also get the job done if you’re simply looking to make edits across multiple scenes/layouts.

Maybe the documentation was just unclear to me, and these responses have confused me further? Very specifically, this is one thing I am trying to do:

Create a text element that will be used in each scene. When I edit the text in one place, it is updated in all scenes. Same with an image element’s source. I want (read: need) to be able to see these elements and manipulate them exactly like normal elements in the scene, as apposed to “scenes within scenes”. They’re regular elements in every respect except that when the text or image source is changed in one scene, it changes for all of them.

all or nothing.
create symbol from selection.
any changes of properties affecting elements within this this will change their appearance in every instance …

clear and simple

That adds nothing to the conversation. I have stated plainly what I’m trying to do. Instead of saying, “Hype can’t do that,” people are giving responses that do not address my topic as if you are providing a real answer. That is supremely unhelpful.

so, elements within a symbol will sync text and will sync any other properties changes …

that’s what you can do!

what is not possible:
sync one property (say text), but don’t sync other properties (say scale)

edit: perhaps you can post a simplified exampledocument, this normally helps a lot in understanding for others reading your post

After a bit more experimentation, I think regular symbols will do what I want! I got wrapped up in the persistent version.

1 Like