Fusion UI | Can't figure out tweening

I’m trying to use a UI Framework called Fusion,
In the framework it has a custom tweening module which I can’t figure out…

  1. What do you want to achieve?
    I want to tween certain properties with the in-built State object function

  2. What is the issue?
    Instead of tweening the ‘Position’ property, It changes the value instantly.
    video:

  3. What solutions have you tried so far?
    I’ve copied the exact same setup as the tutorial, No results

    Code bits attempted: {
    Position = _G.Fusion.Tween(position, EASE),
    Position = _G.Fusion.Tween(position, EASE):get(),
    Position = position,
    Position = position:get()
    }

Source:

_G.Fusion = require(Client.UI.Fusion)
_G.UI_Screen = script.Parent.UI_Screen

local UI = Client.UI
local Components = UI.Components
local Buttons = Components.Buttons
local Frames = Components.Frames

local EASE = TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut)
local position = _G.Fusion.State(UDim2.fromScale(0.25, 0.25)) --Tween state

_G.Fusion.New "Frame" {
	Name = ("test"),
	Parent = script.Parent.UI_Screen,
	Position = _G.Fusion.Tween(position, EASE), --Set tween
	Size = UDim2.fromScale(0.5, 0.5)
}

position:set(UDim2.fromScale(0.4, 0.8)) --Doesn't tween

delay(6, function()
	position:set(UDim2.fromScale(0.7, 0.35)) --Doesn't tween
end)

delay(12, function()
	position:set(UDim2.fromScale(0.3, 0.5)) --Doesn't tween
end)

Fusion github: Fusion
Any help is appreciated

I personally have never used fusion, but i imagine that the :set function changes the property and doesn’t tween it Source. If you wish to tween there seems to be a Page for that. (Correct me if i am wrong.)

I’ve looked at the page-
Also used the exact same example but I got no results, Just static property changes.
I used this example
image

There’s a bug in Fusion v0.1-beta that you need to set the repeatCount in
imageTweenInfo to 1 to make the tween run correctly.

For example:

local EASE = TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 1)
_G.Fusion.New "Frame" {
	Name = ("test"),
	Parent = script.Parent.UI_Screen,
	Position = _G.Fusion.Tween(position, EASE),
	Size = UDim2.fromScale(0.5, 0.5)
}
2 Likes