# ValueClips "inifinite" looping

**URL:** <https://forum.aousd.org/t/valueclips-inifinite-looping/2214>\
**Category:** USD\
**Created:** [February 7, 2025, 8:25am UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214 "2025-02-07T08:25:33Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![mreinhard](https://avatars.discourse-cdn.com/v4/letter/m/f07891/32.png) [@mreinhard](https://forum.aousd.org/u/mreinhard)\
**Post date:** [February 7, 2025, 8:25am UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/1 "2025-02-07T08:25:33Z")

</div>

Hi,  
it seems like ValueClips is the go-to for ‘keep-alive’ animation, as also described in the docs.  
Say I have an asset with a 25 frames of animation that is supposed to cycle.  
That asset is referenced lots of times in a big set. To throw in some variation, an artist authors different layer offsets on the references.  
Now we are treating a gigantic 2000 frame shot.  
Ideally I would look for a ‘cycleThatClipInfinitely’ metadata, but it seems like I need to author the ‘times’ metadata of the clip explicitly.  
I see 2 possibilities:

1. Author the times already in the referenced asset itself.  
This means that I need to know the maximum extend of stageTime+layerOffset that will be used for this asset in its production life-cycle. Or I try to stay safe and just author cycling times from -10000 to 10000… and hope for the best.

2. Author the times metadata in each shot on all the prims that carry references. This will allow to get exactly the right amount of entries over the length of the shot. But it requires quite some tooling and instead of saying “reference this looping asset with offset x”, I now need to have the tool do “reference the asset with offset x, check also from where to where it has it’s basic cycle defined and author the necessary metadata”, which seems not very intuitive.

How is this supposed to work ?  
Thanks !  
Marcel

---

<div class="post-metadata">

**Author:** ![patricknagle](https://avatars.discourse-cdn.com/v4/letter/p/f17d59/32.png) [@patricknagle](https://forum.aousd.org/u/patricknagle)\
**Post date:** [February 12, 2025, 12:28am UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/2 "2025-02-12T00:28:32Z")

</div>

I am curious about this as well - any insights would be super helpful!

---

<div class="post-metadata">

**Author:** ![spiff](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.aousd.org/spiff/32/22_2.png) [@spiff](https://forum.aousd.org/u/spiff)\
**Post date:** [February 14, 2025, 1:25am UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/3 "2025-02-14T01:25:19Z")

</div>

We talked this over, and agree that providing a looping ability for Value Clips (especially the “simple” version that derives the interval-to-loop from either the `times` field or `templateStartTime`/`templateEndTime`) should be quite possible in our design for Value Clips, and also quite useful.

The one hitch we don’t have a super-satisfying answer for is what we would then do about the two UsdAttribute methods that deal in “all the timeSamples”, i.e. `GetTimeSamples()` and `GetNumTimeSamples()`, since by current definitions, they would, in such cases, return either zero or an infinite number of samples, which we obviously can’t do. We don’t use those queries in any of our code because they are already horrendously expensive and generally unnecessary (`GetTimeSamplesInInterval()` is almost always what you want), but it likely would involve breaking the uniform logic of these methods and interrogating only the _authored_ clip samples for just those methods.

This could fit into a larger project we have coming up… would someone care to file an Issue for this, please?

---

<div class="post-metadata">

**Author:** ![mreinhard](https://avatars.discourse-cdn.com/v4/letter/m/f07891/32.png) [@mreinhard](https://forum.aousd.org/u/mreinhard)\
**Post date:** [February 14, 2025, 7:59pm UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/4 "2025-02-14T19:59:18Z")

</div>

Thank you very much the info, Sebastian !  
I’ll go ahead and file the issue !

---

<div class="post-metadata">

**Author:** ![nick\_blur](https://avatars.discourse-cdn.com/v4/letter/n/8baadc/32.png) [@nick\_blur](https://forum.aousd.org/u/nick_blur)\
**Post date:** [December 11, 2025, 8:57pm UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/5 "2025-12-11T20:57:11Z")

</div>

Curious where things ended up with this in the end.  
This would be immensely useful!

---

<div class="post-metadata">

**Author:** ![spiff](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.aousd.org/spiff/32/22_2.png) [@spiff](https://forum.aousd.org/u/spiff)\
**Post date:** [December 11, 2025, 10:30pm UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/6 "2025-12-11T22:30:16Z")

</div>

I can’t find any Issue that was ever posted? Now that we have had to add support for infinitely looping splines, it almost seems like an inconsistency that value clips don’t support it (and you’ll soon be able to have infinite splines **inside** of value clips), though it will require some additional/different mechanism to support. @Nick , please go ahead and file an Issue if you’d like?

---

<div class="post-metadata">

**Author:** ![nick\_blur](https://avatars.discourse-cdn.com/v4/letter/n/8baadc/32.png) [@nick\_blur](https://forum.aousd.org/u/nick_blur)\
**Post date:** [December 11, 2025, 11:04pm UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/7 "2025-12-11T23:04:30Z")

</div>

I would love to, but I’m honeslty unsure how to file a ticket

---

<div class="post-metadata">

**Author:** ![spiff](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.aousd.org/spiff/32/22_2.png) [@spiff](https://forum.aousd.org/u/spiff)\
**Post date:** [December 12, 2025, 12:05am UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/8 "2025-12-12T00:05:32Z")

</div>

All you need to do is hit the “New Issue” button in the upper right hand corner here: [GitHub · Where software is built](https://github.com/PixarAnimationStudios/OpenUSD/issues)

---

<div class="post-metadata">

**Author:** ![mreinhard](https://avatars.discourse-cdn.com/v4/letter/m/f07891/32.png) [@mreinhard](https://forum.aousd.org/u/mreinhard)\
**Post date:** [December 12, 2025, 7:59am UTC](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/9 "2025-12-12T07:59:45Z")

</div>

Hey all,  
I am sorry, I got side-tracked back then and actually never created the issue.  
This is done now:

> <https://github.com/PixarAnimationStudios/OpenUSD/issues/3923>
>
> Hello,
> 
> since ValueClips are the go-to solution for keepAlive animation, we are …missing a mechanism to define a looping behavior.
> A direct use case has been discussed \[in the forum\](https://forum.aousd.org/t/valueclips-inifinite-looping/2214/2).
> 
> It seems to be sufficient if the implementation derives the interval-to-loop from either the "times" field or "templateStartTime/templateEndTime".
> 
> Thanks a lot !
> Marcel

Thanks a lot !  
Marcel
