The Godot Q&A is currently undergoing maintenance!

Your ability to ask and answer questions is temporarily disabled. You can browse existing threads in read-only mode.

We are working on bringing this community platform back to its full functionality, stay tuned for updates.

godotengine.org | Twitter

0 votes

I'd like to know how much memory a node or class takes.

Godot version 3.2.4.rc1
in Engine by (84 points)

1 Answer

+1 vote
Best answer

Simply convert your node or class to a PoolByteArray

var sizeof = 0
for bit in var2bytes(node):
    sizeof += bit
by (6,942 points)
selected by

I'm not sure if I am doing something wrong, but I always get the same results.

class Test:
    var a := 0

func _ready() -> void:
    var test := Test.new()
    var sizeof := 0
    for bit in var2bytes(test):
        sizeof += bit
    print(sizeof)

Output: 33


class Test:
    var a := "Test"

func _ready() -> void:
    var test := Test.new()
    var sizeof := 0
    for bit in var2bytes(test):
        sizeof += bit
    print(sizeof)

Output: 33

Interesting. seams like var2bytes was not incorrectly named

Looks like it may be correct. So i did a test of your posted code
using File.store_var(entity) and File.get_len() and in both tests got the same filesize even when saving it to disk so this may be the best option.

I will just mark this question as answered. Thanks for replying

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.