Checks
Problem description
When using the official 3D Model plugin with a glTF model, changing the animation successfully updates the visual WebGL renderer, but the CurAnimation expression does not update to reflect the new state. It remains stuck on the model's base state/Index 0 animation.
Upload a project
3D Car Model_Bug Report Version.zip
Steps to reproduce
- Import a 3D model (glTF) that contains multiple animations (e.g., a default "_RESET" animation and a "Drive" animation).
- Place the official 3D Model object in the layout.
- In the event sheet, trigger an action to change the animation: 3D Model: Set animation to "Drive".
- Run the layout and output the 3DModel.CurAnimation expression to a Text object to monitor its value.
Observed result
The 3D model visibly plays the "Drive" animation perfectly on screen, but the CurAnimation expression remains stuck returning "_RESET".
Because the engine logic does not register the animation change, any events checking the current animation state fail. For example, using a system condition 3DModel.CurAnimation ≠ "Drive" to act as a trigger-once gatekeeper will constantly evaluate as true, causing the animation action to fire every single tick and locking the model on frame 0.
Expected result
The CurAnimation expression should return "Drive".
Affected platforms
Windows
Affected browsers
Edge
Last unaffected release (including beta releases)
No response
First affected release (including beta releases)
No response
Additional remarks
I'm not a programmer by trade, I used Google Gemini's help to get to the bottom of the problem I was having. I was originally using the 3D Model's "CurAnimation" expression to control the animation. I've since fixed it, but I think this is a bug, and so I'm sharing it with you.
Platform information
Platform information
Product: Construct 3 r487.3 (stable)
Browser: Edge 149.0.4022.69
Browser engine: Chromium
Context: webapp
Operating system: Windows 11
Device type: desktop
Device pixel ratio: 1.25
Logical CPU cores: 16
Approx. device memory: 16 GB
User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36 Edg/149.0.0.0
Language setting: en-US
Local storage
Storage quota (approx): 10 GB
Storage usage (approx): 311 MB (3%)
Persistent storage: No
Browser support notes
This list contains missing features that are not required, but could improve performance or user experience if supported.
Nothing is missing. Everything is OK!
WebGPU information
Renderer: WebGPU
Compatibility mode: no
Supports GPU profiling: yes
Major performance caveat: no
Maximum texture size: 16384
Adapter vendor: amd
Adapter architecture: gcn-5
Adapter device: (unavailable)
Adapter description: (unavailable)
Adapter type: (unavailable)
Adapter backend: (unavailable)
Adapter features:
bgra8unorm-storage
clip-distances
core-features-and-limits
depth-clip-control
depth32float-stencil8
dual-source-blending
float32-blendable
float32-filterable
indirect-first-instance
primitive-index
rg11b10ufloat-renderable
shader-f16
subgroups
texture-component-swizzle
texture-compression-bc
texture-compression-bc-sliced-3d
texture-formats-tier1
texture-formats-tier2
timestamp-query
Audio information
System sample rate: 48000 Hz
Output channels: 2
Output interpretation: speakers
Supported decode formats:
WebM Opus (audio/webm;codecs=opus)
WebM Vorbis (audio/webm;codecs=vorbis)
MPEG-4 Opus (audio/mp4;codecs=opus)
MPEG-4 AAC (audio/mp4;codecs=mp4a.40.2)
MP3 (audio/mpeg)
FLAC (audio/flac)
PCM WAV (audio/wav;codecs=1)
Supported encode formats:
WebM Opus (audio/webm;codecs=opus)
MPEG-4 Opus (audio/mp4;codecs=opus)
MPEG-4 AAC (audio/mp4;codecs=mp4a.40.2)
Video information
Supported decode formats:
WebM AV1 (video/webm;codecs=av01.0.00M.08)
WebM VP9 (video/webm;codecs=vp9)
WebM VP8 (video/webm;codecs=vp8)
MPEG-4 AV1 (video/mp4;codecs=av01.0.00M.08)
MPEG-4 H.265 (video/mp4;codecs=hev1.1.2.L93.B0)
MPEG-4 H.264 (video/mp4;codecs=avc1.420034)
Supported encode formats:
WebM AV1 (video/webm;codecs=av01.0.00M.08)
WebM VP9 (video/webm;codecs=vp9)
WebM VP8 (video/webm;codecs=vp8)
WebM H.264 (video/webm;codecs=avc1.420034)
MPEG-4 AV1 (video/mp4;codecs=av01.0.00M.08)
MPEG-4 VP9 (video/mp4;codecs=vp9)
MPEG-4 H.264 (video/mp4;codecs=avc1.420034)
Checks
Problem description
When using the official 3D Model plugin with a glTF model, changing the animation successfully updates the visual WebGL renderer, but the CurAnimation expression does not update to reflect the new state. It remains stuck on the model's base state/Index 0 animation.
Upload a project
3D Car Model_Bug Report Version.zip
Steps to reproduce
Observed result
The 3D model visibly plays the "Drive" animation perfectly on screen, but the CurAnimation expression remains stuck returning "_RESET".
Because the engine logic does not register the animation change, any events checking the current animation state fail. For example, using a system condition 3DModel.CurAnimation ≠ "Drive" to act as a trigger-once gatekeeper will constantly evaluate as true, causing the animation action to fire every single tick and locking the model on frame 0.
Expected result
The CurAnimation expression should return "Drive".
Affected platforms
Windows
Affected browsers
Edge
Last unaffected release (including beta releases)
No response
First affected release (including beta releases)
No response
Additional remarks
I'm not a programmer by trade, I used Google Gemini's help to get to the bottom of the problem I was having. I was originally using the 3D Model's "CurAnimation" expression to control the animation. I've since fixed it, but I think this is a bug, and so I'm sharing it with you.
Platform information
Platform information
Product: Construct 3 r487.3 (stable)
Browser: Edge 149.0.4022.69
Browser engine: Chromium
Context: webapp
Operating system: Windows 11
Device type: desktop
Device pixel ratio: 1.25
Logical CPU cores: 16
Approx. device memory: 16 GB
User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36 Edg/149.0.0.0
Language setting: en-US
Local storage
Storage quota (approx): 10 GB
Storage usage (approx): 311 MB (3%)
Persistent storage: No
Browser support notes
This list contains missing features that are not required, but could improve performance or user experience if supported.
Nothing is missing. Everything is OK!
WebGPU information
Renderer: WebGPU
Compatibility mode: no
Supports GPU profiling: yes
Major performance caveat: no
Maximum texture size: 16384
Adapter vendor: amd
Adapter architecture: gcn-5
Adapter device: (unavailable)
Adapter description: (unavailable)
Adapter type: (unavailable)
Adapter backend: (unavailable)
Adapter features:
bgra8unorm-storage
clip-distances
core-features-and-limits
depth-clip-control
depth32float-stencil8
dual-source-blending
float32-blendable
float32-filterable
indirect-first-instance
primitive-index
rg11b10ufloat-renderable
shader-f16
subgroups
texture-component-swizzle
texture-compression-bc
texture-compression-bc-sliced-3d
texture-formats-tier1
texture-formats-tier2
timestamp-query
Audio information
System sample rate: 48000 Hz
Output channels: 2
Output interpretation: speakers
Supported decode formats:
WebM Opus (audio/webm;codecs=opus)
WebM Vorbis (audio/webm;codecs=vorbis)
MPEG-4 Opus (audio/mp4;codecs=opus)
MPEG-4 AAC (audio/mp4;codecs=mp4a.40.2)
MP3 (audio/mpeg)
FLAC (audio/flac)
PCM WAV (audio/wav;codecs=1)
Supported encode formats:
WebM Opus (audio/webm;codecs=opus)
MPEG-4 Opus (audio/mp4;codecs=opus)
MPEG-4 AAC (audio/mp4;codecs=mp4a.40.2)
Video information
Supported decode formats:
WebM AV1 (video/webm;codecs=av01.0.00M.08)
WebM VP9 (video/webm;codecs=vp9)
WebM VP8 (video/webm;codecs=vp8)
MPEG-4 AV1 (video/mp4;codecs=av01.0.00M.08)
MPEG-4 H.265 (video/mp4;codecs=hev1.1.2.L93.B0)
MPEG-4 H.264 (video/mp4;codecs=avc1.420034)
Supported encode formats:
WebM AV1 (video/webm;codecs=av01.0.00M.08)
WebM VP9 (video/webm;codecs=vp9)
WebM VP8 (video/webm;codecs=vp8)
WebM H.264 (video/webm;codecs=avc1.420034)
MPEG-4 AV1 (video/mp4;codecs=av01.0.00M.08)
MPEG-4 VP9 (video/mp4;codecs=vp9)
MPEG-4 H.264 (video/mp4;codecs=avc1.420034)